A survey of photon mapping state-of-the-art research and future challenges
---
paper_title: Light transport simulation with vertex connection and merging

paper_content:

Developing robust light transport simulation algorithms that are capable of dealing with arbitrary input scenes remains an elusive challenge. Although efficient global illumination algorithms exist, an acceptable approximation error in a reasonable amount of time is usually only achieved for specific types of input scenes. To address this problem, we present a reformulation of photon mapping as a bidirectional path sampling technique for Monte Carlo light transport simulation. The benefit of our new formulation is twofold. First, it makes it possible, for the first time, to explain in a formal manner the relative efficiency of photon mapping and bidirectional path tracing, which have so far been considered conceptually incompatible solutions to the light transport problem. Second, it allows for a seamless integration of the two methods into a more robust combined rendering algorithm via multiple importance sampling. A progressive version of this algorithm is consistent and efficiently handles a wide variety of lighting conditions, ranging from direct illumination, diffuse and glossy inter-reflections, to specular-diffuse-specular light transport. Our analysis shows that this algorithm inherits the high asymptotic performance from bidirectional path tracing for most light path types, while benefiting from the efficiency of photon mapping for specular-diffuse-specular lighting effects.
---
paper_title: Into the Blue: Better Caustics through Photon Relaxation

paper_content:

The photon mapping method is one of the most popular algorithms employed in computer graphics today. However, obtaining good results is dependent on several variables including kernel shape and bandwidth, as well as the properties of the initial photon distribution. While the photon density estimation problem has been the target of extensive research, most algorithms focus on new methods of optimising the kernel to minimise noise and bias. In this paper we break from convention and propose a new approach that directly redistributes the underlying photons. We show that by relaxing the initial distribution into one with a blue noise spectral signature we can dramatically reduce background noise, particularly in areas of uniform illumination. In addition, we propose an efficient heuristic to detect and preserve features and discontinuities. We then go on to demonstrate how reconfiguration also permits the use of very low bandwidth kernels, greatly improving render times whilst reducing bias.
---
paper_title: Ray maps for global illumination

paper_content:

We describe a novel data structure for representing light transport called ray map. The ray map extends the concept of photon maps: it stores not only photon impacts but the whole photon paths. We demonstrate the utility of ray maps for global illumination by eliminating boundary bias and reducing topological bias of density estimation in global illumination. Thanks to the elimination of boundary bias we could use ray maps for fast direct visualization with the image quality being close to that obtained by the expensive final gathering step. We describe in detail our implementation of the ray map using a lazily constructed kD-tree. We also present several optimizations bringing the ray map query performance close to the performance of the photon map.
---
paper_title: Progressive photon mapping

paper_content:

This paper introduces a simple and robust progressive global illumination algorithm based on photon mapping. Progressive photon mapping is a multi-pass algorithm where the first pass is ray tracing followed by any number of photon tracing passes. Each photon tracing pass results in an increasingly accurate global illumination solution that can be visualized in order to provide progressive feedback. Progressive photon mapping uses a new radiance estimate that converges to the correct radiance value as more photons are used. It is not necessary to store the full photon map, and unlike standard photon mapping it possible to compute a global illumination solution with any desired accuracy using a limited amount of memory. Compared with existing Monte Carlo ray tracing methods progressive photon mapping provides an efficient and robust alternative in the presence of complex light transport such as caustics and in particular reflections of caustics.
---
paper_title: A path space extension for robust light transport simulation

paper_content:

We present a new sampling space for light transport paths that makes it possible to describe Monte Carlo path integration and photon density estimation in the same framework. A key contribution of our paper is the introduction of vertex perturbations, which extends the space of paths with loosely coupled connections. The new framework enables the computation of path probabilities in the same space under the same measure, which allows us to use multiple importance sampling to combine Monte Carlo path integration and photon density estimation. The resulting algorithm, unified path sampling, can robustly render complex combinations and glossy surfaces and caustics that are problematic for existing light transport simulation methods.
---
paper_title: Realistic Image Synthesis Using Photon Mapping

paper_content:

The creation of photorealistic images of three-dimensional models is central to computer graphics. Photon mapping, an extension of ray tracing, makes it possible to efficiently simulate global illumination in complex scenes. Photon mapping can simulate caustics (focused light, like shimmering waves at the bottom of a swimming pool), diffuse inter-reflections (e.g., the bleeding of colored light from a red wall onto a white floor, giving the floor a reddish tint), and participating media (such as clouds or smoke). This book is a practical guide to photon mapping; it provides both the theory and the practical insight necessary to implement photon mapping and simulate all types of direct and indirect illumination efficiently.
---
paper_title: Photon differentials

paper_content:

A number of popular global illumination algorithms uses density estimation to approximate indirect illumination. The density estimate is performed on finite points -- particles -- generated by a stochastic sampling of the scene. In the course of the sampling, particles, representing light, are stochastically emitted from the light sources and reflected around the scene. The sampling induces noise, which in turn is handled by the density estimate during the illumination reconstruction. Unfortunately, this noise reduction imposes a systematic error (bias), which is seen as a blurring of prominent illumination features. This is often not desirable as these may lose clarity or vanish altogether. We present an accurate method for reconstruction of indirect illumination with photon mapping. Instead of reconstructing illumination using classic density estimation on finite points, we use the correlation of light footprints, created by using Ray Differentials during the light pass. This procedure gives a high illumination accuracy, improving the trade-off between bias and variance considerable as compared to traditional particle tracing algorithms. In this way we preserve structures in indirect illumination.
---
paper_title: Bias Compensation for Photon Maps

paper_content:

Density estimation techniques such as the photon map method rely on a particle transport simulation to reconstruct indirect illumination, which is proportional to the particle density. In the photon map framework, particles are usually located using nearest-neighbour methods due to their generality. However, these methods have an inherent tradeoff between local bias and noise in the reconstructed illumination, which depends on the density estimate bandwidth. This paper presents a bias compensating operator for nearest-neighbour density estimation which adapts the bandwidth according to the estimated bias in the reconstructed illumination.
---
paper_title: Overestimation and Underestimation Biases in Photon Mapping with Non-Constant Kernels

paper_content:

This paper presents an analysis of the overestimation bias in common used filtering kernels in the context of photon mapping density estimation. We use the joint distribution of order statistics to calculate the expected value of the estimators of irradiance, and show that the estimator provided by the cone filter is not consistent unless the slope is one (yielding the triangular kernel), and that the Epanechnikov and Silverman kernels are consistent. The Gaussian filter has two different estimation biases: the original normalization constant α underestimates radiance by 46.9 percent, and the use of the kth nearest photon reduces this underestimation slightly. We also show that a new normalization constant for the Gaussian filter together with discarding the contribution of the kth nearest photon in the Gaussian and cone filter estimators produces new, consistent estimators. The specialized differential filter also benefits from the new estimate.
---
paper_title: Bias Compensation for Photon Maps

paper_content:

Density estimation techniques such as the photon map method rely on a particle transport simulation to reconstruct indirect illumination, which is proportional to the particle density. In the photon map framework, particles are usually located using nearest-neighbour methods due to their generality. However, these methods have an inherent tradeoff between local bias and noise in the reconstructed illumination, which depends on the density estimate bandwidth. This paper presents a bias compensating operator for nearest-neighbour density estimation which adapts the bandwidth according to the estimated bias in the reconstructed illumination.
---
paper_title: Lighting Reconstruction Using Fast and Adaptive Density Estimation Techniques

paper_content:

Monte Carlo (MC) photon shooting approach is becoming an important global illumination technique in research and commercial applications. In this work, we focus on the problem of lighting reconstruction for planar surfaces. Our contribution is in the development of new, efficient photon density estimation techniques. We formulate local error measures of lighting reconstruction which under some reasonable constraints (discussed below) imposed on the lighting function that behave like the actual error. The minimization of our error estimates is very fast for planar surfaces and usually leads to a better quality lighting result than traditional methods. Also, the local error estimation offers more information than global error measures usually provided by MC solvers, which are not good predictors of image quality. We compare the actual error resulting from various techniques, and evaluate the visual appearance of the reconstructed lighting.
---
paper_title: Photon differentials

paper_content:

A number of popular global illumination algorithms uses density estimation to approximate indirect illumination. The density estimate is performed on finite points -- particles -- generated by a stochastic sampling of the scene. In the course of the sampling, particles, representing light, are stochastically emitted from the light sources and reflected around the scene. The sampling induces noise, which in turn is handled by the density estimate during the illumination reconstruction. Unfortunately, this noise reduction imposes a systematic error (bias), which is seen as a blurring of prominent illumination features. This is often not desirable as these may lose clarity or vanish altogether. We present an accurate method for reconstruction of indirect illumination with photon mapping. Instead of reconstructing illumination using classic density estimation on finite points, we use the correlation of light footprints, created by using Ray Differentials during the light pass. This procedure gives a high illumination accuracy, improving the trade-off between bias and variance considerable as compared to traditional particle tracing algorithms. In this way we preserve structures in indirect illumination.
---
paper_title: Ray maps for global illumination

paper_content:

We describe a novel data structure for representing light transport called ray map. The ray map extends the concept of photon maps: it stores not only photon impacts but the whole photon paths. We demonstrate the utility of ray maps for global illumination by eliminating boundary bias and reducing topological bias of density estimation in global illumination. Thanks to the elimination of boundary bias we could use ray maps for fast direct visualization with the image quality being close to that obtained by the expensive final gathering step. We describe in detail our implementation of the ray map using a lazily constructed kD-tree. We also present several optimizations bringing the ray map query performance close to the performance of the photon map.
---
paper_title: Bilateral blue noise sampling

paper_content:

Blue noise sampling is an important component in many graphics applications, but existing techniques consider mainly the spatial positions of samples, making them less effective when handling problems with non-spatial features. Examples include biological distribution in which plant spacing is influenced by non-positional factors such as tree type and size, photon mapping in which photon flux and direction are not a direct function of the attached surface, and point cloud sampling in which the underlying surface is unknown a priori. These scenarios can benefit from blue noise sample distributions, but cannot be adequately handled by prior art. Inspired by bilateral filtering, we propose a bilateral blue noise sampling strategy. Our key idea is a general formulation to modulate the traditional sample distance measures, which are determined by sample position in spatial domain, with a similarity measure that considers arbitrary per sample attributes. This modulation leads to the notion of bilateral blue noise whose properties are influenced by not only the uniformity of the sample positions but also the similarity of the sample attributes. We describe how to incorporate our modulation into various sample analysis and synthesis methods, and demonstrate applications in object distribution, photon density estimation, and point cloud sub-sampling.
---
paper_title: Photon mapping on programmable graphics hardware

paper_content:

We present a modified photon mapping algorithm capable of running entirely on GPUs. Our implementation uses breadth-first photon tracing to distribute photons using the GPU. The photons are stored in a grid-based photon map that is constructed directly on the graphics hardware using one of two methods: the first method is a multipass technique that uses fragment programs to directly sort the photons into a compact grid. The second method uses a single rendering pass combining a vertex program and the stencil buffer to route photons to their respective grid cells, producing an approximate photon map. We also present an efficient method for locating the nearest photons in the grid, which makes it possible to compute an estimate of the radiance at any surface location in the scene. Finally, we describe a breadth-first stochastic ray tracer that uses the photon map to simulate full global illumination directly on the graphics hardware. Our implementation demonstrates that current graphics hardware is capable of fully simulating global illumination with progressive, interactive feedback to the user.
---
paper_title: Interactive Global Photon Mapping

paper_content:

We present a photon mapping technique capable of computing high quality global illumination at interactive frame rates. By extending the concept of photon differentials to efficiently handle diffuse reflections, we generate footprints at all photon hit points. These enable illumination reconstruction by density estimation with variable kernel bandwidths without having to locate the k nearest photon hits first. Adapting an efficient BVH construction process for ray tracing acceleration, we build photon maps that enable the fast retrieval of all hits relevant to a shading point. We present a heuristic that automatically tunes the BVH build's termination criterion to the scene and illumination conditions. As all stages of the algorithm are highly parallelizable, we demonstrate an implementation using NVidia's CUDA manycore architecture running at interactive rates on a single GPU. Both light source and camera may be freely moved with global illumination fully recalculated in each frame.
---
paper_title: Realtime Caustics using Distributed Photon Mapping

paper_content:

With the advancements in realtime ray tracing and new global illumination algorithms we are now able to render the most important illumination effects at interactive rates. One of the major remaining issues is the fast and efficient simulation of caustic illumination, such as e.g. the illumination from a car headlight. The photon mapping algorithm is a simple and robust approach that generates high-quality results and is the preferred algorithm for computing caustic illumination. However, photon mapping has a number of properties that make it rather slow on today's processors. Photon mapping has also been notoriously difficult to parallelize efficiently. ::: ::: In this paper, we present a detailed analysis of the performance issues of photon mapping together with significant performance improvements for all aspects of the photon mapping technique. The solution forms a complete framework for realtime photon mapping that efficiently combines realtime ray tracing, optimized and improved photon mapping algorithms, and efficient parallelization across commodity PCs. The presented system achieves realtime photon mapping performance of up to 22 frames per second on non-trivial scenes, while still allowing for interactively updating all aspects of the scene, including lighting, material properties, and geometry.
---
paper_title: Photon differentials

paper_content:

A number of popular global illumination algorithms uses density estimation to approximate indirect illumination. The density estimate is performed on finite points -- particles -- generated by a stochastic sampling of the scene. In the course of the sampling, particles, representing light, are stochastically emitted from the light sources and reflected around the scene. The sampling induces noise, which in turn is handled by the density estimate during the illumination reconstruction. Unfortunately, this noise reduction imposes a systematic error (bias), which is seen as a blurring of prominent illumination features. This is often not desirable as these may lose clarity or vanish altogether. We present an accurate method for reconstruction of indirect illumination with photon mapping. Instead of reconstructing illumination using classic density estimation on finite points, we use the correlation of light footprints, created by using Ray Differentials during the light pass. This procedure gives a high illumination accuracy, improving the trade-off between bias and variance considerable as compared to traditional particle tracing algorithms. In this way we preserve structures in indirect illumination.
---
paper_title: Bilateral blue noise sampling

paper_content:

Blue noise sampling is an important component in many graphics applications, but existing techniques consider mainly the spatial positions of samples, making them less effective when handling problems with non-spatial features. Examples include biological distribution in which plant spacing is influenced by non-positional factors such as tree type and size, photon mapping in which photon flux and direction are not a direct function of the attached surface, and point cloud sampling in which the underlying surface is unknown a priori. These scenarios can benefit from blue noise sample distributions, but cannot be adequately handled by prior art. Inspired by bilateral filtering, we propose a bilateral blue noise sampling strategy. Our key idea is a general formulation to modulate the traditional sample distance measures, which are determined by sample position in spatial domain, with a similarity measure that considers arbitrary per sample attributes. This modulation leads to the notion of bilateral blue noise whose properties are influenced by not only the uniformity of the sample positions but also the similarity of the sample attributes. We describe how to incorporate our modulation into various sample analysis and synthesis methods, and demonstrate applications in object distribution, photon density estimation, and point cloud sub-sampling.
---
paper_title: Into the Blue: Better Caustics through Photon Relaxation

paper_content:

The photon mapping method is one of the most popular algorithms employed in computer graphics today. However, obtaining good results is dependent on several variables including kernel shape and bandwidth, as well as the properties of the initial photon distribution. While the photon density estimation problem has been the target of extensive research, most algorithms focus on new methods of optimising the kernel to minimise noise and bias. In this paper we break from convention and propose a new approach that directly redistributes the underlying photons. We show that by relaxing the initial distribution into one with a blue noise spectral signature we can dramatically reduce background noise, particularly in areas of uniform illumination. In addition, we propose an efficient heuristic to detect and preserve features and discontinuities. We then go on to demonstrate how reconfiguration also permits the use of very low bandwidth kernels, greatly improving render times whilst reducing bias.
---
paper_title: A Visualization Tool Used to Develop New Photon Mapping Techniques

paper_content:

We present a visualization tool aimed specifically at the development and optimization of photon map denoising methods. Our tool allows the rapid testing of hypotheses and algorithms through the use of parallel coordinates, domain-specific scripting, colour mapping and point plots. Interaction is carried out by brushing, adjusting parameters and focus-plus-context and yields interactive visual feedback and debugging information. We demonstrate the use of the tool to explore high-dimensional photon map data, facilitating the discovery of novel parameter spaces which can be used to dissociate complex caustic illumination. We then show how these new parametrizations may be used to improve upon pre-existing noise removal methods in the context of the photon relaxation framework.
---
paper_title: Scalable photon splatting for global illumination

paper_content:

In this paper, we present a new image based method for computing efficiently global illumination using graphics hardware. We propose a two pass method to compute global lighting at each pixel. In the first pass, photons are traced from the light sources and their hit points are stored. Then, in the second pass, each photons hit point is splatted on the image to reconstruct the irradiance. The main advantages of our method in comparison with previous approaches is scalability. Indeed, it can be used to obtain coarse solution as well as accurate solution and is well suited for complex scenes. First, we present the density estimation framework that is the theory behind our reconstruction pass to understand how to control the accuracy with our method. Then, we show how to use graphics hardware to improve reconstruction time with some restrictions but without losing the ability to compute an accurate simulation.
---
paper_title: Photon Differential Splatting for Rendering Caustics

paper_content:

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.
---
paper_title: Interactive Rendering of Globally Illuminated Glossy Scenes

paper_content:

Global illumination simulates all transfers of light in a scene. The results of the simulation are then used to generate photo-realistic images. Scenes with diffuse surfaces only can be displayed in real-time using the results of radiosity methods. Images of scenes with more general surfaces are created with methods based on ray tracing but do not achieve interactive frame rates.
---
paper_title: Progressive photon mapping

paper_content:

This paper introduces a simple and robust progressive global illumination algorithm based on photon mapping. Progressive photon mapping is a multi-pass algorithm where the first pass is ray tracing followed by any number of photon tracing passes. Each photon tracing pass results in an increasingly accurate global illumination solution that can be visualized in order to provide progressive feedback. Progressive photon mapping uses a new radiance estimate that converges to the correct radiance value as more photons are used. It is not necessary to store the full photon map, and unlike standard photon mapping it possible to compute a global illumination solution with any desired accuracy using a limited amount of memory. Compared with existing Monte Carlo ray tracing methods progressive photon mapping provides an efficient and robust alternative in the presence of complex light transport such as caustics and in particular reflections of caustics.
---
paper_title: Adaptive progressive photon mapping

paper_content:

This article introduces a novel locally adaptive progressive photon mapping technique which optimally balances noise and bias in rendered images to minimize the overall error. It is the result of an analysis of the radiance estimation in progressive photon mapping. As a first step, we establish a connection to the field of recursive estimation and regression in statistics and derive the optimal estimation parameters for the asymptotic convergence of existing approaches. Next, we show how to reformulate photon mapping as a spatial regression in the measurement equation of light transport. This reformulation allows us to derive a novel data-driven bandwidth selection technique for estimating a pixel's measurement. The proposed technique possesses attractive convergence properties with finite numbers of samples, which is important for progressive rendering, and it also provides better results for quasi-converged images. Our results show the practical benefits of using our adaptive method.
---
paper_title: Anisotropic progressive photon mapping

paper_content:

Progressive photon mapping solves the memory limitation problem of traditional photon mapping. It gives the ::: correct radiance with a large passes, but it converges slowly. We propose an anisotropic progressive photon mapping ::: method to generate high quality images with a few passes. During the rendering process, different from standard ::: progressive photon mapping, we store the photons on the surfaces. At the end of each pass, an anisotropic method is ::: employed to compute the radiance of each eye ray based on the stored photons. Before move to a new pass, the photons ::: in the scene are cleared. The experiments show that our method generates better results than the standard progressive ::: photon mapping in both numerical and visual qualities.
---
paper_title: Frequency based kernel estimation for progressive photon mapping

paper_content:

We present an extension to Hachisuka et al.'s Progressive Photon Mapping (or PPM) algorithm [Hachisuka et al. 2008] in which we estimate the radius of the density estimation kernels using frequency analysis of light transport [Durand et al. 2005]. We predict the local radiance frequency at the surface of objects, and use it to optimize the size of the density estimation kernels, in order to accelerate convergence. The key is to add frequency information to a small proportion of photons: frequency photons. In addition to contributing to the density estimation, they will provide frequency information.
---
paper_title: Light transport simulation with vertex connection and merging

paper_content:

Developing robust light transport simulation algorithms that are capable of dealing with arbitrary input scenes remains an elusive challenge. Although efficient global illumination algorithms exist, an acceptable approximation error in a reasonable amount of time is usually only achieved for specific types of input scenes. To address this problem, we present a reformulation of photon mapping as a bidirectional path sampling technique for Monte Carlo light transport simulation. The benefit of our new formulation is twofold. First, it makes it possible, for the first time, to explain in a formal manner the relative efficiency of photon mapping and bidirectional path tracing, which have so far been considered conceptually incompatible solutions to the light transport problem. Second, it allows for a seamless integration of the two methods into a more robust combined rendering algorithm via multiple importance sampling. A progressive version of this algorithm is consistent and efficiently handles a wide variety of lighting conditions, ranging from direct illumination, diffuse and glossy inter-reflections, to specular-diffuse-specular light transport. Our analysis shows that this algorithm inherits the high asymptotic performance from bidirectional path tracing for most light path types, while benefiting from the efficiency of photon mapping for specular-diffuse-specular lighting effects.
---
paper_title: The path tracing revolution in the movie industry

paper_content:

As path tracing allows for more realistic and faster lighting, an increasing number of movies are created the physically based way. With examples from recent movies, the architectures and novel workflows of the next generation of production renderers are introduced to a wide audience including technical directors, artists, and researchers.
---
paper_title: A path space extension for robust light transport simulation

paper_content:

We present a new sampling space for light transport paths that makes it possible to describe Monte Carlo path integration and photon density estimation in the same framework. A key contribution of our paper is the introduction of vertex perturbations, which extends the space of paths with loosely coupled connections. The new framework enables the computation of path probabilities in the same space under the same measure, which allows us to use multiple importance sampling to combine Monte Carlo path integration and photon density estimation. The resulting algorithm, unified path sampling, can robustly render complex combinations and glossy surfaces and caustics that are problematic for existing light transport simulation methods.
---
paper_title: Bi-Directional Path Tracing

paper_content:

In this paper we present a new Monte Carlo rendering algorithm that seamlessly integrates the ideas of shooting and gathering power to create photorealistic images. The algorithm can be explained as a generalisation of the well-known path tracing algorithm. Test results show that it performs signicantly better for typical indoor scenes where indirect lighting is important.
---
paper_title: Unifying points, beams, and paths in volumetric light transport simulation

paper_content:

Efficiently computing light transport in participating media in a manner that is robust to variations in media density, scattering albedo, and anisotropy is a difficult and important problem in realistic image synthesis. While many specialized rendering techniques can efficiently resolve subsets of transport in specific media, no single approach can robustly handle all types of effects. To address this problem we unify volumetric density estimation, using point and beam estimators, and Monte Carlo solutions to the path integral formulation of the rendering and radiative transport equations. We extend multiple importance sampling to correctly handle combinations of these fundamentally different classes of estimators. This, in turn, allows us to develop a single rendering algorithm that correctly combines the benefits and mediates the limitations of these powerful volume rendering techniques.
---
paper_title: Importance Driven Path Tracing using the Photon Map

paper_content:

This paper presents a new importance sampling strategy for Monte Carlo ray tracing in which a rough estimate of the irradiance based on the photon map is combined with the local reflection model to construct more efficient probability density functions that can be used in an importance sampling scheme.
---
paper_title: Progressive Light Transport Simulation on the GPU: Survey and Improvements

paper_content:

Graphics Processing Units (GPUs) recently became general enough to enable implementation of a variety of light transport algorithms. However, the efficiency of these GPU implementations has received relatively little attention in the research literature and no systematic study on the topic exists to date. The goal of our work is to fill this gap. Our main contribution is a comprehensive and in-depth investigation of the efficiency of the GPU implementation of a number of classic as well as more recent progressive light transport simulation algorithms. We present several improvements over the state-of-the-art. In particular, our light vertex cache, a new approach to mapping connections of subpath vertices in bidirectional path tracing on the GPU, outperforms the existing implementations by 30--60p. We also describe a first GPU implementation of the recently introduced vertex connection and merging algorithm [Georgiev et al. 2012], showing that even relatively complex light transport algorithms can be efficiently mapped on the GPU. With the implementation of many of the state-of-the-art algorithms within a single system at our disposal, we present a unique direct comparison and analysis of their relative performance.
---
paper_title: Robust adaptive photon tracing using photon path visibility

paper_content:

We present a new adaptive photon tracing algorithm which can handle illumination settings that are considered difficult for photon tracing approaches such as outdoor scenes, close-ups of a small part of an illuminated region, and illumination coming through a small gap. The key contribution in our algorithm is the use of visibility of photon path as the importance function which ensures that our sampling algorithm focuses on paths that are visible from the given viewpoint. Our sampling algorithm builds on two recent developments in Markov chain Monte Carlo methods: adaptive Markov chain sampling and replica exchange. Using these techniques, each photon path is adaptively mutated and it explores the sampling space efficiently without being stuck at a local peak of the importance function. We have implemented this sampling approach in the progressive photon mapping algorithm which provides visibility information in a natural way when a photon path contributes to a measurement point. We demonstrate that the final algorithm is strikingly simple, yet effective at sampling photons under lighting conditions that would be difficult for existing Monte Carlo ray tracing-based methods.
---
paper_title: Metropolis Photon Sampling with Optional User Guidance

paper_content:

We present Metropolis Photon Sampling (MPS), a visual importance-driven algorithm for populating photon maps. Photon Mapping and other particle tracing algorithms fail if the photons are poorly distributed. Our approach samples light transport paths that join a light to the eye, which accounts for the viewer in the sampling process and provides information to improve photon storage. Paths are sampled with a Metropolis-Hastings algorithm that exploits coherence among important light paths. We also present a technique for including user selected paths in the sampling process without introducing bias. This allows a user to provide hints about important paths or reduce variance in specific parts of the image. We demonstrate MPS with a range of scenes and show quantitative improvements in error over standard Photon Mapping and Metropolis Light Transport.
---
paper_title: Efficient Importance Sampling Techniques for the Photon Map

paper_content:

The photon map provides a powerful tool for approximating the irradiance in global illumination computations independent from geometry. By presenting new importance sampling techniques, we dramatically improve the memory footprint of the photon map, simplify the caustic generation, and allow for a much faster sampling of direct illumination in complicated models as they arise in a production environment.
---
paper_title: Density Control for Photon Maps

paper_content:

The photon map method allows efficient computation of global illumination in general scenes. Individual photon hits, generated using Monte Carlo particle tracing, are stored in the maps and form a geometry independent representation of the illumination. Two important issues with the photon map are memory requirements to store the photons and the question how many photons are needed for an accurate representation of illumination in a certain scene. In this paper we introduce a method to control the density of photon maps by storing photons selectively based on a local required density criterion. This reduces memory usage significantly since in unimportant or over-dense regions less photons are stored. Results for caustic photon maps and global photon maps representing full illumination show a decrease in number of photons of a factor of 2 to 5. The required density states how accurate the photon map should be at a certain location and determines how many photons are needed in total. We also derive such a criterion based on a novel path-importance-based first pass, taking some steps towards solving the difficult ‘how many photons’ question.
---
paper_title: SIMD Packet Techniques for Photon Mapping

paper_content:

We present a novel photon mapping framework that uses single instruction, multiple data (SIMD) parallelism to accelerate the final gathering phase of photon mapping. By using SIMD instructions, four coherent tasks can be computed in parallel using almost the same memory traffic as it would cost to process one task alone. This approach has been very successful for real-time ray tracing, but until now it has been unclear how to effectively apply the same approach to final gathering. Our solution is to use sample-point density estimation instead of k-nearest neighbor density estimation, a technique drawn from reverse photon mapping. Sample-point estimation removes the overheads that make SIMD instructions impractical, while retaining the same benefits and image quality as traditional photon mapping. Additionally, an important question arises whether it is better to use forward or reverse photon mapping. In an interactive context, classical asymptotic algorithmic analysis is not enough to compare the two algorithms. We provide a novel asymptotic bandwidth analysis, which addresses more issues found in practice. The analysis motivates the use of forward photon mapping when using SIMD parallelism as well as partial reordering for improved scalability. The resulting framework can achieve interactive rates for photon mapping at low resolutions, including the time it takes to trace photons and build the photon map.
---
paper_title: Distributed Out-of-Core Stochastic Progressive Photon Mapping

paper_content:

At present, stochastic progressive photon mapping SPPM is one of the most comprehensive methods for a consistent global illumination computation. Even though the number of photons is unlimited due to their progressive nature, the scene size is still bound by the available main memory. In this paper, we present the first consistent out-of-core SPPM algorithm. In order to cope with large scenes, we automatically subdivide the geometry and parallelly trace photons and eye rays in a portal-based system, distributed across multiple machines in a commodity cluster. Moreover, modifications of the original SPPM method are introduced that keep both the utilization of tracer machines high and the network traffic low. Therefore, compared to a portal-based single machine setup, our distributed approach achieves a significant speedup. We compare a GPU-based with a CPU-based implementation and demonstrate our system in multiple large test scenes of up to 90 million triangles.
---
paper_title: Interactive Global Illumination using Selective Photon Tracing

paper_content:

We present a method for interactive global illumination computation which is embedded in the framework of Quasi-Monte Carlo photon tracing and density estimation techniques. The method exploits temporal coherence of illumination by tracing photons selectively to the scene regions that require illumination update. Such regions are identified with a high probability by a small number of the pilot photons. Based on the pilot photons which require updating, the remaining photons with similar paths in the scene can be found immediately. This becomes possible due to the periodicity property inherent to the multi-dimensional Halton sequence, which is used to generate photons. If invalid photons cannot all be updated during a single frame, frames are progressively refined in subsequent cycles. The order in which the photons are updated is decided by inexpensive energy- and perception-based criteria whose goal is to minimize the perceivability of outdated illumination. The method buckets all photons on-the-fly in mesh elements and does not require any data structures in the temporal domain, which makes it suitable for interactive rendering of complex scenes. Since mesh-based reconstruction of lighting patterns with high spatial frequencies is inefficient, we use a hybrid approach in which direct illumination and resulting shadows are rendered using graphics hardware.
---
paper_title: Adaptive progressive photon mapping

paper_content:

This article introduces a novel locally adaptive progressive photon mapping technique which optimally balances noise and bias in rendered images to minimize the overall error. It is the result of an analysis of the radiance estimation in progressive photon mapping. As a first step, we establish a connection to the field of recursive estimation and regression in statistics and derive the optimal estimation parameters for the asymptotic convergence of existing approaches. Next, we show how to reformulate photon mapping as a spatial regression in the measurement equation of light transport. This reformulation allows us to derive a novel data-driven bandwidth selection technique for estimating a pixel's measurement. The proposed technique possesses attractive convergence properties with finite numbers of samples, which is important for progressive rendering, and it also provides better results for quasi-converged images. Our results show the practical benefits of using our adaptive method.
---
paper_title: OptiX: a general purpose ray tracing engine

paper_content:

The NVIDIA® OptiX™ ray tracing engine is a programmable system designed for NVIDIA GPUs and other highly parallel architectures. The OptiX engine builds on the key observation that most ray tracing algorithms can be implemented using a small set of programmable operations. Consequently, the core of OptiX is a domain-specific just-in-time compiler that generates custom ray tracing kernels by combining user-supplied programs for ray generation, material shading, object intersection, and scene traversal. This enables the implementation of a highly diverse set of ray tracing-based algorithms and applications, including interactive rendering, offline rendering, collision detection systems, artificial intelligence queries, and scientific simulations such as sound propagation. OptiX achieves high performance through a compact object model and application of several ray tracing-specific compiler optimizations. For ease of use it exposes a single-ray programming model with full support for recursion and a dynamic dispatch mechanism similar to virtual function calls.
---
paper_title: Photon mapping on programmable graphics hardware

paper_content:

We present a modified photon mapping algorithm capable of running entirely on GPUs. Our implementation uses breadth-first photon tracing to distribute photons using the GPU. The photons are stored in a grid-based photon map that is constructed directly on the graphics hardware using one of two methods: the first method is a multipass technique that uses fragment programs to directly sort the photons into a compact grid. The second method uses a single rendering pass combining a vertex program and the stencil buffer to route photons to their respective grid cells, producing an approximate photon map. We also present an efficient method for locating the nearest photons in the grid, which makes it possible to compute an estimate of the radiance at any surface location in the scene. Finally, we describe a breadth-first stochastic ray tracer that uses the photon map to simulate full global illumination directly on the graphics hardware. Our implementation demonstrates that current graphics hardware is capable of fully simulating global illumination with progressive, interactive feedback to the user.
---
paper_title: Multiple reference octrees for a GPU photon mapping and irradiance caching

paper_content:

This paper introduces an efficient and simple algorithm for constructing Multiple Reference (MR) octrees on a GPU in application to Photon Mapping and Irradiance Caching techniques. Although MR-octrees are hierarchical structures, we successfully ignore their hierarchical nature and present an approach with plain construction, compact data layout and stack-less traversal. Our algorithm uses only 2 parallel primitives (parallel append and parallel sort) and can be expressed in several lines of pseudo-code.
---
paper_title: A parallel image generation algorithm based on photon map partitioning

paper_content:

Photon mapping attracts much attention as an excellent image generation technique that can simulate various lighting effects such as indirect illumination and caustics obtained only by the global illumination model. Although photon mapping can generate high-quality images, it requires more expensive calculations and a large memory capacity. In this paper, we present a new parallel photon mapping algorithm to solve the problems regarding the computing time and memory requirement. The proposed algorithm can effectively parallelize photon map construction and photon search by distributing partial photon maps among processing elements of a parallel computer. As a photon map is partitioned, only a part of the photon map is assigned to each processing element. Therefore, each processing element does not require a large memory space even if the entire photon map is quite huge. We implement the proposed algorithm using MPI and evaluate it through experiments on a parallel computer. The experimental results indicate that our algorithm can significantly reduce the rendering time of photon mapping as the number of processing elements increases, and can also save the memory space.
---
paper_title: Interactive Global Photon Mapping

paper_content:

We present a photon mapping technique capable of computing high quality global illumination at interactive frame rates. By extending the concept of photon differentials to efficiently handle diffuse reflections, we generate footprints at all photon hit points. These enable illumination reconstruction by density estimation with variable kernel bandwidths without having to locate the k nearest photon hits first. Adapting an efficient BVH construction process for ray tracing acceleration, we build photon maps that enable the fast retrieval of all hits relevant to a shading point. We present a heuristic that automatically tunes the BVH build's termination criterion to the scene and illumination conditions. As all stages of the algorithm are highly parallelizable, we demonstrate an implementation using NVidia's CUDA manycore architecture running at interactive rates on a single GPU. Both light source and camera may be freely moved with global illumination fully recalculated in each frame.
---
paper_title: Multi-image based photon tracing for interactive global illumination of dynamic scenes

paper_content:

Image space photon mapping has the advantage of simple implementation on GPU without pre-computation of complex acceleration structures. However, existing approaches use only a single image for tracing caustic photons, so they are limited to computing only a part of the global illumination effects for very simple scenes. In this paper we fully extend the image space approach by using multiple environment maps for photon mapping computation to achieve interactive global illumination of dynamic complex scenes. The two key problems due to the introduction of multiple images are 1) selecting the images to ensure adequate scene coverage; and 2) reliably computing raygeometry intersections with multiple images. We present effective solutions to these problems and show that, with multiple environment maps, the image-space photon mapping approach can achieve interactive global illumination of dynamic complex scenes. The advantages of the method are demonstrated by comparison with other existing interactive global illumination methods.
---
paper_title: Realtime Caustics using Distributed Photon Mapping

paper_content:

With the advancements in realtime ray tracing and new global illumination algorithms we are now able to render the most important illumination effects at interactive rates. One of the major remaining issues is the fast and efficient simulation of caustic illumination, such as e.g. the illumination from a car headlight. The photon mapping algorithm is a simple and robust approach that generates high-quality results and is the preferred algorithm for computing caustic illumination. However, photon mapping has a number of properties that make it rather slow on today's processors. Photon mapping has also been notoriously difficult to parallelize efficiently. ::: ::: In this paper, we present a detailed analysis of the performance issues of photon mapping together with significant performance improvements for all aspects of the photon mapping technique. The solution forms a complete framework for realtime photon mapping that efficiently combines realtime ray tracing, optimized and improved photon mapping algorithms, and efficient parallelization across commodity PCs. The presented system achieves realtime photon mapping performance of up to 22 frames per second on non-trivial scenes, while still allowing for interactively updating all aspects of the scene, including lighting, material properties, and geometry.
---
paper_title: Low latency photon mapping using block hashing

paper_content:

For hardware accelerated rendering, photon mapping is especially useful for simulating caustic lighting effects on non-Lambertian surfaces. However, an efficient hardware algorithm for the computation of the k nearest neighbours to a sample point is required.Existing algorithms are often based on recursive spatial subdivision techniques, such askd-trees. However, hardware implementation of a tree-based algorithm would have a high latency, or would require a large cache to avoid this latency on average.We present a neighbourhood-preserving hashing algorithm that is low-latency and has sub-linear access time. This algorithm is more amenable to fine-scale parallelism than tree-based recursive spatial subdivision, and maps well onto coherent block-oriented pipelined memory access. These properties make the algorithm suitable for implementation using future programmable fragment shaders with only one stage of dependent texturing.
---
paper_title: Parallel photon-mapping rendering on a mesh-NoC-based MPSoC platform

paper_content:

Abstract High demand 3-D scenes on embedded systems draw the developers’ attention to use the whole resources of current low-power processors and add dedicated hardware as a graphic accelerator unit to deal with real-time realistic scene rendering. Photon mapping, as one of the most powerful techniques to render highly realistic 3-D images by high amounts of floating-point operations, is very time-consuming. To use the advantages of multiprocessor systems to make 3-D scenes, parallel photon-mapping rendering on a homogeneous multiprocessor SoC (MPSoC) platform along with a mesh NoC by an adaptive wormhole routing method to communicate packets among cores is proposed in this paper. To make efficient use of the MPSoC platform to carry out photon-mapping rendering, many methods concerning the increase of load balancing, the efficient use of memory, and the decrease of communication cost to achieve a scalable application are explored in this paper. The resulting MPSoC platform is verified and evaluated by cycle-accurate simulations for different sizes of the mesh NoC. As expected, the proposed methods can obtain excellent load balancing and achieve a maximum of 44.3 times faster on an 8-by-8 MPSoC platform than on a single-core MPSoC platform.
---
paper_title: Out of Core Photon-Mapping for Large Buildings

paper_content:

This paper describes a new scheme for computing out-of-core global illumination in complex indoor scenes using a photon-mapping approach. Our method makes use of a cells-and-portals representation of the environment for preserving memory coherence and storing rays or photons. We have successfully applied our method to various buildings, composed of up to one billion triangles. As shown in the results, our method requires only a few hundred megabytes of memory for tracing more than 1.6 billion photons in large buildings.
---
paper_title: Coherent Photon Mapping on the Intel MIC Architecture

paper_content:

Photon mapping is a global illumination algorithm which is composed of two steps: photon tracing and photon searching. During photon searching step, each shading point needs to search the photon-tree to find k-neighbouring photons for reflected radiance estimation. As the number of shading points and the size of photon-tree are dramatically large, the photon searching step is time consuming. We propose a parallel photon searching algorithm by using radiance estimation approach for coherent shading points on the Intel® Many Integrated Core (MIC) Architecture. In order to efficiently use single instruction multiple data (SIMD) units, shading points are clustered by similarity first (every cluster contains 16 shading-points), and an initial neighbouring scope is searched from the photon-tree for each cluster. Then we use 16-wide SIMD units by performing k-NN searching from the initial neighbouring scope for those 16 shading-points in a cluster in parallel. We use the method to simulate some global illumination scenes on Intel® Xeon® processors and Intel® Xeon® Phi™ coprocessors. The comparison results with existing photon mapping techniques indicate that our method gives significant improvement in speed with the same accuracy.
---
paper_title: Photon differentials

paper_content:

A number of popular global illumination algorithms uses density estimation to approximate indirect illumination. The density estimate is performed on finite points -- particles -- generated by a stochastic sampling of the scene. In the course of the sampling, particles, representing light, are stochastically emitted from the light sources and reflected around the scene. The sampling induces noise, which in turn is handled by the density estimate during the illumination reconstruction. Unfortunately, this noise reduction imposes a systematic error (bias), which is seen as a blurring of prominent illumination features. This is often not desirable as these may lose clarity or vanish altogether. We present an accurate method for reconstruction of indirect illumination with photon mapping. Instead of reconstructing illumination using classic density estimation on finite points, we use the correlation of light footprints, created by using Ray Differentials during the light pass. This procedure gives a high illumination accuracy, improving the trade-off between bias and variance considerable as compared to traditional particle tracing algorithms. In this way we preserve structures in indirect illumination.
---
paper_title: Simulating Photon Mapping for Real-time Applications

paper_content:

This paper introduces a novel method for simulating photon mapping for real-time applications. First we introduce a new method for selectively redistributing photons. Then we describe a method for selectively updating the indirect illumination. The indirect illumination is calculated using a new GPU acceleratedfinal gathering method and the illumination is then stored in light maps. Caustic photons are traced on the CPU and then drawn using points in the framebuffer, and finally filtered using the GPU. Both diffuse and non-diffuse surfaces can be handled by calculating the direct illumination on the GPU and the photon tracing on the CPU. We achieve real-time frame rates for dynamic scenes.
---
paper_title: Combining Single and Packet-Ray Tracing for Arbitrary Ray Distributions on the Intel MIC Architecture

paper_content:

Wide-SIMD hardware is power and area efficient, but it is challenging to efficiently map ray tracing algorithms to such hardware especially when the rays are incoherent. The two most commonly used schemes are either packet tracing, or relying on a separate traversal stack for each SIMD lane. Both work great for coherent rays, but suffer when rays are incoherent: The former experiences a dramatic loss of SIMD utilization once rays diverge; the latter requires a large local storage, and generates multiple incoherent streams of memory accesses that present challenges for the memory system. In this paper, we introduce a single-ray tracing scheme for incoherent rays that uses just one traversal stack on 16-wide SIMD hardware. It uses a bounding-volume hierarchy with a branching factor of four as the acceleration structure, exploits four-wide SIMD in each box and primitive intersection test, and uses 16-wide SIMD by always performing four such node or primitive tests in parallel. We then extend this scheme to a hybrid tracing scheme that automatically adapts to varying ray coherence by starting out with a 16-wide packet scheme and switching to the new single-ray scheme as soon as rays diverge. We show that on the Intel Many Integrated Core architecture this hybrid scheme consistently, and over a wide range of scenes and ray distributions, outperforms both packet and single-ray tracing.
---
paper_title: Toward practical real-time photon mapping: efficient GPU density estimation

paper_content:

We describe the design space for real-time photon density estimation, the key step of rendering global illumination (GI) via photon mapping. We then detail and analyze efficient GPU implementations of four best-of-breed algorithms. All produce reasonable results on NVIDIA GeForce 670 at 1920 × 1080 for complex scenes with multiple-bounce diffuse effects, caustics, and glossy reflection in real-time. Across the designs we conclude that tiled, deferred photon gathering in a compute shader gives the best combination of performance and quality.
---
paper_title: An Efficient GPU-based Approach for Interactive Global Illumination.

paper_content:

This paper presents a GPU-based method for interactive global illumination that integrates complex effects such as multi-bounce indirect lighting, glossy reflections, caustics, and arbitrary specular paths. Our method builds upon scattered data sampling and interpolation on the GPU. We start with raytraced shading points and partition them into coherent shading clusters using adaptive seeding followed by k-means. At each cluster center we apply final gather to evaluate its incident irradiance using GPU-based photon mapping. We approximate the entire photon tree as a compact illumination cut, thus reducing the final gather cost for each ray. The sampled irradiance values are then interpolated at all shading points to produce rendering. Our method exploits the spatial coherence of illumination to reduce sampling cost. We sample sparsely and the distribution of sample points conforms with the underlying illumination changes. Therefore our method is both fast and preserves high rendering quality. Although the same property has been exploited by previous caching and adaptive sampling methods, these methods typically require sequential computation of sample points, making them ill-suited for the GPU. In contrast, we select sample points adaptively in a single pass, enabling parallel computation. As a result, our algorithm runs entirely on the GPU, achieving interactive rates for scenes with complex illumination effects.
---

Title: A Survey of Photon Mapping State-of-the-Art Research and Future Challenges

Section 1: Introduction
Description 1: Introduce the photon mapping algorithm, its significance in global illumination, and an overview of the challenges it faces.

Section 2: Standard Photon Mapping
Description 2: Discuss the traditional photon mapping process, including the different kinds of photon maps and the basic steps involved.

Section 3: Improved Radiance Estimation
Description 3: Outline various improvements to the radiance estimation process, including filters and methods proposed by various researchers to enhance accuracy and reduce bias and noise.

Section 4: Photon Relaxation
Description 4: Describe methods to directly reduce noise and improve photon distribution through photon relaxation techniques.

Section 5: Photon Splatting
Description 5: Explain the splatting approaches as alternatives to k-NN searching for photon mapping, and their effects on rendering quality and computation times.

Section 6: Progressive Photon Mapping (PPM)
Description 6: Introduce the progressive photon mapping technique, its necessity, and improvements to manage memory and enhance rendering accuracy.

Section 7: Adaptive Photon Tracing
Description 7: Detail adaptive photon tracing methods to optimize photon distribution, reduce the number of photons needed, and improve rendering results.

Section 8: Parallel Photon Mapping
Description 8: Discuss the parallelization of photon mapping algorithms to leverage modern graphics hardware and achieve better performance.

Section 9: Discussion and Future Work
Description 9: Summarize the current state and ongoing improvements in photon mapping techniques, identify remaining challenges, and propose future research directions.