Progressive Photon Mapping on GPUs
Faculty of Information Technology, Mathematics and Electrical Engineering, Department of Computer and Information Science, Norwegian University of Science and Technology
Norwegian University of Science and Technology, 2013
@article{pedersen2013progressive,
title={Progressive Photon Mapping on GPUs},
author={Pedersen, Stian Aaraas},
year={2013},
publisher={Institutt for datateknikk og informasjonsvitenskap}
}
Physically based rendering using ray tracing is capable of producing realistic images of much higher quality than other methods. However, the computational costs associated with exploring all paths of light are huge; it can take hours to render high quality images of complex scenes. Using graphics processing units has emerged as a popular way to speed up this process. The recent appearance of libraries like Nvidia’s CUDA and OptiX make the processing power of modern GPUs more available than ever before. This project includes an overview of current photon mapping techniques. We present a complete render application based on photon mapping which runs entirely on the GPU. Several different photon map implementations suitable for modern GPU architectures are considered and evaluated. A uniform grid approach based on photon sorting on the GPU is found to be fast to construct and efficient for photon gathering. The application is extended to support volumetric effects like fog and smoke. Our implementation is tested on a set of benchmark scenes exhibiting phenomenon like global illumination, reflections and refractions, and participating volumetric media. A major contribution of this thesis is to demonstrate how recent advances in photon mapping can be used to render an image using many GPUs simultaneously. Our results show that we are able to get close to linear speedup employing up to six GPUs in a distributed system. We can emit up to 18 million photons per second on six Nvidia GTX 480 and generate images of our test scenes with little to no noise in a few minutes. Our implementation is straightforward to extend to a cluster of GPUs.
October 18, 2013 by hgpu