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

Vulkan API (вышел!) (572 стр)

Страницы: 1571 572 573 574602 Следующая »
#8565
15:40, 18 июня 2021

/A\
> на свежем железе разнтуы по скорости нет
еще усложнения в Vertex/Domain шейдерах упомянутое IBets, возможно VertexCache все-же дает прирост но в этом случае он не задействуется(?).


#8566
17:49, 18 июня 2021

Andrey
> возможно VertexCache все-же дает прирост но в этом случае он не задействуется(?).
Думаю драйвера это умеют оптимизировать. У некоторых вендоров есть хардварный occlusion culling так что они сначала выполняют код связаный с трансформацией вершины и только потом все остальное. Так что кэш вершин будет использоваться.
Только надо индексы брать из индексного буфера, иначе драйвер может неправильно кэшировать.

#8567
17:51, 18 июня 2021

IBets
> Что думаешь об идеи отказаться от классических Vertex Buffer-ов?

у тебя есть готовый движок на 100-500 фичь?

#8568
17:57, 18 июня 2021

innuendo
Движок не мой же

#8569
23:05, 19 июня 2021

IBets
Как будешь передавать сжатые форматы, например для нормалей?

#8570
0:04, 20 июня 2021

innuendo
Парень "всеголишь" в сейбере графику пишет. Может за их движок спрашивает. Помню капулькин в 2011(12) ушел из сейбера сказав, что фигней какойто занимаются. Хотя может его посадили тисиары для пс3 проходить по инвершну.

#8571
12:19, 21 июня 2021

https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/… dexedEXT.html
Я так понимаю на CPU собираем и рисуем пачкой и это аналог из glMultiDrawElements ?

#8572
12:34, 21 июня 2021

Andrey
> Я так понимаю на CPU собираем и рисуем пачкой и это аналог из glMultiDrawElements ?
Типа того, ближе будет glMultiDrawElementsBaseVertex.

#8573
13:23, 21 июня 2021

Andrey
А чем это лучше draw indirect count?

#8574
13:38, 21 июня 2021

/A\
> А чем это лучше draw indirect count?
Тем, что не indirect?

#8575
14:07, 21 июня 2021

/A\
Вообще ничем, это другая функциональность, без Compute. Зачен оно, CPU нагружать куллингом?? Для совместимости с ГЛ?в Direct3D12 такой ерунды нету. В Metal ванную аналогично.

#8576
14:24, 21 июня 2021

Andrey
> Вообще ничем, это другая функциональность, без Compute. Зачен оно, CPU нагружать куллингом?? Для совместимости с ГЛ?в Direct3D12 такой ерунды нету. В Metal ванную аналогично.
Не распарсил. Как-раз non indirect версии нет вариантов кулить на GPU. Ну если только с отвратительным readback-ом.

#8577
15:19, 21 июня 2021

Andrey
При использовании vkCmdDrawIndexed можно нарисовать инстансами много персов, но они будут все одинаковые. Используя multi draw и общий буфер вершин на все меши можно за раз нарисовать много разных персов.

#8578
15:35, 21 июня 2021

v1c
> Используя multi draw и общий буфер вершин на все меши можно за раз нарисовать много разных персов.
То есть не нужно отдельно задавать смещения в буфере?
Я думал сейчас все смещается в сторону меш шейдеров и аналогов, так что все будет bindless и чтение вершин в шейдере.
Для мобилок опять же не подходит -  полно девайсов с 1.0 и минимум расширений.

prowkan
> Тем, что не indirect?
Ничего не мешает сделать host-visible buffer и писать в него команды. Только на мобилках бывает некоторые параметры не поддерживаются (firstIndex != 0 или instanceCount, не помню точно, есть фича на это).

#8579
15:51, 21 июня 2021

/A\
> Для мобилок опять же не подходит -  полно девайсов с 1.0 и минимум расширений.
Драйверы для тех GPU которые не поддерживают эту фичу могут реализовать это расширение просто через цикл drawCount, от лишней нагрузки это не спасёт, но совместимость обеспечит.

Страницы: 1571 572 573 574602 Следующая »
ПрограммированиеФорумГрафика