Tuesday, March 17th 2020

Khronos Group Releases Vulkan Ray Tracing

Today, The Khronos Group, an open consortium of industry-leading companies creating advanced interoperability standards, announces the ratification and public release of the Vulkan Ray Tracing provisional extensions, creating the industry's first open, cross-vendor, cross-platform standard for ray tracing acceleration. Primarily focused on meeting desktop market demand for both real-time and offline rendering, the release of Vulkan Ray Tracing as provisional extensions enables the developer community to provide feedback before the specifications are finalized. Comments and feedback will be collected through the Vulkan GitHub Issues Tracker and Khronos Developer Slack. Developers are also encouraged to share comments with their preferred hardware vendors. The specifications are available today on the Vulkan Registry.

Ray tracing is a rendering technique that realistically simulates how light rays intersect and interact with scene geometry, materials, and light sources to generate photorealistic imagery. It is widely used for film and other production rendering and is beginning to be practical for real-time applications and games. Vulkan Ray Tracing seamlessly integrates a coherent ray tracing framework into the Vulkan API, enabling a flexible merging of rasterization and ray tracing acceleration. Vulkan Ray Tracing is designed to be hardware agnostic and so can be accelerated on both existing GPU compute and dedicated ray tracing cores if available.
Vulkan ray tracing
"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," said Daniel Koch, senior graphics system software engineer at NVIDIA and Vulkan Ray Tracing task 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 number of Vulkan, SPIR-V, and GLSL extensions, some of which are optional. The primary VK_KHR_ray_tracing extension provides support for acceleration structure building and management, ray tracing shader stages and pipelines, and ray query intrinsics for all shader stages. VK_KHR_pipeline_library provides the ability to provide a set of shaders which can be efficiently linked into ray tracing pipelines. VK_KHR_deferred_host_operations enables intensive driver operations, including ray tracing pipeline compilation or CPU-based acceleration structure construction to be offloaded to application-managed CPU thread pools.

Vulkan Ray Tracing shaders are SPIR-V binaries which use two new extensions. The SPV_KHR_ray_tracing SPIR-V extension adds support for ray tracing shader stages and instructions; SPV_KHR_ray_query adds support for ray query shader instructions. Developers can generate those binaries in GLSL using two new GLSL extensions, GLSL_EXT_ray_tracing and GLSL_EXT_ray_query, which are supported in the open source glslang compiler. Engineers at Khronos member companies, including NVIDIA, have also added support for the SPIR-V extensions to DXC, Microsoft's open source HLSL compiler, enabling Vulkan Ray Tracing SPIR-V shaders to be authored in HLSL using the syntax defined by Microsoft, with minimal modifications.

Driver release updates and the status of Vulkan ecosystem components will be posted on the Vulkan Ray Tracing Provisional Release Tracker. A Vulkan SDK that includes support for Vulkan Ray Tracing will become available once all the necessary ecosystem components are upstreamed; check this link to watch for its availability. An introductory launch presentation on Vulkan Ray Tracing is here, and further technical details can be found in this blog post.

Industry Support for Vulkan Ray Tracing Provisional Specification
"Standardizing ray tracing in Vulkan is an important step towards making ray tracing available across a wide range of devices, as well as enabling developers to use this technology to its full advantage. AMD intends to provide support for all of the major features in this extension, including ray shading, ray queries, and CPU acceleration structure management. We will be working with developers to ensure great performance from our Vulkan Ray Tracing implementation; these efforts will help us to provide end users with even more visually stunning graphics on AMD Radeon GPUs," said Andrej Zdravkovic, senior vice president, software development, AMD.

"EA is happy to see the release of the provisional ray tracing extension for Vulkan. Realtime ray tracing is already an important part of game development and it will continue to be in the future. Allowing ray queries from any shader stage is a great feature, which will both simplify integrations and open up the possibility for new techniques while multithreaded host-side building of acceleration structures has the potential to reduce latency and improve the performance of our upcoming game titles," said Sebastian Tafuri, senior rendering engineer at Frostbite, EA.

"Epic Games has been an active member of the Vulkan Ray Tracing group from the beginning, and we are happy to see the ray tracing extension released to the public. We at Epic Games continue to wholeheartedly support Khronos's efforts on creating open standards to enhance the end-user experience," said Yuriy O'Donnell, rendering engineer, Epic Games.

"Imagination Technologies are very happy to see ray tracing become a standard part of Vulkan, helping the overall ray tracing ecosystem to grow substantially due to Vulkan's wide reach across many platforms and devices," said Rys Sommefeldt, senior director of product, Ray Tracing and High Performance Graphics, Imagination Technologies. "We are very supportive of the standard, which will help us deliver the efficient, fast, and focused hardware solution we are developing for our customers."

"The Intel Xe architecture roadmap includes support for hardware accelerated ray tracing, and we're excited to work with Khronos to implement full support into Vulkan," said Joshua Barczak, graphics software architect at Intel.

"NVIDIA ships beta drivers today with support for the provisional standardized ray tracing functionality in Vulkan," said Morgan McGuire, research director at NVIDIA. "Bringing accelerated ray tracing to the Vulkan cross-platform, open standard API is another significant step towards enabling the highest quality of visual realism for real-time games and applications everywhere."

"We are very excited about having hardware ray tracing support baked into Vulkan. Vulkan Ray Tracing enables us to research high-end rendering solutions, while also having support for all supporting vendors and platforms with minimal overhead," said Jules Urbach, CEO, OTOY.
Add your own comment

35 Comments on Khronos Group Releases Vulkan Ray Tracing

#1
Vayra86
Trace long and prosper
Posted on Reply
#2
HammerOn1024
Frankly, looking at two images at the same resolution, there's very little difference in perceived quality between classic rendering methods and ray tracing, at least from what I've seen. So a huge amount of computational effort for very, very little benefit.

Just a sales gimmick.
Posted on Reply
#3
midnightoil
Assuming it's probably not a coincidence that they announce this on the day the PS5 hardware is announced.

Isn't the PS5 either supposed to be using Vulkan or a fork of it with a few specific extensions?
Posted on Reply
#4
Vayra86
HammerOn1024
Frankly, looking at two images at the same resolution, there's very little difference in perceived quality between classic rendering methods and ray tracing, at least from what I've seen. So a huge amount of computational effort for very, very little benefit.

Just a sales gimmick.
Nah man everybody loves it because content creators now no longer have to do anything, they can just click randomly in the screen and boom RT magic with perfect lighting. As evidenced by games being postponed because RTX support is being baked in at the last minute...oh wait

Its not a gimmick though... but adoption of this will be slow and probably a bit painful, too. Yes the gain is limited, because the implementation has to be limited, and has to compete with rasterized stuff. Once this gets more streamlined as 'one' pipeline to do lighting, then we will probably see tangible gain. Its just another trick for the toolbox.
Posted on Reply
#6
tomc100
HammerOn1024
Frankly, looking at two images at the same resolution, there's very little difference in perceived quality between classic rendering methods and ray tracing, at least from what I've seen. So a huge amount of computational effort for very, very little benefit.

Just a sales gimmick.
It actually looks pretty darn good as evidence by Quake II using ray tracing.
Posted on Reply
#7
spectatorx
Master Tom
You have to see it in motion.
For that we need proper hardware which is not available yet. RTX2xxx is too weak to offer visuals and framerate which you could call motion.
Posted on Reply
#8
bonehead123
If you don't like Ray tracing, just wait 5.183 seconds, and someone will change/revise/reinvent it, hehehe :D
Posted on Reply
#9
Vayra86
Master Tom
You have to see it in motion.
That's what she said

tomc100
It actually looks pretty darn good as evidence by Quake II using ray tracing.
Q2 RT is grossly inaccurate, any meticulate pass of dynamic lighting could have achieved similar results - at a lower perf cost. The proof of concept for Q2 is more the fact that they could do it 'easily', as in, through a set of predefined rules and not having to redesign the whole game around it and tweaking for every game area.

Unfortunately that is also where the flaws of those defined rules come out. Not all of them are equally well designed so that they always fit. Lighting is in some places really quite wrong if you take a longer look.
Posted on Reply
#10
ARF
Minecraft and Quake 2 are so ancient game engines, that the last thing they need is any form of ray-tracing. They have ugly textures in the first place.

Putting ray-tracing in them is the same as putting lipstick on a pig's mouth. It's nice but it's still very ugly.

I am quite inclined to believe in some conspiracy theories behind the implementation of ray-tracing.

Its performance is so low, that it rewinds us back to the 90s, and the whole graphics cards development should begin from scratch.
Posted on Reply
#11
spectatorx
ARF
Minecraft and Quake 2 are so ancient game engines, that the last thing they need is any form of ray-tracing. They have ugly textures in the first place.

Putting ray-tracing in them is the same as putting lipstick on a pig's mouth. It's nice but it's still very ugly.

I am quite inclined to believe in some conspiracy theories behind the implementation of ray-tracing.

It's performance is so low, that it rewinds us back to the 90s, and the whole graphics cards development should begin from scratch.
Pigs are beautiful animals, do not call them like that!
Posted on Reply
#12
Vayra86
ARF
Minecraft and Quake 2 are so ancient game engines, that the last thing they need is any form of ray-tracing. They have ugly textures in the first place.

Putting ray-tracing in them is the same as putting lipstick on a pig's mouth. It's nice but it's still very ugly.

I am quite inclined to believe in some conspiracy theories behind the implementation of ray-tracing.

It's performance is so low, that it rewinds us back to the 90s, and the whole graphics cards development should begin from scratch.
That's no conspiracy, its a market reality. The mainstream does not require more performance for rasterized, realistically they can suffice with two year old cards or worse, the only reason to buy high end now is if you want to chase higher resolutions, and 4K isn't taking off really. Performance requirements for games without RT are just stalling, there is only so much you can reasonably show on screen.
Posted on Reply
#13
notb
spectatorx
For that we need proper hardware which is not available yet. RTX2xxx is too weak to offer visuals and framerate which you could call motion.
In the few RTRT games we've seen to date, RTX2070 with maxed ray tracing remains faster than RX580 which you own...
Just saying.
Posted on Reply
#15
ZoneDymo
HammerOn1024
Frankly, looking at two images at the same resolution, there's very little difference in perceived quality between classic rendering methods and ray tracing, at least from what I've seen. So a huge amount of computational effort for very, very little benefit.

Just a sales gimmick.
im sorry what? the 2 images are vastly different in the reflection area
Posted on Reply
#16
ARF
ZoneDymo
im sorry what? the 2 images are vastly different in the reflection area
Where are these two images?
Posted on Reply
#19
mbeeston
notb
Game intro from late 90s strikes back.

It's been a year already. How the time flyes. And I have to say: I loved all the Crytek RTRT games that followed this demo.
yup becuase we all know putting ray tracing into a games is just "plug and play" right?
Posted on Reply
#21
notb
damric
In the Cryengine RT benchmark my Vega56 averages around 60FPS. At 4K it becomes a slideshow. It's a nicelooking benchmark and really shows off RT if anyone is curious, but it's a rather large download since you have to download the developer engine too.
It's absolutely NOT a good example of why we may be interested in RT. Actually, it's more like a "proof" of recurring "we can get this kind of reflections without RTRT".
And this is why the demo runs so well on GPGPU.

The real gain of RTRT are light dispersing and shadows - NOT mirror reflections.
Posted on Reply
#22
ZoneDymo
ARF
Where are these two images?
RT OFF


RT ON
Posted on Reply
#23
mbeeston
hmm.. rtx on seems to be missing pretty much every red reflective light in the scene...
Posted on Reply
#24
ZoneDymo
mbeeston
hmm.. rtx on seems to be missing pretty much every red reflective light in the scene...
Not really, you dont have the 4 lights on the left pillar yeah, probably because its an unrealistic/fake reflection thus not precent in something ray traced.
On the other hand you have red lights reflected just fine in the scene on the wall to the right.
Posted on Reply
#25
mbeeston
ZoneDymo
Not really, you dont have the 4 lights on the left pillar yeah, probably because its an unrealistic/fake reflection thus not precent in something ray traced.
On the other hand you have red lights reflected just fine in the scene on the wall to the right.
or the light on the doorway next to them or the one from the red light outside, or the one form the machine on the window sill

honestly the mirror coat they used on the floor looks unrealistic, did they buff a glass floor before you got there? loses part of the atmosphere of the game if it looks like they just cleaned everything infront of you..
Posted on Reply
Add your own comment