Microsoft just released the Windows 10 October update, and with it comes the beginning of a new era of graphics rendering. The new version of windows includes the first public release of Microsoft’s ray-tracing API, DirectX Raytracing. In September, Nvidia released the first RTX graphics cards that support real-time ray tracing. For more background, see our What is Ray Tracing and Why Do You Want it in Your GPU? feature. Now, developers have the tools they need to make use of Nvidia’s new technology.
Microsoft first revealed DirectX Raytracing (DXR) in March, long before Nvidia revealed its Turing architecture with real-time tracing support, but developers weren’t shy to adopt the new API. Microsoft was already working with a handful of partners, including EA Frostbite, EA SEED, UL (Futuremark at the time), Unity, and Unreal Engine. The company also opened the doors for developers to request an experimental build of the API to get a head start with the new technology, and many signed up. Indeed, Microsoft said that “DXR is one of the fastest adopted features that [it has] released in recent years.”
NOw, with Nvidia’s first round of RTX hardware now on the market and DirectX Raytracing support baked into Windows 10, developers have even more reason to take an interest in ray-tracing technology.
Making Adoption Easy
Microsoft’s new DXR API is an extension of the company’s existing DirectX 12 API, which should make it easy for developers to adopt. DXR introduces four new features that enable game builders to implement ray tracing into their upcoming and existing games.
The acceleration structure represents a full 3D environment as a single object that enables the GPU to efficiently calculate the trajectory of light rays and where they bounce.
The new DispatchRays command sets the point of origin for light rays entering the scene and submits the workload to the GPU.
The DXR API introduces ray-generation, closest-hit, any-hit, and miss shaders, which enable a game developer to assign unique sets of shaders and textures for each object that react to different lighting conditions.
The DXR API also introduces the raytracing pipeline state, which keeps raytracing workloads segregated from the graphics and compute pipeline, without requiring an entire raytracing engine. Microsoft designed DXR as a compute-like workload so that it can send raytracing data in sealed packages down either pipeline.
Transitioning from Rasterization to Raytracing
The new DXR features work side-by-side with existing rasterization techniques, which allows developers to implement ray tracing features without abandoning existing code. Developers can also choose which features are right for their games and implement the ones that work. Battlefield V will include ray-traced reflections, Shadow of the Tomb Raider will have ray-traced shadows, and Metro Exodus will use global illumination and ambient occlusion, but none of them will support all three features.
The ability to pick and choose features that work for particular engines and titles should coax developers to support ray tracing sooner rather than later.
Easier for Developers
Ray tracing enables lifelike lighting and shadows that make rendered graphics appear much more realistic. But more importantly, ray-traced lighting and shadows are easier for game developers to implement once the groundwork is in place.
With existing lighting techniques in rasterized graphics, a 3D artist must manually introduce custom lightmaps, shadow maps, and ambient occlusion maps for each asset in a game. With raytracing enabled, most of that work is done automatically as a natural reaction to using physics-based lighting.
DXR Isn't Married to RTX
Microsoft’s new DirectX Raytracing API is a big step towards the photorealistic real-time graphics that we’ve been dreaming of for decades. It gives developers a standardized toolset to work with, which they can use to create the most realistic graphics ever produced.
Currently, Nvidia’s the only game in town with hardware that supports real-time ray tracing, but Microsoft’s API is not married to Nvidia’s RTX technology. Like all Direct X APIs, DirectX Raytracing is hardware agnostic, which means that when new GPUs hit the market from the likes of AMD and eventually Intel, they should be compatible with DXR as well.
Microsoft’s DirectX Raytracing is baked right into the latest version of Windows 10, which launched on October 2 with the Windows 10 October Update. The new version of Windows is rolling out in a staggered release schedule, which means you could have the update now, or could get it within the next week or so. If you want to beat the queue, check out our guide to getting the update now. Just don't expect to be playing any ray-traced games in the short-term future, as none seem to be on offer just yet. But we have a feeling that will change fairly soon.