Global Illumination: Part VII of Ray Tracing Gems

In the final installment of Ray Tracing Gems, we examine the dramatic impact ray tracing can have on global illumination. Lighting feels warmer, richer, and more realistic using this technique. “Ray Tracing Gems Part VII” can be downloaded at NVIDIA Developer Zone.

Here is the forward for Part VII, written by Matt Pharr, distinguished research scientist at NVIDIA:

“Lighting in the real world is remarkably complex, in large part due to multiple scattered light-photons that leave a light source, bounce off other non-emissive surfaces, and indirectly illuminate objects in the scene. Modeling this lighting effect, known as global illumination, greatly contributes to the realism of rendered images, as it is something that we are used to seeing all the time in the real world.

“Since the introduction of programmable GPUs almost 20 years ago, developers have worked to develop real-time global illumination algorithms. While there has been great innovation, it has been hampered by GPUs that, until recently, offered only rasterization as a visibility algorithm. The challenge with global illumination is that the visibility queries that one would like to make are highly incoherent, point-to-point tests – not at all a good fit for a rasterizer.

“With the introduction of RTX GPUs, ray tracing is now available in the real-time graphics pipeline. Of course, having this capability does not make everything easy: one still has to choose one’s rays carefully, use clever algorithms, and consider denoising. This part includes five chapters that describe cutting-edge work in ray tracing for global illumination, all of it well suited to GPU rendering.

“Chapter 28, ‘Ray Tracing Inhomogeneous Volumes,’ is about rendering volumetric scattering with ray tracing. It describes key techniques for rendering clouds, smoke, and explosions, with an approach that integrates cleanly into surface ray tracing. A full implementation of the algorithms described is included.

“While not strictly related to global illumination, Chapter 29, ‘Efficient Particle Volume Splatting in a Ray Tracer,’ concerns rendering hundreds of million particles efficiently, using ray tracing instead of rasterization. The technique could also be applied to ray tracing all sorts of other complex scattering effects from many small particles.

“Chapter 30, ‘Caustics Using Screen-Space Photon Mapping,’ is entirely focused on caustics, the often beautiful light patterns that result from light reflecting or refracting from curved surfaces. It explains how to render them using photon mapping, a technique based on tracing light particles from emitters and then using their local density at points being shaded to estimate caustics there.

“With modern light transport algorithms, mathematical innovation can be just as important as code optimization and performance. Chapter 31, ‘Variance Reduction via Footprint Estimation in the Presence of Path Reuse,’ considers the task of weighting light-carrying paths when using hybrid light transport algorithms that combine bidirectional path tracing and photon mapping, introducing a new approach to this problem.

“This part (and this book) concludes with Chapter 32, ‘Accurate Real-Time Specular Reflections with Radiance Caching,’ which describes a technique to accurately render glossy specular reflections that combines ray tracing from specular surfaces – to accurately compute points that they reflect – and cube map radiance probes – as an efficient approximation of their reflected light.

“Enjoy these chapters, all of which are undeniably illuminating. The many interesting ideas that they present will almost certainly be useful in the rendering challenges that you face in the future.”

Matt Pharr, distinguished research scientist at NVIDIA