Progressive Light Transport Simulation on the GPU

Graphics Processing Units (GPUs) recently became general enough to enable implementation of a variety of light transport algorithms. However, the efficiency of these GPU implementations has received relatively little attention in the research literature and no systematic study on the topic exists to date. The goal of our work is to fill this gap. Our main contribution is a comprehensive and in-depth investigation of the efficiency of the GPU implementation of a number of classic as well as more recent progressive light transport simulation algorithms. We present several improvements over the state-of-the-art. In particular, our light vertex cache, a new approach to mapping connections of subpath vertices in bidirectional path tracing on the GPU, outperforms the existing implementations by 30--60%. We also describe a first GPU implementation of the recently introduced vertex connection and merging algorithm [Georgiev et al. 2012], showing that even relatively complex light transport algorithms can be efficiently mapped on the GPU. With the implementation of many of the state-of-the-art algorithms within a single system at our disposal, we present a unique direct comparison and analysis of their relative performance.

[1]  Adam Arbree,et al.  Scalable Realistic Rendering with Many‐Light Methods , 2014, Eurographics.

[2]  Iliyan Georgiev,et al.  Implementing Vertex Connection and Merging , 2013 .

[3]  Toshiya Hachisuka,et al.  Parallel progressive photon mapping on GPUs , 2010, SIGGRAPH ASIA.

[4]  Pat Hanrahan,et al.  Ray tracing on programmable graphics hardware , 2002, SIGGRAPH Courses.

[5]  Toshiya Hachisuka,et al.  Robust adaptive photon tracing using photon path visibility , 2011, TOGS.

[6]  Pat Hanrahan,et al.  Ray tracing on a connection machine , 1988, ICS '88.

[7]  David K. McAllister,et al.  OptiX: a general purpose ray tracing engine , 2010, ACM Trans. Graph..

[8]  Adam Arbree,et al.  Scalable Realistic Rendering with Many‐Light Methods , 2014, Comput. Graph. Forum.

[9]  Dinesh Manocha,et al.  Memory-Scalable GPU Spatial Hierarchy Construction , 2011, IEEE Transactions on Visualization and Computer Graphics.

[10]  Adam Arbree,et al.  Optimizing realistic rendering with many-light methods , 2012, SIGGRAPH '12.

[11]  Bart Preneel,et al.  Hash functions , 2005, Encyclopedia of Cryptography and Security.

[12]  H. Jensen Realistic Image Synthesis Using Photon Mapping , 2001 .

[13]  Dinesh Manocha,et al.  Fast BVH Construction on GPUs , 2009, Comput. Graph. Forum.

[14]  Dietger van Antwerpen,et al.  Improving SIMD efficiency for parallel Monte Carlo light transport on the GPU , 2011, HPG '11.

[15]  Jeffrey Scott Vitter,et al.  Random sampling with a reservoir , 1985, TOMS.

[16]  Tim Foley,et al.  KD-tree acceleration structures for a GPU raytracer , 2005, HWWS '05.

[17]  Jacopo Pantaleoni,et al.  HLBVH: hierarchical LBVH construction for real-time ray tracing of dynamic geometry , 2010, HPG '10.

[18]  D. G. Van Antwerpen,et al.  Unbiased physically based rendering on the GPU , 2011 .

[19]  Timo Aila,et al.  On quality metrics of bounding volume hierarchies , 2013, HPG '13.

[20]  Toshiya Hachisuka,et al.  Stochastic progressive photon mapping , 2009, ACM Trans. Graph..

[21]  Yves D. Willems,et al.  Bi-directional path tracing , 1993 .

[22]  John Hart,et al.  ACM Transactions on Graphics , 2004, SIGGRAPH 2004.

[23]  Philipp Slusallek,et al.  A parallel algorithm for construction of uniform grids , 2009, High Performance Graphics.

[24]  Pierre Poulin,et al.  Combinatorial Bidirectional Path‐Tracing for Efficient Hybrid CPU/GPU Rendering , 2011, Comput. Graph. Forum.

[25]  Jacopo Pantaleoni,et al.  A path space extension for robust light transport simulation , 2012, ACM Trans. Graph..

[26]  Vlastimil Havran,et al.  Path Regeneration for Interactive Path Tracing , 2010, Eurographics.

[27]  Jan Kautz,et al.  The State of the Art in Interactive Global Illumination , 2012, Comput. Graph. Forum.

[28]  Matthias Zwicker,et al.  Progressive photon mapping: A probabilistic approach , 2011, TOGS.

[29]  James T. Kajiya,et al.  The rendering equation , 1986, SIGGRAPH.

[30]  Andreas Dietrich,et al.  OptiX: a general purpose ray tracing engine , 2010, SIGGRAPH 2010.

[31]  Jiří Vorba,et al.  Optimal strategy for connecting light paths in bidirectional methods for global ilumination computation , 2011 .

[32]  Timo Aila,et al.  Fast parallel construction of high-quality bounding volume hierarchies , 2013, HPG '13.

[33]  Marc Olano,et al.  GPU random numbers via the tiny encryption algorithm , 2010, HPG '10.

[34]  Kun Zhou,et al.  Real-time KD-tree construction on graphics hardware , 2008, SIGGRAPH Asia '08.

[35]  Leonidas J. Guibas,et al.  Bidirectional Estimators for Light Transport , 1995 .

[36]  Vlastimil Havran,et al.  Heuristic ray shooting algorithms , 2000 .

[37]  Timo Aila,et al.  Megakernels considered harmful: wavefront path tracing on GPUs , 2013, HPG '13.

[38]  H. Jensen,et al.  Stochastic progressive photon mapping , 2009, ACM Trans. Graph..

[39]  Hans-Peter Seidel,et al.  Stackless KD‐Tree Traversal for High Performance GPU Ray Tracing , 2007, Comput. Graph. Forum.

[40]  Markus Wagner,et al.  Interactive Rendering with Coherent Ray Tracing , 2001, Comput. Graph. Forum.

[41]  Andreas Dietrich,et al.  Spatial splits in bounding volume hierarchies , 2009, High Performance Graphics.

[42]  Timo Aila,et al.  Understanding the efficiency of ray traversal on GPUs , 2009, High Performance Graphics.

[43]  H. Jensen,et al.  Progressive photon mapping , 2008, SIGGRAPH 2008.

[44]  John C. Hart,et al.  The ray engine , 2002, HWWS '02.

[45]  Ingo Wald,et al.  Embree ray tracing kernels for CPUs and the Xeon Phi architecture , 2013, SIGGRAPH '13.

[46]  Philipp Slusallek,et al.  Light transport simulation with vertex connection and merging , 2012, ACM Trans. Graph..

[47]  Kellogg S. Booth,et al.  Report from the chair , 1986 .

[48]  Leonidas J. Guibas,et al.  Optimally combining sampling techniques for Monte Carlo rendering , 1995, SIGGRAPH.

[49]  Alexander Keller,et al.  Instant radiosity , 1997, SIGGRAPH.

[50]  Pat Hanrahan,et al.  Photon mapping on programmable graphics hardware , 2003, HWWS '03.

[51]  Yao Zhang,et al.  Scan primitives for GPU computing , 2007, GH '07.