Size: a a a

pro.graphon (and gamedev)

2020 October 17

TG

Timur Gagiev in pro.graphon (and gamedev)
а это разве не вендор определяет?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Timur Gagiev
пытаюсь понять насколько жизнеспособен такой подход
Не совсем понял исходную проблему, тут на CPU заранее известно, что аргументы нулевые, или просто на GPU ни одной команды не записали?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Timur Gagiev
а это разве не вендор определяет?
С точки зрения API, я имею в виду, если ты на GPU cullишь, и получается либо мало отрисовок, либо много, вот это количество
источник

d

disba1ancer in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Не совсем понял исходную проблему, тут на CPU заранее известно, что аргументы нулевые, или просто на GPU ни одной команды не записали?
я так понял что на cpu не проверяют, вот он и спрашивает нормально ли так делать
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Ни разу просто не использовал в D3D11 эту фичу
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
там visibility pass генерирует indirect буфера, для пачек объектов, затем для каждой такой пачки вызывается DrawIndexedInstancedIndirect с результатом visibility который GPU к тому моменту подготовит
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
да, CPU не участвует совсем
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
кстати, а аналог GL_ARB_multi_draw_indirect в D3D11 так и не завезли хаками?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Timur Gagiev
да, CPU не участвует совсем
Ну тогда context roll, мне кажется, будет, ими же CPU управляет при сборке direct команд, или нет?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
хотя, не знаю, лучше MS спросить в дискорде
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
Vitaliy ◀️TriΔng3l▶️ Kuzmin
Ну тогда context roll, мне кажется, будет, ими же CPU управляет при сборке direct команд, или нет?
наверняка, отсюда как раз и сомнения )
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
интересно было бы написать рендерер на компутах, меш шейдерах и bindless ресурсах, чтобы хрен кто его отдебажил... даже ты сам
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Timur Gagiev
интересно было бы написать рендерер на компутах, меш шейдерах и bindless ресурсах, чтобы хрен кто его отдебажил... даже ты сам
а почему его было бы сложно отдебажить?
источник

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Timur Gagiev
интересно было бы написать рендерер на компутах, меш шейдерах и bindless ресурсах, чтобы хрен кто его отдебажил... даже ты сам
PIX bindless нормально показывает :)
источник

AT

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

VK

Vitaliy ◀️TriΔng3l▶️... in pro.graphon (and gamedev)
Хотя, смотря какие ресурсы, если ты там ещё антайлить сам будешь и анизотропную фильтрацию делать
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
Resident Evil 3 такими нулевыми draw call'ами всю карту рисует, до этого делает frustum тесты на GPU для боксов, а затем растеризацию боксов в 256х128 глубину с пометкой visibility флага для инстанса в UAV. НО меня смущает, такое огромное кол-во нулевых draw call'ов
источник

d

disba1ancer in pro.graphon (and gamedev)
наверняка программисты просто обленились
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
хзхз, там очень продвинутый рендер
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
вот например вместо кубмап такие лайтпробы используют в развёртке октаэдра
источник