NVIDIA Researchers Demonstrate New Raytracing Algorithm That Can Render Direct Lighting from Millions of Dynamic Light Sources
As part of SIGGRAPH 2020, NVIDIA researchers (in collaboration with the Visual Computing Lab at Dartmouth College) recently released a paper showcasing ReSTIR, a new raytracing algorithm capable of rendering dynamic direct lighting and shadows from millions of light sources in real-time.
Describing the ReSTIR raytracing algorithm, Benedikt Bitterli, one of the paper’s authors and a Dartmouth Ph.D. student who just got a 2020 NVIDIA graduate fellowship, stated:
Our key insight was to reuse information from spatially and temporally adjacent pixels to inform which rays to trace. This idea resembles modern post-process denoising and antialiasing, but while denoising filters the pixel colors directly, we filter probabilities to help guide rays to reduce future noise.
Kevin Margo, CGI Creative Director at NVIDIA, added:
This will bring about a sea change for content creation. This research lets us light scenes intuitively, placing arbitrary numbers of emissive objects that cast dynamic shadows, and the lighting ‘just works’ in the renderer.
ReSTIR repeatedly resamples a set of candidate light samples and applies further spatial and temporal resampling to leverage information from relevant nearby samples.
In the impressive video demonstration embedded below, this raytracing algorithm managed to do all this while tracing 8 rays per pixel at most, rendering scenes containing up to 3.4 million dynamic and emissive triangles in under 50ms per frame. The GPU used was a GeForce RTX 2080Ti, with the exception of the Amusement Park scene, which according to the researchers had higher memory requirements and thus required using a Titan RTX graphics card instead.
Overall, this approach is 6-60x faster than the previous state of the art methods (such as Dynamic Many-Light Sampling for Real-Time Raytracing by Moreau et al., 2019) when using an unbiased estimator and 35-65x faster when using a biased estimator (which further reduces noise at the expense of some image darkening and energy loss). Another major takeaway, according to the researchers, is that denoising and filtering do not have to be restricted to post-processing once rendering is done, as with the ReSTIR raytracing algorithm denoising is part of the core renderer and filtering handles PDFs (probability density functions) instead of colors.
As with most scientific research, ReSTIR probably isn't ready for prime time just yet. In fact, the researchers themselves point to some current limitations their method incurs into when trying to extend the direct lighting (or global illumination) from screen space to world space, though they've also indicated potential solutions for this issue such as path space hashing.
Still, it is yet more proof that raytracing is here to stay. If current-gen Turing-based GPUs like the RTX 2080Ti and Titan RTX can already render millions of dynamic lights in real time, the task should be a lot easier for the upcoming next-gen Ampere-based GPUs, which are rumored to be exponentially faster in this particular area. We'll know more details soon enough, given that the launch is expected by the month of September.