Photon Differential Splatting for Rendering Caustics
Abstract
We present a photon splatting technique which reduces noise and blur in the rendering of caustics. Blurring of illumination edges is an inherent problem in photon splatting, as each photon is unaware of its neighbours when being splatted. This means that the splat size is usually based on heuristics rather than knowledge of the local flux density. We use photon differentials to determine the size and shape of the splats such that we achieve adaptive anisotropic flux density estimation in photon splatting. As compared to previous work that uses photon differentials, we present the first method where no photons or beams or differentials need to be stored in a map. We also present improvements in the theory of photon differentials, which give more accurate results and a faster implementation. Our technique has good potential for GPU acceleration, and we limit the number of parameters requiring user adjustment to an overall smoothing parameter and the number of photons to be traced.Technique for anisotropic flux density estimation in photon splatting when rendering caustics. The attached graphics compare renderings obtained in equal time when using existing splatting techniques (left and middle) and when using our technique (right). The visual improvement is sharper edges and smoother soft illumination.
BibTeX
@article {10.1111:cgf.12347,
journal = {Computer Graphics Forum},
title = {{Photon Differential Splatting for Rendering Caustics}},
author = {Frisvad, Jeppe Revall and Schjøth, Lars and Erleben, Kenny and Sporring, Jon},
year = {2014},
publisher = {The Eurographics Association and John Wiley and Sons Ltd.},
ISSN = {1467-8659},
DOI = {10.1111/cgf.12347}
}
journal = {Computer Graphics Forum},
title = {{Photon Differential Splatting for Rendering Caustics}},
author = {Frisvad, Jeppe Revall and Schjøth, Lars and Erleben, Kenny and Sporring, Jon},
year = {2014},
publisher = {The Eurographics Association and John Wiley and Sons Ltd.},
ISSN = {1467-8659},
DOI = {10.1111/cgf.12347}
}