Size: a a a

pro.graphon (and gamedev)

2020 May 21

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Ну попробуй двумя способами. Загрузка геометрии модели сильно дольше, чем пересоздание командного буфера, содержащего все модели
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Можно в отдельном потоке это опять же сделать, не уничтожая старый командный буфер
источник

a

alexcher in pro.graphon (and gamedev)
а как тогда делается фрустум куллинг? я так понимаю, что на каждом кадре перестраивается список моделей для отрисовки
источник

a

alexcher in pro.graphon (and gamedev)
и не дешевле ли создавать по командному буферу для каждой модели, а потом просто формировать список из тех буферов, что надо нарисовать
источник

a

alexcher in pro.graphon (and gamedev)
вместо создания одного большого командного буфера на каждом кадре
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Так может оверхед от использования множества вторичных командных буферов выше, чем создание одного большого командного буфера. Кто знает. Нужно тестировать.
источник

a

alexcher in pro.graphon (and gamedev)
не, пусть даже не вторичных, а первичных
источник

a

alexcher in pro.graphon (and gamedev)
там же VkSubmitInfo хранит список первичных буферов для выполнения
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Нее. Здесь точно оверхед. Много сабмитов. Даже если один и ты список командных буферов отправляешь, не факт что под капотом там они просто в цикле не отправляются отдельными сабмитами
источник

a

alexcher in pro.graphon (and gamedev)
Anatoly Tomilov
Так может оверхед от использования множества вторичных командных буферов выше, чем создание одного большого командного буфера. Кто знает. Нужно тестировать.
а как замерять такое тестирование?
источник

a

alexcher in pro.graphon (and gamedev)
разница же явно будет небольшой
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
источник

M

Mind in pro.graphon (and gamedev)
Может кто-нибудь пованговать на тему зачем UE5 понадобился свой растеризатор и значит ли это, что они полностью выкинули оригинальный pipeline и делают всю работу в compute шейдерах?
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Не знаю точного объяснения, но читал, что т.к. у них часто треугольник покрывает только один пиксель, то хардварный растеризатор супернеэффективно работает. Быстрее софтверно растеризовать.
источник

M

Mind in pro.graphon (and gamedev)
Ну то есть действительно весь pipeline выброшен. Или они как-то через transform feedback обрабатывают вершины, а уже потом растеризацию запускают? Или может я не знаю чего-то и это можно сделать в vulkan/dx12 без подобных костылей?
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Не встречал таких подробностей
источник
2020 May 22

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Anatoly Tomilov
Не знаю точного объяснения, но читал, что т.к. у них часто треугольник покрывает только один пиксель, то хардварный растеризатор супернеэффективно работает. Быстрее софтверно растеризовать.
Особенно зря работает всё, что связано с dFdx и dFdy
источник

CU

Columbus Utrigas in pro.graphon (and gamedev)
Круто
источник

TW

Tony Werner in pro.graphon (and gamedev)
Я так шрифты с иконками в плюсовые проекты запихиваю)
источник

AV

Anton Vertver in pro.graphon (and gamedev)
Tony Werner
Я так шрифты с иконками в плюсовые проекты запихиваю)
Для этого есть ресурсы те же
источник