ПрограммированиеФорумГрафика

Рендер как в Minecraft-е - кто нибудь знает основные "секреты"? (101 стр)

Страницы: 196 97 98 99 100 101
#1500
6:53, 13 окт 2018

Татарин
Хороший мод, но немного не то, что надо.
Там просто прикрутили physix, а мне же надо физическую логику на основе исходной сетки блоков.

#1501
12:35, 13 окт 2018

Смотря для чего

Для сетевого шутера (испытано на своей шкуре) лучше подходит "гора держится пока её соединяет хоть один блок, при разрушении которого исчезает". В командном дезматче когда на укрепления твоей команды, словно кипяток на сахар, воздействуют 4-8 игроков противника с мегалопатами, динамитом, миниганами и чем только не, до реалистичности физической модели становится фиолетово. Там главное - успевать ставить префабы-подпорки быстрее, чем враг подтачивает.

Я ещё не задолбал тут  всех рассказом, как фрагнул четырёх кемперов разом, подкравшись снизу к их балкончику и перепилив его из минигана? Пропасть была глубокая.

#1502
22:23, 19 фев 2019

Topak
Не туда. Нужна тема в соответствующем разделе.

#1503
22:52, 20 фев 2019

Topak
Отписал в личку

Прошло более 1 года
#1504
19:44, 14 фев 2021

Скажите, а есть ли смысл пытаться наколхозить raycasting render? Сразу скажу для чего: майнкрафт пытается всё сделать статичным, даже воду, для этого там странная физика. Мне очень хочется попробовать относительно честную симуляцию, что предполагает большие объёмы обновлений. Кажется намного проще вызывать glTexSubImage3D для всего что обновилось. Очень подкупает возможная простота поиска коллизий, там можно чуть ли не целочисленными операциями посчитать. Но настораживает присутствие цикла в шейдере, который будет ходить по трёхмерной текстуре. Довольно легко представить вырожденный случай, например длинную лестницу с такой же лестничной крышей, которая сломает octree, в итоге лестница прорендерится довольно неглубоко, использовав все итерации до лимита. Во всех пейперах, например здесь, используется пиксельный шейдер с циклом. Утверждается что GPU такое позволить себе смогли совсем недавно, при этом я так и не нашёл внятной таблички какие GPU SIMD а какие SPMD, почитал архитектуру от интелов, похоже там Execution Unit, внутри которого SIMD, но таких юнитов много. Получается, если один из лучей внутри Execution Unit ушёл на много итераций, то весь Unit ждёт именно этот луч, как-то не очень эффективно выходит.

#1505
21:45, 14 фев 2021

neumond
> майнкрафт пытается всё сделать статичным, даже воду, для этого там странная
> физика. Мне очень хочется попробовать относительно честную симуляцию

Странная физика воды там не чтобы иметь более-менее статичную геометрию, а чтобы вычисления были более-менее локальными ― чтобы кубик воды перед игроком не влиял на кубики далеко от него. Мир бесконечный и как его честно обсчитывать ― не очень понятно, на границе области видимости особенно.

#1506
23:16, 14 фев 2021

neumond
Не oct-tree, а простой 3х мерный битовый массив
И структура типа мипмап, объединять по 8 кубиков и писать на следующем уровне 1 если хоть один занят

#1507
11:07, 15 фев 2021

alexzzzz
Согласен, мир нужно ограничить. Вода кстати в майне может растечься очень далеко, хоть на сотню блоков от одного ведра. Убираем ведро, и вся сотня блоков постепенно высохнет.

Aslan
Это примерно то, что я имел ввиду под octree, там несколько другой принцип, в ноде пишется например на сколько блоков можно не проверять от текущих координат.Разные подходы, но результат плюс/минус один и тот же.

#1508
11:40, 15 фев 2021

neumond
Это называется SDF, не сможешь динамически обновлять мир
А с mipmap - легко

Страницы: 196 97 98 99 100 101
ПрограммированиеФорумГрафика

Тема в архиве.