In 2018, GeForce RTX graphics cards launched with numerous ‘world’s first’ graphics technologies: hardware-accelerated ray tracing, Variable Rate Shading, Mesh Shading, and more. These technologies represent the biggest leap in graphics since the invention of programmable shaders in 2002, bringing cinema-quality reflections, shadows, and lighting to games.
DirectX 12 Ultimate gives developers a large, multi-platform install base of hardware to target and ready-made tools and examples to work from -- all backed by time-saving middleware. This makes game development faster and easier, and enables more developers to add these innovative technologies to their games. Many developers have already crafted next-gen experiences featuring these technologies--there are over 30 DirectX Ray Tracing games shipping or announced--and now with the launch of DirectX 12 Ultimate, adoption of them is set to increase rapidly.
With GeForce RTX, the first and only PC platform with support for these game-changing features, gamers will be ready for the most advanced and graphically intensive games launching today and in the coming years.
DirectX 12 Ultimate Technologies
Ray Tracing
At the heart of DirectX 12 Ultimate is ray tracing, which realistically simulates the path of light in a scene, enabling lighting, shadow, and reflection effects only previously possible in blockbuster movies. DirectX 12 Ultimate brings with it a new update to DirectX Raytracing (DXR), version 1.1, which makes ray tracing even more efficient for developers to implement.
With hardware and software pioneered by NVIDIA, we’ve helped bring ray tracing to Battlefield V, Call of Duty: Modern Warfare, Control, Metro Exodus, Shadow of the Tomb Raider, and others. And we’re working to bring ray tracing to massively anticipated blockbusters such as Cyberpunk 2077, Minecraft with RTX, Watch Dogs: Legion, and Vampire: The Masquerade - Bloodlines 2, to name a few.
With the inclusion of ray tracing in DirectX 12 Ultimate, all major game engines, and next-gen consoles, the adoption of ray tracing is set to take off in the coming year. And it’ll look and run best on GeForce RTX GPUs due to dedicated ray tracing hardware called RT Cores, and our performance-boosting DLSS technology.
Variable Rate Shading
Variable Rate Shading (VRS) improves performance by allowing developers to render different parts of a scene at different quality levels. In the Vulkan-powered Wolfenstein: Youngblood, our NVIDIA Adaptive Shading implementation of VRS boosted performance by up to 15%, without a perceptible loss of image quality. By bringing Variable Rate Shading to DirectX 12 Ultimate, many more developers can easily add this win-win tech to their games.
Under the hood, developer-made algorithms identify pixels that the player can’t easily see and pixels that infrequently change or update, and use VRS to reduce the rate at which they are rendered (shaded). For example, black pixels in a shadow look no different when the shading rate is reduced. So by reducing the shading rate of numerous pixels per frame, GPU workload is decreased, increasing performance.
In the visualization image below, you can see how VRS can apply different shading rates in a scene. The colored overlay on the right side shows a possible application to a frame - the car, sky, and foliage have been shaded at full rate (i.e., blue region) to preserve fine details. The area next to the car has been shaded once per four pixels (green), and the road to the far left and right periphery has been shaded once per eight pixels (yellow).
These areas are motion blurred to add to the sense of speed, and are therefore difficult for a player to perceive during gameplay. So by using VRS, their shading rate can be decreased without affecting image quality to any appreciable degree, giving the game an instant performance boost.
Mesh Shading
If you’ve played an open-world game and experimented with the graphics settings, you’ll know that cranking up the level of geometric detail can greatly decrease performance, usually by flooding the CPU with draw calls, which limits CPU performance, in turn bottlenecking the GPU. Mesh Shading enables developers to fix this, and further boost fidelity and performance, with new rendering techniques that can create worlds filled with detail stretching out into the distance as far as the eye can see.
To demonstrate, we built the Asteroids tech demo, in which Mesh Shaders render and dynamically adjust the detail of up to 350,000 individual asteroids with a level of sub-pixel geometric detail and performance that is otherwise impossible to achieve.
With DirectX 12 Ultimate, Mesh Shaders will be faster and easier for developers to implement. So look out for worlds with lifelike forests filled with vegetation, mega cities with high levels of detail across the entire screen, and of course, space scenes with massive space stations and stunning asteroid fields.
For a deep dive on Mesh Shading’s inner workings, check out Turing architecture graphics and technology article.
Sampler Feedback
Sampler Feedback shares the same philosophy as Variable Rate Shading: work smarter to reduce GPU load and improve performance. It is enabled by a hardware capability in our GeForce RTX architecture called Texture Space Shading.
Virtually all of today’s games render new frames “from scratch”, meaning that they generally don’t use calculations made prior to that frame (except for temporal anti-aliasing, NVIDIA DLSS, and the occasional post processing technique). But in most games - as in the real world - relatively little changes from frame to frame. If you look outside your window, you might see trees blowing in the wind, pedestrians passing by, or birds flying in the distance. But the majority of the scene is unchanged. The main thing that changes is your point of view.
Some objects will indeed change appearance as you change your point of view - notably those which are glossy or shiny. But most objects will actually change very little as you move your head, and as such, it’s a waste of precious GPU cycles to keep recalculating the same exact colors that make up those objects every frame. Picture, for example, a wooden telephone pole - regardless of your head and eye position, it looks essentially the same.
By using Sampler Feedback, we can more efficiently shade those objects at a lower rate (say, every third frame, or perhaps even lower than that) and reuse the object’s colors (or “texels” as they’re referred to) as calculated in previous frames. This notion of work reuse can be used for ray tracing, especially in the case of global illumination, which is a common example of a slow-changing and very expensive shading computation.
For more info on the tech behind the tech, head here.
GeForce RTX Is Game Ready For DirectX 12 Ultimate
While DirectX Ray Tracing and Variable Rate Shading are supported in Windows 10 today, Microsoft’s Windows 10 ‘20H1’ update will add DirectX support for Mesh Shading and Sampler Feedback, as well as update DXR to version 1.1. NVIDIA will be ready on the day of Windows 10 20H1 release with full driver support for all the new and updated DirectX 12 Ultimate capabilities.
Already, you’ve seen the power of ray tracing in blockbuster games, and the benefits of Variable Rate Shading in Wolfenstein. And now, you can look forward to higher levels of detail thanks to Mesh Shading, and even-faster performance thanks to Sampler Feedback.
These features are fully -and currently only- supported by GeForce RTX graphics cards and laptops, so if you own one you’re game ready for all upcoming titles powered by the DirectX 12 Ultimate API.