История изменений
Исправление robus, (текущая версия) :
Отдельные примитивные блоки это возможно, но могут быть с производительностью проблемы в случае неоптимальной реализации.
Уже начались. При рендеринге всего лишь 2 359 296 блоков (6x1x6 чанков, каждый чанк 64x16x64 блоков) фреймтайм растёт безмерно (60, а то и 70 мс). По этому и затык.
Нужны либо блоки крупного размера (что для ландшафта терпимо)
Блок и так всего в 64 раза (в 4 раза по каждой из осей) меньше, чем в minetest. Если делать совсем кубач, будет грустно.
либо динамически пересчитывать повреждённые меши
Не. Тесселяция и динамическая геометрия у меня на десерт.
У тебя есть преимущество, так как можешь своё двигло как угодно для этого гнуть.
Вот и гну. Поддержку instanced rendering туда затолкал, а оно всё равно тормозит (шевелится уже гораздо бодрее, но всё равно неприемлемо).
Эх! Видимо придётся делать отсечение невидимой геометрии, при разрушении блока обновлять видимость соседних, пересчитывать UBO всех затронутых чанков — так тормозить будет хотя бы не постоянно.
Исходная версия robus, :
Отдельные примитивные блоки это возможно, но могут быть с производительностью проблемы в случае неоптимальной реализации.
Уже начались. При рендеринге всего лишь 2359296 блоков (6x1x6 чанков, каждый чанк 64x16x64 блоков) фреймтайм растёт безмерно (60, а то и 70 мс). По этому и затык.
Нужны либо блоки крупного размера (что для ландшафта терпимо)
Блок и так всего в 64 раза (в 4 раза по каждой из осей) меньше, чем в minetest. Если делать совсем кубач, будет грустно.
либо динамически пересчитывать повреждённые меши
Не. Тесселяция и динамическая геометрия у меня на десерт.
У тебя есть преимущество, так как можешь своё двигло как угодно для этого гнуть.
Вот и гну. Поддержку instanced rendering туда затолкал, а оно всё равно тормозит (шевелится уже гораздо бодрее, но всё равно неприемлемо).
Эх! Видимо придётся делать отсечение невидимой геометрии, при разрушении блока обновлять видимость соседних, пересчитывать UBO всех затронутых чанков — так тормозить будет хотя бы не постоянно.