Nvidia RTX (also known as Nvidia GeForce RTX under the GeForce brand) is a professional visual computing platform created by Nvidia, primarily used in workstations for designing complex large-scale models in architecture and product design, scientific visualization, energy exploration, and film and video production, as well as being used in mainstream PCs for gaming.
Nvidia RTX features hardware-enabled real-time ray tracing. Historically, ray tracing had been reserved to non-real time applications (like CGI in visual effects for movies and in photorealistic renderings), with video games having to rely on direct lighting and precalculated indirect contribution for their rendering. RTX facilitates a new development in computer graphics of generating interactive images that react to lighting, shadows and reflections.[1] RTX runs on Nvidia Volta-, Turing-, Ampere- and Ada Lovelace-based GPUs, specifically utilizing the Tensor cores (and new RT cores on Turing and successors) on the architectures for ray-tracing acceleration.[2][3][4]
In March 2019, Nvidia announced that selected GTX 10 series (Pascal) and GTX 16 series (Turing) cards would receive support for subsets of RTX technology in upcoming drivers, although functions and performance will be affected by their lack of dedicated hardware cores for ray tracing.[5]
In October 2020, Nvidia announced Nvidia RTX A6000 as the first Ampere-architecture-based graphics card for use in professional workstations in the Nvidia RTX product line, replacing the former Quadro product line of professional graphics cards.[6]
Nvidia worked with Microsoft to integrate RTX support with Microsoft's DirectX Raytracing API (DXR). RTX is currently available through Nvidia OptiX and for DirectX. For the Turing and Ampere architectures, it is also available for Vulkan.[7]
Components
In addition to ray tracing, RTX includes artificial intelligence integration, common asset formats, rasterization (CUDA) support, and simulation APIs. The components of RTX are:[8]
In computer graphics, ray tracing generates an image by tracing rays cast through pixels of an image plane and simulating the effects of its encounters with virtual objects. This enables advanced effects that better reflect real-world optical properties, such as softer and more realistic shadows and reflections, as compared to traditional rasterization techniques which prioritize performance over accuracy.[9]
Nvidia RTX achieves this through a combination of hardware and software acceleration. On a hardware level, RTX cards feature fixed-function "RT cores" that are designed to accelerate mathematical operations needed to simulate rays, such as bounding volume hierarchy traversal. The software implementation is open to individual application developers. As ray-tracing is still computationally intensive, many developers choose to take a hybrid rendering approach where certain graphical effects, such as shadows and reflections, are performed using ray-tracing, while the remaining scene is rendered using the more performant rasterization.[10]
Nvidia OptiX is part of Nvidia DesignWorks. OptiX is a high-level, or "to-the-algorithm" API, meaning that it is designed to encapsulate the entire algorithm of which ray tracing is a part, not just the ray tracing itself. This is meant to allow the OptiX engine to execute the larger algorithm without application-side changes.