Vulkan Will Soon Have A Vendor-Neutral Cross-Platform Ray-Tracing API
Two currently provisional Vulkan extensions,
SPV_KHR_ray_tracing, are on their way to the core Vulkan API. These new Vulkan extensions will let developers write cross-platform device-independent ray-tracing code. The new Vulkan ray-tracing extensions are not yet set in stone but they are close to being finalized. Intel, of all GPU vendors, is leading the charge towards the new Vulkan ray-tracing paradigm. Intel-employed developer Jason Ekstrand gave a long and detailed overview of the upcoming Vulkan Ray-Tracing API at the X.Org Developers Conference 2020 held earlier this week.
Ray-tracing explained: It's all about tracing them light rays.
"It's basically a new 3D rendering API"
The only ray-tracing extensions that are part of the Vulkan API today are vendor-specific extensions from Nvidia. That is about to change with two new vendor-neutral Vulkan ray-tracing extensions:
SPV_KHR_ray_tracing. The final
SPV_KHR_ray_tracing Vulkan API extensions will be a slightly different from the current provisional ones. Most aspects will remain the same when they make it into the core Vulkan API.
The new Vulkan ray-tracing API comes as two parts:
- Acceleration structures (
VkAccelerationStructureKHR), holding all the geometry for the entire scene
- Six new shader stages. These dispatch rays, define procedural geometry and they handle hits and misses.
The Vulkan ray-tracing rendering path will be vastly different from the existing rendering path, it will be a "new separate thing like compute". And it will also be more expensive than the current non-ray-tracing rendering path. Everything in a single scene needs to be dumped into a large
VkAccelerationStructureKHR before any ray-tracing steps are done. This is vastly different from how the regular forward rendering path works, each part of a scene can simply be rendered and discarded if there are no additional steps that require the entire scene to be available in a single super-structure.
The Intel-employed Mesa developer Jason Ekstrand gave a 46 minutes long presentation outlining how the new Vulkan ray-tracing API, the features it will have, the way it works and how it can be used in practice at the X.Org Developers Conference that took place this week. Watch the full video below:
Jason Ekstrand did not elaborate on what ray-tracing plans Intel "may or may not have" and he did not indicate what Intel or AMD graphics hardware will be required to use software taking advantage of the new Vulkan ray-tracing API.