ABSTRACT
We present a modified photon mapping algorithm capable of running entirely on GPUs. Our implementation uses breadth-first photon tracing to distribute photons using the GPU. The photons are stored in a grid-based photon map that is constructed directly on the graphics hardware using one of two methods: the first method is a multipass technique that uses fragment programs to directly sort the photons into a compact grid. The second method uses a single rendering pass combining a vertex program and the stencil buffer to route photons to their respective grid cells, producing an approximate photon map. We also present an efficient method for locating the nearest photons in the grid, which makes it possible to compute an estimate of the radiance at any surface location in the scene. Finally, we describe a breadth-first stochastic ray tracer that uses the photon map to simulate full global illumination directly on the graphics hardware. Our implementation demonstrates that current graphics hardware is capable of fully simulating global illumination with progressive, interactive feedback to the user.
- ATI. Radeon 9800 Pro product web site, 2003. http://mirror.ati.com/products/pc/radeon9800pro/index.html.Google Scholar
- Kenneth E. Batcher. Sorting networks and their applications. Proceedings of AFIPS Spring Joint Computing Conference, 32:307--314, 1968.Google ScholarDigital Library
- Jon Louis Bentley. Multidimensional binary search trees used for associative searching. Communications of the ACM, 18(9):509--517, 1975. Google ScholarDigital Library
- Jeff Bolz, Ian Farmer, Eitan Grinspun, and Peter Schröder. Sparse matrix solvers on the GPU: Conjugate gradients and multigrid. ACM Transactions on Graphics, 2003. (To appear in Proceedings of ACM SIGGRAPH 2003). Google ScholarDigital Library
- Nathan A. Carr, Jesse D. Hall, and John C. Hart. The ray engine. In Graphics Hardware, pages 37--46, 2002. Google ScholarDigital Library
- John Gerald Cleary. Analysis of an algorithm for finding nearest neighbors in Euclidean space. ACM Transactions on Mathematical Software (TOMS), 5(2):183--192, 1979. Google ScholarDigital Library
- Robert L. Cook, Thomas Porter, and Loren Carpenter. Distributed ray tracing. In Proceedings of the 11th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH '84), pages 137--145, 1984. Google ScholarDigital Library
- Cindy M. Goral, Kenneth E. Torrance, Donald P. Greenberg, and Bennett Battaile. Modelling the interaction of light between diffuse surfaces. In Computer Graphics (Proceedings of SIGGRAPH 84), volume 18, pages 213--222, July 1984. Google ScholarDigital Library
- Mark Harris, Greg Coombe, Thorsten Scheuermann, and Anselmo Lastra. Physically-based visual simulation on graphics hardware. In Graphics Hardware, pages 109--118, 2002. Google ScholarDigital Library
- Henrik Wann Jensen. Global illumination using photon maps. In Rendering Techniques '96: 7th Eurographics Workshop on Rendering, pages 21--30, 1996. Google ScholarDigital Library
- Henrik Wann Jensen. Realistic Image Synthesis using Photon Mapping. A K Peters, 2001. ISBN 1568811470. Google ScholarDigital Library
- James T. Kajiya. The rendering equation. In Computer Graphics (Proceedings of ACM SIGGRAPH 86), pages 143--150, 1986. Google ScholarDigital Library
- Ujval J. Kapasi, William J. Dally, Scott Rixner, Peter R. Mattson, John D. Owens, and Brucek Khailany. Efficient conditional operations for data-parallel architectures. In Proceedings of the 33rd Annual ACM/IEEE International Symposium on Microarchitecture, pages 159--170, 2000. Google ScholarDigital Library
- Jens Krüger and Rüdiger Westermann. Linear algebra operators for gpu implementation of numerical algorithms. ACM Transactions on Graphics, 2003. (To appear in Proceedings of ACM SIGGRAPH 2003). Google ScholarDigital Library
- E. Scott Larsen and David McAllister. Fast matrix multiplies using graphics hardware. In Supercomputing 2001, page 55, 2001. Google ScholarDigital Library
- Vincent C. H. Ma and Michael D. McCool. Low latency photon mapping using block hashing. In Graphics Hardware (2002), pages 89--98, 2002. Google ScholarDigital Library
- William R. Mark, Steve Glanville, and Kurt Akeley. Cg: A system for programming graphics hardware in a c-like language. ACM Transactions on Graphics, 2003. (To appear in Proceedings of ACM SIGGRAPH 2003). Google ScholarDigital Library
- Microsoft. DirectX home page, 2003. http://www.microsoft.com/directx/.Google Scholar
- NVIDIA. Geforce FX 5900 product web site, 2003. http://nvidia.com/view.asp?PAGE=fx_5900.Google Scholar
- Steven Parker, William Martin, Peter-Pike J. Sloan, Peter Shirley, Brian Smits, and Charles Hansen. Interactive ray tracing. In 1999 ACM Symposium on Interactive 3D Graphics, pages 119--126, 1999. Google ScholarDigital Library
- Timothy J. Purcell, Ian Buck, William R. Mark, and Pat Hanrahan. Ray tracing on programmable graphics hardware. ACM Transactions on Graphics, 21(3):703--712, July 2002. ISSN 0730-0301 (Proceedings of ACM SIGGRAPH 2002). Google ScholarDigital Library
- Frank Suykens and Yves D. Willems. Density control for photon maps. In Rendering Techniques 2000: 11th Eurographics Workshop on Rendering, pages 23--34, 2000. Google ScholarDigital Library
- Ingo Wald, Thomas Kollig, Carsten Benthin, Alexander Keller, and Philipp Slusallek. Interactive global illumination using fast ray tracing. In Rendering Techniques 2002: 13th Eurographics Workshop on Rendering, pages 15--24, 2002. Google ScholarDigital Library
- Ingo Wald, Philipp Slusallek, Carsten Benthin, and Markus Wagner. Interactive rendering with coherent ray tracing. Computer Graphics Forum, 20(3):153--164, 2001.Google ScholarDigital Library
- Greg Ward and Paul Heckbert. Irradiance gradients. In Eurographics Rendering Workshop, pages 85--98, May 1992.Google Scholar
- Turner Whitted. An improved illumination model for shaded display. Communications of the ACM, 23(6):343--349, 1980. Google ScholarDigital Library
Index Terms
- Photon mapping on programmable graphics hardware
Recommendations
Progressive photon mapping
SIGGRAPH Asia '08: ACM SIGGRAPH Asia 2008 papersThis paper introduces a simple and robust progressive global illumination algorithm based on photon mapping. Progressive photon mapping is a multi-pass algorithm where the first pass is ray tracing followed by any number of photon tracing passes. Each ...
Progressive photon mapping: A probabilistic approach
In this article we present a novel formulation of progressive photon mapping. Similar to the original progressive photon mapping algorithm, our approach is capable of computing global illumination solutions without bias in the limit, and it uses only a ...
Photon mapping on programmable graphics hardware
HWWS '03: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardwareWe present a modified photon mapping algorithm capable of running entirely on GPUs. Our implementation uses breadth-first photon tracing to distribute photons using the GPU. The photons are stored in a grid-based photon map that is constructed directly ...
Comments