DirectX 12 Ultimate brings ray tracing to the Xbox Series X, PCs, and beyond

Chuong Nguyen

Ahead of its DirectX developer day, Nvidia and Microsoft have announced the next era of graphics features for Xbox and PC gamers, and it’s called the DirectX 12 Ultimate game stack. Previously, enabling features like ray tracing came with performance compromises, but with DirectX 12 Ultimate, developers can add in more realistic, immersive details into game while using less resources.

“We are beyond pleased to bring gamers DirectX 12 Ultimate, the culmination of the best graphics technology we’ve ever introduced in an unprecedented alignment between PC and Xbox Series X,” Nvidia noted in a press release, stating that this will allow the next generation of PC and console games to be future-proof.

DirectX 12 Ultimate, as its name implies, is an extension of Microsoft’s DirectX 12 APIs, enhancing what we’ve already seen with support for features like ray tracing, while adding major new features like Mesh Shaders and Sampler Feedback. For gamers with older hardware, game compatibility shouldn’t be an issue with the new DirectX 12 Ultimate stack.

“In fact, next-generation games which use DX12 Ultimate features will continue to run on non-DX12 Ultimate hardware,” Nvidia stated. “Though such hardware won’t provide the visual benefits of the new features, it can still provide a very compelling gaming experience on next generation games, depending on the specifics of the hardware.”

By making it easier for developers to create games and casting a wider net — supporting both PC and console — Nvidia and Microsoft hopes that more developers will embrace newer features supported by modern, powerful GPUs. For gamers, this will hopefully lead to more titles that support advanced features like ray tracing.

Ray tracing enhanced

The headlining feature of DirectX 12 Ultimate is support for DirectX Ray Tracing 1.1. In addition to using the principles of light to make scenes in a game appear more realistic, the 1.1 upgrade brings inline ray tracing to give developers more control over the process. This could help conserve GPU resources compared to the older dynamic-shading system.

Additionally, the shader process can now be done on the GPU without having to make a round-trip to the CPU. And as players move around a scene, DirectX Ray Tracing 1.1 makes better use of the GPU’s streaming engines to load new ray tracing shaders.

When ray tracing was initially introduced, gamers were reluctant to enable the feature because it meant sacrificing game performance for better visuals. According to Nvidia, with support for variable rate shading (VRS), gamers will no longer need to make this trade-off. Essentially, VRS allows more important areas of a scene to be rendered with greater detail and details in less prominent scenes to be dialed down in the interest of better speed.

This is a feature that AMD announced it would support on its Navi 2x graphics, which will be used on Microsoft’s Xbox One Series X as well as on desktop gaming PCs later this year.

Better visual details

DirectX 12 Ultimate will also support mesh shaders to help developers build even more detail into games. Mesh shaders allows geometry processing to behave like compute shaders. Mesh shaders can operate across the whole compute thread group with access to group shared memory and advanced compute features.

To further optimize things, a new Amplication Shader process runs before the mesh shader, performing computations to determine how many mesh shader threaded groups are needed. Amplication shaders are used for culling, replacing the coarser per-mesh level to determine whether to draw an object at all.

“This new intermediate level of culling improves performance when drawing models that are only partially occluded,” Nvidia stated. “For instance, if part of a character is on screen while just one arm is not, an amplification shader can cull that entire arm after much less computation than it would have taken to shade all the triangles within it.”

Less performance hit

Sampler feedback allows developers to load textures only when needed, delivering better visual quality while reducing load times and minimizing stuttering in a game.

“Sampler feedback solves this by allowing a shader to efficiently query what part of a texture would have been needed to satisfy a sampling request, without actually carrying out the sample operation,” Nvidia said. “This information can then be fed back into the game’s asset streaming system, allowing it to make more intelligent, precise decisions about what data to stream in next. In conjunction with the D3D12 tiled resources feature, this allows games to render larger, more detailed textures while using less video memory.”

One method to achieve this is through the use of texture spacing shading (TSS). This rendering technique allows developers to do light computations in object space and write them to a texture. Essentially, TSS decouples the shading of an object in world space from the rasterization of the shape of that object to the final target.

Combined, all these new features will help to make games appear more detailed and realistic, all while placing less strain on your system.