Ray tracing is a rendering approach that realistically simulates how gentle rays intersect and work together with scene geometry, supplies, and lightweight sources to generate photorealistic imagery. It is broadly used for movie and different manufacturing rendering and is starting to be sensible for real-time purposes and video games. Vulkan Ray Tracing seamlessly integrates a coherent ray tracing framework into the Vulkan API, enabling a versatile merging of rasterization and ray tracing acceleration. Vulkan Ray Tracing is designed to be {hardware} agnostic and so could be accelerated on each current GPU compute and devoted ray tracing cores if out there.
“There has been strong developer demand for a truly cross-platform ray tracing acceleration API and now Vulkan Ray Tracing is here to meet that industry need,” stated Daniel Koch, senior graphics system software program engineer at NVIDIA and Vulkan Ray Tracing job sub group chair at Khronos. “The overall architecture of Vulkan Ray Tracing will be familiar to users of existing proprietary ray tracing APIs, which enables straightforward porting of existing ray traced content, but this framework also introduces new functionality and implementation flexibility.”
Vulkan Ray Tracing consists of a lot of Vulkan, SPIR-V, and GLSL extensions, a few of that are optionally available. The major VK_KHR_ray_tracing extension offers help for acceleration construction constructing and administration, ray tracing shader phases and pipelines, and ray question intrinsics for all shader phases. VK_KHR_pipeline_library offers the flexibility to offer a set of shaders which could be effectively linked into ray tracing pipelines. VK_KHR_deferred_host_operations allows intensive driver operations, together with ray tracing pipeline compilation or CPU-based acceleration construction building to be offloaded to application-managed CPU thread swimming pools.
Vulkan Ray Tracing shaders are SPIR-V binaries which use two new extensions. The SPV_KHR_ray_tracing SPIR-V extension provides help for ray tracing shader phases and directions; SPV_KHR_ray_query provides help for ray question shader directions. Developers can generate these binaries in GLSL utilizing two new GLSL extensions, GLSL_EXT_ray_tracing and GLSL_EXT_ray_query, that are supported within the open supply glslang compiler. Engineers at Khronos member corporations, together with NVIDIA, have additionally added help for the SPIR-V extensions to DXC, Microsoft’s open supply HLSL compiler, enabling Vulkan Ray Tracing SPIR-V shaders to be authored in HLSL utilizing the syntax outlined by Microsoft, with minimal modifications.
Driver launch updates and the standing of Vulkan ecosystem elements might be posted on the Vulkan Ray Tracing Provisional Release Tracker. A Vulkan SDK that features help for Vulkan Ray Tracing will change into out there as soon as all the required ecosystem elements are upstreamed; test this hyperlink to look at for its availability. An introductory launch presentation on Vulkan Ray Tracing is right here, and additional technical particulars could be discovered on this weblog put up.
Industry Support for Vulkan Ray Tracing Provisional Specification
“Standardizing ray tracing in Vulkan is a vital step in the direction of making ray…