This paper presents a GPGPU implementation of a global illumination technique, the photon map method. The purpose of this program is to create photorealistic images. Because the algorithm scales very well to multiple threads, the GPGPU is a natural choice as the hardware.
First, the paper shows some of the current methods of photorealistic image synthesis, then reviews the way the video cards evolved into general purpose hardware. In this section we show the main differences between the CPU ant the GPU.
In the next chapter we give a run-down on the main steps of the photon map method, namely the photon shooting, the building of the data structure and the last stage, the gathering.
We also implement a photon mapping program on the GPU using the CUDA-C programming language. The second half of the paper details this implementation, including the feasibility of the parallel execution of the main steps.
After this we analyze the main parameters of the program, and their impact on the created image. The examined parameters are: the number of samples per pixel, the number of photon hits and the range of the range search for gathering the photons.
And last, we evaluate the program, mainly by its speed versus a CPU implementation.