Cache and Bandwidth Aware Real-time Subsurface Scattering
PhD. Dissertation (Advisor: Marc Olano).
Abstract: Photo-realistic subsurface scattering is a demanding feature in many real-time
applications, especially in next-generation games and virtual productions where the
uncanny valley needs to be addressed for real-time human skin rendering. Most
importantly, it must be addressed in milliseconds or less without visible quality
compromise. These quality and performance demands are prohibitively expensive
when using Monte Carlo sampling for subsurface scattering. Moreover, real-time
rendering is limited by hardware capability and GPU cache architectures. This
dissertation explores novel algorithms for high-quality photo-realistic real-time subsurface
scattering with cache incoherence and limited bandwidth.
To achieve this, a new generic taxonomy is proposed for heterogeneous realtime
rendering to identify techniques that can improve bandwidth and cache utilization.
A single pass, variance guided, and generic O(1) real-time adaptive sampling
technique is proposed to minimize bandwidth demands and improve cache utilization.
This adaptive sampling pass works with different global temporal accumulation
techniques (e.g., Temporal Anti-Aliasing and Deep Learning Super Sampling) to further improve quality. We propose a new technique, adaptive filtered importance
sampling (AFIS), based on our single pass adaptive sampling technique and
filtered importance sampling. A hybrid AFIS and the separable approximation technique
allows the user to balance quality and performance. To deal with instability
during dynamic lighting, a novel use of Control Variates (CV) in the sample domain
instead of shading domain is proposed.
Our algorithm induces as little as one texture overhead to a real-time rendering
engine, and has been battle tested in the Unreal Engine, a commercial game engine.