Hardware-Accelerated Global Illumination by Image Space Photon Mapping
"Hardware-Accelerated Global Illumination by Image Space Photon Mapping"
Morgan McGuire (NVIDIA), David Luebke (NVIDIA), in ACM SIGGRAPH/EuroGraphics High Performance Graphics 2009, August 2009
|Research Area:||3D Graphics|
|Author(s):||Morgan McGuire (NVIDIA), David Luebke (NVIDIA)|
We describe an extension to photon mapping that recasts the most expensive steps of the algorithm -- the initial and final photon bounces -- as image-space operations amenable to GPU acceleration. This enables global illumination for real-time applications as well as accelerating it for offline rendering. Image Space Photon Mapping (ISPM) rasterizes a light-space bounce map of emitted photons surviving initial-bounce Russian roulette sampling on a GPU. It then traces photons conventionally on the CPU. Traditional photon mapping estimates final radiance by gathering photons from a k-d tree. ISPM instead scatters indirect illumination by rasterizing an array of photon volumes. Each volume bounds a filter kernel based on the a priori probability density of each photon path. These two steps exploit the fact that initial path segments from point lights and final ones into a pinhole camera each have a common center of projection. An optional step uses joint bilateral upsampling of irradiance to reduce the fill requirements of rasterizing photon volumes. ISPM preserves the accurate and physically-based nature of photon mapping, supports arbitrary BSDFs, and captures both high- and low-frequency illumination effects such as caustics and diffuse color interreflection. An implementation on a consumer GPU and 8-core CPU renders high-quality global illumination at up to 26 Hz at HD (1920x1080) resolution, for complex scenes containing moving objects and lights.