In a sense, real-time ray tracing in games is sort of like VR—adoption is slower than we'd all like, but also growing. This despite RTX graphics cards having been available for over 18 months now. One of the things that could give ray tracing a boost is a standardized specification within the Vulkan API, and that is something the Khronos Group intends to talk about with Nvidia and others at the Game Developers Conference (GDC) 2020 in March.
"Join us to hear about the latest developments in Vulkan around standardized ray tracing functionality; the working group will provide an update on the current state of the ray tracing efforts, what this means for the graphics industry, and how you’ll be able to take advantage of this technology," Khronos Group states on its GDC 2020 itinerary.
According to the itinerary, representatives from AMD, Intel, and Nvidia will be on hand for the discussion. Not to be overlooked, this suggests an industry-wide effort among GPU makers to bolster the Vulkan API with a cross-platform ray tracing standard. Why does this matter?
At least year's GDC, Nvidia offered up three reasons why this needs to happen. One of them is that ray tracing allows for flexible rendering algorithms. According to Nvidia, algorithms for things like reflections are complicated with traditional rasterized rendering, but "extremely simple to do with ray tracing."
Nvidia also said that ray tracing is a "natural fit" for the Vulkan API.
"As Vulkan was designed from the ground-up with extensibility in mind, adding ray tracing capabilities becomes natural. Nvidia’s VKRay makes use of existing API primitives for memory allocation, shader compilation, synchronization and work submission, as well as existing shading languages. There are only a handful of new API building blocks required, so adding ray tracing functionality into an existing application is straightforward," Nvidia wrote.
Finally, Nvidia pointed to the VKRay extension being available on both its Turing and Volta GPUs (I assume the same will be true of Nvidia's upcoming Ampere GPU).
"Vulkan is cross-platform, and so is our ray tracing extension: we support ray tracing on Linux and Windows (7 and above). It is available with our latest shipping drivers on our Volta and Turing GPUs," Nvidia said.
The vast majority of ray-traced visuals in gaming right now are served up through Microsoft's DirectX Raytracing (DXR) API (which is built on top of DirectX 12), and processed by Nvidia's GeForce RTX hardware. AMD will offer up a version of Navi with hardware-based support for ray tracing later this year, including on PCs and within Sony's and Microsoft's next-generation game consoles.
What I'm curious about (and hope the Khronos Group discusses at GDC) is how the performance might compare in Vulkan versus DXR. Part of the reason why adoption has been somewhat slow is ray-traced visuals are computationally demanding—depending on the game, average framerates can dip in a hurry when flipping the switch.
Ampere could give ray-traced gaming a boost on the hardware side, but what will Vulkan accomplish on the software side? We'll have to wait and see, though unlike all things DirectX, Vulkan at least offers the potential of support on Linux, OSX, Stadia, and other platforms. As things stand, only a few games running on a Vulkan renderer support ray tracing, specifically Wolfenstein Youngblood and Quake II RTX. So, there's not much out there to draw any kind of conclusion just yet.