vk.com

Выберите язык

Внедрение трассировки лучей HLSL в Vulkan

  DirectX Ray Tracing (DXR) позволяет визуализировать графику с использованием трассировки лучей вместо традиционного метода растеризации. Этот API был создан NVIDIA и Microsoft еще в 2018 году.

  Несколько месяцев спустя NVIDIA представила свою архитектуру Turing GPU с собственной поддержкой аппаратного обеспечения для ускорения рабочих нагрузок трассировки лучей. С тех пор экосистема трассировки лучей постоянно развивается. Было анонсировано и выпущено несколько игр AAA с использованием DXR, а также инструменты визуализации промышленного стандарта. 

  Наряду с DXR, NVIDIA поставила расширение для поставщиков NVIDIA VKRay Vulkan с тем же уровнем функциональности трассировки лучей. Несколько изданий Vulkan используют NVIDIA VKRay, включая Quake2 RTXJX3 (MMO) и Wolfenstein: Youngblood .

  API-интерфейс Vulkan от Khronos Group, будучи кроссплатформенным, может охватывать широкую аудиторию на самых разных платформах и устройствах. Многие разработчики переносят контент с DirectX на Vulkan, чтобы воспользоваться преимуществами этого более широкого рынка. Однако для переноса заголовка необходимо перенести как вызовы API (в Vulkan), так и шейдеры (в SPIR-V). 

  В то время как большинство независимых поставщиков программного обеспечения могут переносить вызовы 3D API с некоторыми разумными усилиями, переписывание шейдеров HLSL на другом языке шейдеров является значительным мероприятием. Исходный код шейдера может развиваться в течение многих лет. В некоторых случаях шейдеры также генерируются на лету. Следовательно, кроссплатформенный компилятор, который переводит исходный код шейдера HLSL в SPIR-V для исполнения Vulkan, очень привлекателен для разработчиков. 

  Одним из таких инструментов является серверная часть SPIR-V для DirectXCompiler с открытым исходным кодом Microsoft (DXC). За последние пару лет этот компилятор стал распространенным, готовым к использованию решением для доставки контента HLSL в Vulkan. Khronos недавно обсудил дополнительные сведения об использовании HLSL в Vulkan в недавнем посте, HLSL как первоклассном языке Vulkan Shading Language . 

  Теперь, объединяя использование HLSL и трассировки лучей в Vulkan, NVIDIA добавила поддержку трассировки лучей в бэкэнд SPIR-V DXC, настроив расширение SPV_NV_ray_tracing под расширением NVIDIA VKRay. Ожидается, что эта работа также может быть использована для межпроизводственной версии расширения трассировки лучей Vulkan, которое в настоящее время обсуждается в Khronos. 

 

Более подробно об это можно узнать здесь.