FROL
Nvidia советует всю тяжелую работу делать в Raygen шейдере, а в хит-шейдеры как можно тоньше (потому мы и делаем их несколько, например для теней).
RayPayload тоже желательно делать как можно легче, паковать плотнее, это положительно скажется на перформансе, ибо скедулеру (scheduler) нужно будет выделить под это память и рассовать по диспатчам.
В следующей статье я рассмотрю более продвинутый рейтрейсер, в котором эти моменту будут рассмотрены.
Класс, спасибо! Ждём с нетерпением!
/A\
> У тебя в коде для буферов задан VK_BUFFER_USAGE_VERTEX_BUFFER_BIT и
> VK_BUFFER_USAGE_INDEX_BUFFER_BIT, но не задан
> VK_BUFFER_USAGE_RAY_TRACING_BIT_NV.
Хмм, звучит логично, спасибо за поправку!
Я когда писал - сверялся со спекой, и там этого не было, но я с тобой согласен что это имеет смысл.
0r@ngE
Еще в DRX сэмплах ставят флаг D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE, а у тебя geometry.flags = 0.
VK_GEOMETRY_OPAQUE_BIT_NV indicates that this geometry does not use any hit shaders.
D3D12_RAYTRACING_GEOMETRY_FLAG_OPAQUE When rays encounter this geometry, the geometry acts as if no any hit shader is present. It is recommended that apps use this flag liberally, as it can enable important ray-processing optimizations.
только спеки различаются, "any hit shaderS" я бы предположил что относится к closest_hit и any_hit, а "no any hit shader" более конкретный.
/A\
Меня этот момент тоже смутил, равно как отсутствие энума для ноля.
does not use any hit shaders я прочитал как "не использует хит шейдеры", хотя вот сейчас с твоей подачи понимаю, что логично перевести это как "не использует any-hit shader".
Кстати, это то, почему я в статье Any hit shader пишу с заглавной буквы. Ну или могли хотя-бы через дефис писать (any-hit shaders)
Спасибо тебе за отзывы! Очень конструктивно и полезно!
Edit: таки решил оформить issue, ведь действительно описание может вводить в заблуждение (https://github.com/KhronosGroup/Vulkan-Docs/issues/846)
0r@ngE
> В следующей статье я рассмотрю более продвинутый рейтрейсер
когда следующая статья ? а то у меня уж "слюнки текут" .. :D
Вот читаю этот тред и хочется начать разбираться с вулканом (
vindast
> и хочется начать разбираться с вулканом
чем раньше начнешь тем лучше, там слишком много информации, осваивать это надо частями
0r@ngE
В статье ссылка на тэг, где старая версия кода без новых исправлений, надо бы поправить.
Еще groupNumbers сложно понять, делать поиск по magic number'ам не очень удобно, я у себя написал так:
itmanager85
> вообще кстате , RT игры могли выйти ещё пол десятка лет назад
Очень многое из игр выкидывают как раз потому что игроки в упор не замечают все усилия программистов. А если и замечают, думают что эта полная ерунда.
Да собсно, в демках RTX показывают реалтайм отражения взрыва в очках персонажа, думаете это много народу заметит?
хотел переделать под кроссплатформу...
как отметили до меня-тут старые расширения которые не работают, править еще и шейдер надо походу(к коду и везде понапиханным инклюдам win32)
помимо прикручивания cmake и адеквадного VULKAN_SDK
странное немного прибивать гвоздями к windows в 2018
Danilw
> как отметили до меня-тут старые расширения которые не работают
Работает же все, под новые расширения еще драйвера не вышли))
>Очень многое из игр выкидывают как раз потому что игроки в упор не замечают все усилия программистов. А если и замечают, думают что эта полная ерунда.
>Да собсно, в демках RTX показывают реалтайм отражения взрыва в очках персонажа, думаете это много народу заметит?
вот тут плюс, смотрел много стримеров, последнее что смотрел челик играет в "клон майнкрафта" которые ему разраб подарил, стоит в стиме 2бакса, работы вложено просто уйма, годы работы над шейдерами и красивым графеном(более современный гладкий графен чем в майнкрафте, цикл дня ночи, отражения на воде, современный движок)
стример поиграл 1 минуту сказал что ничего не понимает и обосрал все усилия разработчика, и факт в том что еслиб игра эта стоила 30баксов и стример сам купилбы онбы в нее до посинения играл как минимум пару дней чтоб "разобраться"
а нахаляву-фу нинужно
и учитыва современные тенденции по "промоушену реакции рожей знаменитости" всем абсолютно пофик что там на экране за рожей знаменитости твориться
также все топ стримеры(нинзя шрауд тдтп) ставят графен на минимум чтоб "привлекать внимание к своей персоне" а не к красивому графену игры(ониж себя промоутят на фоне игры а не наоборот)
/A\
> В статье ссылка на тэг, где старая версия кода без новых исправлений, надо бы
> поправить
Да, поправлю, спасибо.
> Еще groupNumbers сложно понять, делать поиск по magic number'ам не очень удобно, я у себя написал так:
Да, так нагляднее. Возьму на вооружение.
>Работает же все, под новые расширения еще драйвера не вышли))
у меня не работает(последний SDK от 4 октября*(linux конечноже)), и лучше я с нуля перепишу весь этот пример чем буду править код(лучи добра автору еще раз за разбросанные инклюды win32 по всем файлам)
Тема в архиве.