Grouped Photon Mapping

For the purpose of cutting simulation and visualization of diamonds, it is necessary to synthesize accurate images of diamonds. Therefore, several optical phenomena of diamonds such as the dispersion, total reflection, and caustics effects should be correctly represented. Besides, the very complicated illuminating and shadowing phenomena inside of diamonds have a great effect on a diamond’s appearance. These phenomena are due to the optics properties, and the cutting shapes’ geometry of diamonds. Because rays of light do reflect off many times within a diamond, it is very difficult to predict how many indirect shadow rays will go to the eyes. Thus, the problem mentioned above can not be handled correctly by adopting a standard single pass ray tracing method.

Photon mapping is an efficient global illumination method. It can be generally applied to simulate various visual or optical effects in complex scenes, especially caustics. However, photon mapping adopts the nearest-neighbor density estimation method, the result tends to generate systematic errors including proximity, boundary, and topological bias respectively. In addition, for some special objects such as diamonds, the transmission paths of light rays inside the object are so complicated that it would result in intolerable visual defects using standard photon mapping method. In this dissertation, we propose a novel architecture, grouped photon mapping, by combing standard photon mapping with the light-beam concept to improve the nearest-neighbor density estimation method. Based on the ray coherence of a light-beam, we cluster all photons into different beam-like groups of photons, where the photons in the same group have a coherent intersection-history in their transmission paths. We store each photon group in an isolated photon map which is also used to maintain a polygonal boundary to rebuild a beam-like illuminated area by the distribution of the photons. The illumination area forms a natural and accurate sampling area to filter the neighbor photons around the query point in the nearest-neighbor query stage. In addition, we apply a Level of Detail technique and an intuitive strategy for managing the process of reorganizing groups to achieve a trade-off between bias and noise. Finally, in terms of efficiency, we construct a double-layer kd-tree consisting of group and photon nodes respectively. This data structure is useful to first exclude most of unrelated photon groups and reduce the time on the point-boundary intersection testing and searching for the nearest-neighbor photons. The experiment results prove that our method can successfully reduce noise and bias, V and eliminate light leakage. Especially, for a gemstone object with complicated caustic effects, we can smoothly synthesize a high-quality image.