Vulkan now does ray tracing
Hardware-accelerated ray tracing in Wolfenstein: Youngblood: a still from the online documentation for the new Vulkan Ray Tracing extensions, intended to provide a “truly cross-platform ray tracing acceleration API”.
Originally posted on 18 March 2020. Scroll down for news of the final release and new SDK.
Open standards body Khronos Group has released its Vulkan Ray Tracing extensions: a set of work-in-progress extensions adding support for hardware-accelerated ray tracing to the Vulkan GPU computing API.
Khronos describes the release, which also includes extensions to the GLSL shading language and Spir-V, as creating “the industry’s first open, cross-vendor, cross-platform standard for ray tracing acceleration”.
It is hoped that the work will pave the way for the development of real-time ray tracing systems in graphics software that run on any manufacturer’s GPUs, on any major operating system.
An open alternative to DXR and OptiX for real-time ray tracing
Although there has been a lot of work to support hardware-accelerated ray tracing in the CG industry, both in DCC software and in games, most of it has been based on two proprietary APIs: DXR and OptiX.
For real time work, the API of choice has been Microsoft’s DXR (DirectX 12 Raytracing), used for the hardware-accelerated ray tracing features in game engines like Unreal Engine and Unity.
DXR is also used in game-like software like Chaos Vantage, Chaos Group’s new tool for exploring V-Ray scenes in real time, and material-authoring tool ArmorPaint, which is based on the Armory game engine.
Although DirectX 12 itself is supported on both AMD and Nvidia GPUs, DXR support is currently only actively exposed in Nvidia’s drivers – on top of which, DirectX is Windows-only.
For offline work, most developers are making use of Nvidia’s OptiX API, which now powers the hardware-accelerated ray tracing in Blender, OctaneRender, V-Ray, and range of other renderers.
Although it’s theoretically operating-system-neutral, Nvidia recently dropped macOS support in the CUDA Toolkit required for OptiX development – and obviously, it only works with Nvidia GPUs.
Will work on AMD, Nvidia and Intel hardware
With all of that in mind, the new Vulkan Ray Tracing extensions are a significant first step towards hardware-accelerated ray tracing systems that run on any manufacturer’s GPUs, on Windows, macOS or Linux.
As well as AMD and Nvidia cards, that will include Intel’s upcoming Xe GPU and GPGPU hardware.
The extensions are currently described as “provisional”, and at the minute, there is no version of the Vulkan SDK with support for hardware-accelerated ray tracing, but the standard itself has been ratified.
Ray tracing systems based on other APIs should be quick to port across
In addition, Khronos Group suggests that porting existing DXR-based ray tracing systems to Vulkan will be “straightforward”, due to similarities in acceleration structure and shader architecture.
“There has been strong developer demand for a truly cross-platform ray tracing acceleration API,” said Daniel Koch, Khronos sub-group chair for Vulkan Ray Tracing, and a Nvidia senior software engineer.
“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.”
As well as quotes from hardware vendors, Khronos Group’s official announcement for Vulkan Ray Tracing includes positive statements from Epic Games and OctaneRender developer Otoy.
Updated 22 December 2020: Final Vulkan ray tracing extensions are now available, along with an updated version of the Vulkan SDK that supports them.
Production-ready drivers are available for AMD Radeon GPUs and Nvidia Quadro and GeForce GPUs.
Read Khronos Group’s official announcement of Vulkan Ray Tracing
Read Khronos Group’s technical documentation for Vulkan Ray Tracing