Achieving photorealistic image quality is one of the fundamental goals of computer graphics. Throughout the years several different techniques were developed to reach this goal, all off which have to model the physical world with the limited resources provided by the current generation of computer technology.
Solutions to this particular problem have been available for over 20 years, but even today it is a popular field of research. The photon mapping technique published in 1996 by Henrik Wann Jensen is one such solution that is utilized by several professional rendering applications.
Newer generations of video cards have immense computing capabilities, but its free exploitation for general purposes was a challenging job requiring an in-depth understanding of the device until recently. With the advances in the field GPGPU technologies, even desktop computers now have the capability to render photorealistic images in the fraction of hours that it used to require.
In this paper, I present the process of porting my CPU implementation of the photon map technique to the GPU to decrease the computing time by parallelizing tasks using NVIDIA’s CUDA technology that allows the general purpose programming of the highly parallel architecture of the graphics hardware.
The paper describes the basic theoretical background required for photon mapping, and presents an algorithm that utilizes some of the features provided by the current generation graphics cards with the execution of highly parallelizable tasks; in order to synthetize as realistic images as possible.