Photon Splatting Using a View-Sample Cluster Hierarchy
High-Performance Graphics, 2016
Abstract
Splatting photons onto primary view samples, rather than gathering from a photon acceleration structure, can be a more efficient approach to evaluating the photon-density estimate in interactive applications, where the number of photons is often low compared to the number of view samples. Most photon splatting approaches struggle with large photon radii or high resolutions due to overdraw and insufficient culling. In this paper, we show how dynamic real-time diffuse interreflection can be achieved by using a full 3D acceleration structure built over the view samples and then splatting photons onto the view samples by traversing this data structure. Full dynamic lighting and scenes are possible by tracing and splatting photons, and rebuilding the acceleration structure every frame. We show that the number of view-sample/photon tests can be significantly reduced and suggest further culling techniques based on the normal cone of each node in the hierarchy. Finally, we present an approximate variant of our algorithm where photon traversal is stopped at a fixed level of our hierarchy, and the incoming radiance is accumulated per node and direction, rather than per view sample. This improves performance significantly with little visible degradation of quality.
News
- 2021-11-24: Tweaks to the BibTeX entry.
- 2017-11-21:
- Add a direct link to the paper's Eurographics DigitalLibrary webpage;
- Add the BibTeX entry;
- Some slight HTML formatting and fixes.
- 2016-08-01: Update the author generated version of the paper to include a direct link to the corresponding diglib page.
Downloads
- Paper
- BibTeX entry
-
@inproceedings{ Moreau2016, author = {Moreau, Pierre and Sintorn, Erik and Kämpe, Viktor and Assarsson, Ulf and Doggett, Michael}, title = {Photon Splatting Using a View-Sample Cluster Hierarchy}, pages = {75–85}, DOI = {10.2312/hpg.20161194}, editor = {Assarsson, Ulf and Hunt, Warren}, publisher = {The Eurographics Association}, address = {Goslar, {DEU}}, booktitle = {Eurographics/ {ACM} {SIGGRAPH} Symposium on High-Performance Graphics}, series = {{HPG} '16}, year = {2016}, ISSN = {2079-8679}, ISBN = {978-3-03868-008-6}, eventdate = {2016-06-20–2016-06-22}, venue = {Dublin, {IRL}} }
- Slides
- Presentation at HPG 2016 in Dublin
- Code
- Source code (coming soon)
- Videos
-
- Moving objects in Sponza with 200k photons of radius 3, using our cluster-trivial method
- Moving caustics in Sponza, using our cluster-trivial method
- Fly-through of Sponza with 200k photons of radius 1.2, using our cluster-trivial method
- Fly-through of Sponza with 50M photons of radius 0.2, using our cluster-trivial method
- Fly-through of Sibenik with 200k photons of radius 1.2, using our cluster-trivial method
- Fly-through of Sibenik with 50M photons of radius 0.2, using our cluster-trivial method
- Fly-through of San Miguel with 200k photons of radius 2, using our cluster-trivial method
- Fly-through of San Miguel with 50M photons of radius 0.2, using our cluster-trivial method
Videos
All videos were captured in real-time using OBS Studio on an NVIDIA Titan X GPU (with 12 GB of VRAM).