Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Введение в Vulkan Raytracing (комментарии) (2 стр)

Введение в Vulkan Raytracing (комментарии) (2 стр)

Страницы: 1 2 3 411 Следующая »
itmanager85Постоялецwww4 ноя. 201820:05#15
/A\
это вроде предварительная версия с NV расширениями для RT , а когда окончательная выйдет ?
0r@ngEУчастникwww4 ноя. 201820:52#16
itmanager85
> DXR - да, стандарт .. но тока под десяткой :D
Vulkan Raytracing - брат близнец DXR, все описанное в статье так же справедливо и для DXR.
Думаю что когда AMD сделает поддержку DXR, расширение Nvidia станет кросс-вендорным, и, скорее всего, перейдет в EXT/KHR категорию.
0r@ngEУчастникwww4 ноя. 201820:53#17
/A\
> glslang уже перешел на новые названия, старые не компилит
как выйдет новый Vulkan SDK, я поправлю код
/A\Постоялецwww4 ноя. 201820:59#18
0r@ngE
> как выйдет новый Vulkan SDK
вот это правильно, а то у меня слой валидации стал ругаться, видимо в SPIRV тоже переименовали расширение
/A\Постоялецwww4 ноя. 201821:08#19
0r@ngE
А ты по каким докам все это писал?
Откуда взялся VkGeometryInstance?
Я пытался перенести сымплы с DXR и уперся в недостаточную документацию вулкана.
v1cПользовательwww4 ноя. 201821:11#20
https://www.phoronix.com/scan.php?page=news_item&px=NVIDIA-NV_ray_tracing
Да, расширение больше не экспериментальное.
Я первым делом когда узнал про RTX хотел уже было покупать карточку NVidia для экспериментов,
слишком долго я мечтал об аппаратном рейтрейсинге, чтобы пропускать это мимо ушей.
Но сейчас понимаю что 14 нм уже устаревающий техпроцесс, если и тратить килобакс вечнозелёных,
то на GPU сделанному по 7 нм техпроцессу. Там и RT-ядер получится больше, и производительность
будет в 1.5-2 раза выше. Жаль AMD/ATI ничего похожего предложить не может, да и неясно
предложит ли вообще в ближайшие годы.

Правка: 4 ноя. 2018 21:13

0r@ngEУчастникwww4 ноя. 201821:16#21
/A\
> Откуда взялся VkGeometryInstance?
Ты прав, я упустил этот момент в статье :(

К сожалению, эта структура не объявлена в хидерах (упустили парни из Nvidia наверное), потому я заиспользовал структуру из DXR.
Обещают поправить это в следующем выпуске SDK (вместе с переходом  NVX -> NV)

Edit: здесь (https://renderdoc.org/vkspec_chunked/chap32.html) уже есть описание VkGeometryInstanceNV.

Правка: 4 ноя. 2018 21:25

0r@ngEУчастникwww4 ноя. 201821:19#22
/A\
> у меня слой валидации стал ругаться
А ты glslang какой юзаешь? Сам собирал?
/A\Постоялецwww4 ноя. 201821:29#23
0r@ngE
> А ты glslang какой юзаешь? Сам собирал?
да, последний из мастера.
наверное если собрать последние слои валидации, то все будет норм, но мне уже лень)
v1cПользовательwww4 ноя. 201821:31#24
/A\
А что, старые расширения уже перестают поддерживаться?
/A\Постоялецwww4 ноя. 201821:42#25
v1c
> А что, старые расширения уже перестают поддерживаться?
Видимо да, glslang отказался компилить старое расширение.

0r@ngE
Если собираешься сам собрать СДК, то у меня есть cmake для этого, иначе замучаешься ставить все зависимости)
https://github.com/azhirnov/vkTraceConverter/blob/master/cmake/do… n_tools.cmake

/A\Постоялецwww4 ноя. 201822:01#26
0r@ngE
У тебя в коде для буферов задан VK_BUFFER_USAGE_VERTEX_BUFFER_BIT и VK_BUFFER_USAGE_INDEX_BUFFER_BIT, но не задан VK_BUFFER_USAGE_RAY_TRACING_BIT_NV.
В спецификации и сейчас это явно не прописано, но есть такое:
VK_BUFFER_USAGE_RAY_TRACING_BIT_NV specifies that the buffer is suitable for use in vkCmdTraceRaysNV and vkCmdBuildAccelerationStructureNV.

upd: в общем для mShaderBindingTable, vb, ib надо поправить usage.

Правка: 4 ноя. 2018 22:03

itmanager85Постоялецwww4 ноя. 201822:08#27
вообще кстате , RT игры могли выйти ещё пол десятка лет назад - если бы была нормальная поддержка RT в каком нибудь API.

Но увы, это интересно (было) лишь гикам и горстке энтузиастов. :D

Понятно что это был бы не уровень баттлы V, но вау эффект был бы обеспечен.

itmanager85Постоялецwww4 ноя. 201822:10#28
кстате , в UE4 поддержка RT тоже тока под 10-ой виндой будет ?

Правка: 4 ноя. 2018 22:18

FROLПостоялецwww4 ноя. 201823:11#29
0r@ngE
не знаешь ли:

Допустим если у меня есть супер-тяжёлый шейдер с материалами и огромный футпринт в память для per-ray data.

Как мне лучше делать:
(1) Вынести этот шейдер в closestHit и передавать per-ray data через rayPayloadNVX атрибуты.
(2) оставить все тяжёлые расчёты в ray gen шейдере, а по rayPayloadNVX гонять лёгкую структуру?

Например, для второго варианта мне бы хватило float4. А expansion float4 в настоящий per ray data делать уже в rayGen ...

Страницы: 1 2 3 411 Следующая »

/ Форум / Программирование игр / Графика

2001—2018 © GameDev.ru — Разработка игр