👤by David Mitchelson Comments 📅07-02-19
Features – Real-Time Raytracing

It’s no exaggeration to say that real-time raytracing is the holy grail of graphics rendering, but has been considered to be years, perhaps decades away from being realised. The issue is that it’s inordinately complicated and computationally expensive, to the extent that movie and animation studios dedicate years and whole supercomputers to just rendering high-fidelity raytraced images. Games instead rely on rasterization and post-processing techniques to do their best approximation of a raytraced scene simply in order to generate frames in real-time.

"Reflections", A Star Wars UE4 Demo Featuring Real-time Raytracing

For all its speed, rasterization has a number of weaknesses. Chief among these are dynamic reflections and shadows, both of which require simplifications and algorithmic tweaks to look anything like realistic, and only tend to incorporate objects within the scene. And as you’ve probably noticed, improving the rendered quality of these aspects of a scene still tends to tank frame rates. If only ray-tracing could be performed at real-time, even operating on only a few elements of a scene, realism could be improved substantially.

NVIDIA have plenty of background in GPU-accelerated raytracing, and through NVIDIA Iray plugins and the Optix engine have for years been providing tools to industries that aid in the swift generation of realistic imagery. A breakthrough allowed Volta hardware to process a realistic raytraced scene in real-time, culminating in the first public debut of the now-famous Star Wars Reflections demo running on four Volta GPUs. But even this is a far cry from operating at 60+fps on a single GPU, as expected in modern gaming applications.

NVIDIA’s Turing architecture, as it happens, advances development further through the incorporation of new many hardware-based raytracing acceleration engines known as RT Cores. An RT core is present in each Turing Shader Module module, implicitly making it a scalable technology as the GPU increases in size from the TU106 to the huge 775mm^2 TU102. But the real trick is the use of Hybrid Rendering.

RT Cores work together with advanced denoising filtering, a highly-efficient Bounding Volume Hierarchy (BVH) acceleration structure developed by NVIDIA Research, and RTX compatible APIs to achieve real time ray tracing on single Turing GPU. RT Cores traverse the BVH autonomously, and by accelerating traversal and ray/triangle intersection tests, they offload the SM, allowing it to handle other vertex, pixel, and compute shading work. Functions such as BVH building and refitting are handled by the driver, and ray generation and shading is managed by the application through new types of shaders.”

Hybrid Rendering is a combination of both rasterization and real-time raytracing, the former used where it is optimal while the latter is used selectively where it would make the most visual impact. These could be reflections, shadows, refractions or other core elements that game developers feel is important to their game world; Battlefield 5 for instance utilises real-time raytracing to process reflections, while Shadow of the Tomb Raider apply the technology to shadows.

A critical aspect of Hybrid Rendering is that both rasterization and real-time raytracing pipelines operate in parallel rather than sequentially. Furthermore raytracing, just like rasterization, can have its complexity dialled back based on utilisation and available GPU horsepower. NVIDIA have developed de-noising filters (known as the NVIDIA Real-Time Ray Tracing Denoiser modules) which can greatly reduce the number of rays required per pixel to generate the desired visual impact, thus improving computational efficiency.

Microsoft have built raytracing into their DirectX Raytracing (DXR) extension of the DX12 API, and game engines will use these hooks to tap into NVIDIA’s hardware acceleration for raytracing. In theory it’s possible to use older GPUs for this application, but without RT cores rendering each frame would take an age; the RTX 2080 Ti is capable of processing rays 10 times faster than an GTX 1080 Ti. DXR is scheduled to roll out with the Windows Fall 2018 Update, after which games can implement the technology and NVIDIA can begin to unlock the functionality at the driver level.

So far eleven games have been announced to be incorporating elements of raytracing through DXR and NVIDIA RTX technologies:

- Assetto Corsa Competizione from Kunos Simulazioni / 505 Games
- Atomic Heart by Mundfish
- Battlefield V from DICE
- Control from Remedy Entertainment / 505 Games
- Enlisted by Gaijin Entertainment/Darkflow Software
- Justice from NetEase
- JX3 from Kingsoft
- MechWarrior 5: Mercenaries from Piranha Games
- Metro Exodus from 4A Games
- ProjectDH from Nexon’s devCAT Studio.
- Shadow of the Tomb Raider from Square Enix/Eidos-Montréal/Crystal Dynamics/Nixxes

Actual implementation into the finished game may not be immediate or on launch, but NVIDIA have been forthright in the opinion that developers are extremely excited by the scope of the technology. Also, implementation might be relatively straightforward in the grand scheme of things; the Shadow of the Tomb Raider developers apparently had only a few weeks to prepare their demo for Gamescom.

Of course, this only just skims the surface of NVIDIA’s new real-time raytracing technologies. NVIDIA have additional resources available if you’re keen on delving deeper.

21 pages « < 4 5 6 7 > »