DirectX 12 Ultimate is Microsoft’s latest graphics API, which codifies NVIDIA RTX’s innovative technologies first introduced in 2018, as the cross-platform standard for next-generation, real-time graphics. It offers APIs for Ray Tracing, Variable Rate Shading, Mesh Shading, Sampler Feedback, and more, enabling developers to implement cinema-quality reflections, shadows, and lighting in games and real-time applications.
"DirectX 12 Ultimate unlocks the latest in graphics hardware technology with support for ray tracing, mesh shaders, and variable rate shading. It’s the new gold standard for the next generation of games.”
- Marcus Wassmer, Director of Engineering, Graphics, Epic Games
“By investing in next-gen graphics features using DirectX 12 Ultimate, we know our work will benefit gamers on PC and future consoles, and the game will look the way we dreamed.”
- Anton Yudintsev, CEO, Gaijin Entertainment
Microsoft’s DirectX Ray Tracing (DXR) API extends DirectX 12 to support real-time ray tracing, allowing developers to combine ray tracing with traditional rasterization and compute techniques. DirectX Raytracing enables cinematic reflections, shadows, and lighting in games and real-time applications, while taking full advantage of NVIDIA RTX’s dedicated ray tracing cores.
Ray Tracing Essentials Part 1: Basics of Ray Tracing
Ray Tracing Essentials is a seven-part video series hosted by the editor of Ray Tracing Gems, NVIDIA’s Eric Haines. Watch all of the videos in the series starting with the basics of ray tracing.Watch Video
Ray Tracing in 4A’s Metro Exodus and Remedy’s Control
At GDC 2019, NVIDIA’s Martin Stich walked attendees through ray tracing in 4A’s Metro: Exodus and Remedy’s Control on PC. Watch his talk and many more.Read More
Mesh shading advances NVIDIA’s geometry processing architecture by offering a new shader model for the vertex, tessellation, and geometry shading stages of the graphics pipeline, supporting more flexible and efficient approaches for computation of geometry. This more flexible model makes it possible, for example, to support an order of magnitude more objects per scene, by moving the key performance bottleneck of object list processing off the CPU and into highly parallel GPU mesh shading programs. Mesh shading also enables new algorithms for GPU-driven culling and object LOD management.
Introduction to Turing Mesh Shaders
The Turing architecture introduces a new programmable geometric shading pipeline through the use of mesh shaders. The new shaders bring the compute programming model to the graphics pipeline as threads are used cooperatively to generate ...Read Blog
NVIDIA Asteroids Mesh Shading Demo
The NVIDIA Asteroids demo showcases how the mesh shading technology built into NVIDIA’s Turing GPU architecture can dramatically improve performance and image quality when rendering a substantial number of very complex objects in a scene.Read Blog
Variable Rate Shading
Variable Rate Shading (VRS) allows developers to control shading rate dynamically, shading as little as once per sixteen pixels or as often as eight times per pixel. The application specifies shading rate using a combination of a shading-rate surface and a per-primitive (triangle) value. VRS is a very powerful tool that allows developers to shade more efficiently, reducing work in regions of the screen where full resolution shading would not give any visible image quality benefit, and therefore improving frame rate. Several classes of VRS-based algorithms have already been identified, which can vary shading work based on content level of detail (Content Adaptive Shading), rate of content motion (Motion Adaptive Shading), and for VR applications, lens resolution and eye position (Foveated Rendering).
What is NVIDIA Adaptive Shading? Demystifying The Turing Feature That Boosts FPS Up To 15%
With the Turing architecture, we support a new feature called Variable Rate Shading (VRS), which is broadly accessible to developers...Read More...
NVIDIA Variable Rate Shading Demonstrated in Autodesk VRED
We introduced Variable Rate Shading (VRS) last year with the Turing architecture. This new, easy to implement rendering technique allows developers to vary the amount of ...Read More...
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 Turing architecture called Texture Space Shading. Developers can use Texture Space Shading to efficiently shade static objects at a lower rate (for example, every third frame) and reuse the object’s colors as calculated in previous frames. This work reuse can be combined with ray tracing, especially in the case of global illumination, which is a common example of a slow-changing and very expensive shading computation.
-  - Developer Blog - Optimizing Game Development with GPU Performance Events
-  - Developer Blog - The Peak-Performance-Percentage Analysis Method for Optimizing Any GPU Workload
-  - Developer News - Geometry Reinvented with Mesh Shading
-  - Developer News - Using Mesh Shading to Optimize Your Rasterization Pipeline
-  - Developer News - What is Limiting Your Rendering Performance? Using ‘Nsight Graphics: GPU Trace’ and the Peak-Performance-Percentage Method
-  - Developer News - A Conversation with Epic: Ray tracing in Unreal Engine 4.22 and beyond
-  - Developer News - Ray Tracing From the 1980’s to Today An Interview with Morgan McGuire, NVIDIA
-  - Developer News - Mesh Shading: Three Things You Need to Know
-  - Developer News - Porsches, Storm Troopers, and Ray Tracing: How NVIDIA and Epic are Redefining Graphics
-  - Developer Blog - Video Series: Practical Real-Time Ray Tracing With RTX
-  - Developer Blog - Video Series: Shiny Pixels and Beyond: Real-Time Ray Tracing at SEED
-  - Developer Blog - Effectively Integrating RTX Ray Tracing into a Real-Time Rendering Engine
-  - Developer Blog - Video Series: Real-Time Ray Tracing for Interactive Global Illumination Workflows in Frostbite
-  - Developer News - DX12 Ray Tracing Tutorials
-  - Gameworks Blog - Explicit Multi-GPU with DirectX 12 – Frame Pipelining, a New Alternative
-  - Gameworks Blog - Explicit Multi-GPU with DirectX 12 – Control, Freedom, New Possibilities
-  - Gameworks Blog - Constant Buffers without Constant Pain
-  - Gameworks Blog - Life of a triangle - NVIDIA's logical pipeline
-  - Gameworks Blog - The Basics of GPU Voxelization
-  - Gameworks Blog - Understanding Structured Buffer Performance
-  - Gameworks Blog - Redundancy and Latency in Structured Buffer Use
-  - Gameworks Blog - How About Constant Buffers?
-  - Gameworks Blog - Are You Running Out of Video Memory? Detecting Video-Memory Overcommitment using GPUView
-  - Gameworks Blog - Hybrid Ray Traced Shadows
-  - Gameworks Blog - Depth Precision Visualized
-  - Gameworks Blog - An Overview of Next-Generation Graphics APIs DX12
-  - Gameworks Blog - DirectX 12 Do's and Don'ts DX12
-  - Gameworks Blog - Analysing Stutter - Mining More from Percentiles
-  - Gameworks Blog - Transparency (or Translucency) Rendering
-  - Gameworks Blog - Don't be conservative with Conservative Rasterization