Photon
Map Gathering on the GPU
Szabolcs Czuczor, László Szirmay-Kalos, László
Szécsi, and László Neumann
Department of Control Engineering and Information Technology, Technical
University of Budapest,
Budapest, Magyar Tudósok krt. 2,
szirmay@iit.bme.hu
Abstract:
Photon mapping methods obtain the
indirect illumination of a point by finding those photon hits that arrived at
the neighborhood of the point on the object surface. These neighborhood
searches are the most time consuming step of the final gathering phase even if
sophisticated data structures, like the kd-tree, are used. This paper proposes
a method that stores the photon hits in a texture of the graphics hardware and
replaces neighborhood searches by the filtering of this texture. The filtering
step find the irradiance of all points (i.e. all texels) simultaneously in a
single step, thus the average irradiance of a point can be obtained by a single
texture lookup. Using this approach we can port the final gathering step of
photon mapping to the graphics hardware (GPU). The CPU is only responsible for
generating new light paths and updating the unfiltered photon map. Thanks to
the optimal subdivision of the computation work between the the CPU and the
GPU, the proposed algorithm can render globally illuminated scenes
interactively.
Keywords:
Global illumination, GPU
programming, HLSL, photon mapping, final gathering.