In
computer graphics
Computer graphics deals with generating images with the aid of computers. Today, computer graphics is a core technology in digital photography, film, video games, cell phone and computer displays, and many specialized applications. A great de ...
, photon mapping is a two-pass
global illumination
Global illumination (GI), or indirect illumination, is a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting to 3D scenes. Such algorithms take into account not only the light that comes directly from ...
rendering algorithm
In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algorithms are used as specificat ...
developed by
Henrik Wann Jensen
Henrik Wann Jensen (born 1969 in Harlev, Jutland, Denmark) is a Denmark, Danish computer graphics researcher. He is best known for developing the photon mapping technique as the subject of his PhD thesis, but has also done important research in sim ...
between 1995 and 2001
[Jensen, H. (1996). ''Global Illumination using Photon Maps''. nlineAvailable at: http://graphics.stanford.edu/~henrik/papers/ewr7/egwr96.pdf] that approximately solves the
rendering equation
In computer graphics, the rendering equation is an integral equation in which the equilibrium radiance leaving a point is given as the sum of emitted plus reflected radiance under a geometric optics approximation. It was simultaneously introduc ...
for integrating
light radiance at a given point in space.
Rays
Ray may refer to:
Fish
* Ray (fish), any cartilaginous fish of the superorder Batoidea
* Ray (fish fin anatomy), a bony or horny spine on a fin
Science and mathematics
* Ray (geometry), half of a line proceeding from an initial point
* Ray (gra ...
from the light source (like
photon
A photon () is an elementary particle that is a quantum of the electromagnetic field, including electromagnetic radiation such as light and radio waves, and the force carrier for the electromagnetic force. Photons are massless, so they always ...
s) and rays from the camera are traced independently until some termination criterion is met, then they are connected in a second step to produce a radiance value. The algorithm is used to realistically simulate the interaction of light with different types of objects (similar to other
photorealistic rendering
__NOTOC__
Within the field of computer graphics, unbiased rendering refers to any rendering (computer graphics), rendering technique that does not introduce systematic error, or bias of an estimator, bias, into the rendering equation, radiance ap ...
techniques). Specifically, it is capable of simulating the
refraction of light through a
transparent substance such as
glass
Glass is a non-crystalline, often transparent, amorphous solid that has widespread practical, technological, and decorative use in, for example, window panes, tableware, and optics. Glass is most often formed by rapid cooling (quenching) of ...
or
water
Water (chemical formula ) is an inorganic, transparent, tasteless, odorless, and nearly colorless chemical substance, which is the main constituent of Earth's hydrosphere and the fluids of all known living organisms (in which it acts as a ...
(including
caustics),
diffuse interreflection
Diffuse reflection is the reflection of light or other waves or particles from a surface such that a ray incident on the surface is scattered at many angles rather than at just one angle as in the case of specular reflection. An ''ideal'' di ...
between illuminated objects, the
subsurface scattering
Subsurface scattering (SSS), also known as subsurface light transport (SSLT), is a mechanism of light transport in which light that penetrates the surface of a translucent object is scattered by interacting with the material and exits the surfa ...
of light in translucent materials, and some of the effects caused by
particulate matter such as smoke or
water vapor
(99.9839 °C)
, -
, Boiling point
,
, -
, specific gas constant
, 461.5 J/( kg·K)
, -
, Heat of vaporization
, 2.27 MJ/kg
, -
, Heat capacity
, 1.864 kJ/(kg·K)
Water vapor, water vapour or aqueous vapor is the gaseous pha ...
. Photon mapping can also be extended to more accurate simulations of light, such as
spectral rendering. Progressive photon mapping (PPM) starts with ray tracing and then adds more and more photon mapping passes to provide a progressively more accurate render.
Unlike
path tracing
Path tracing is a computer graphics Monte Carlo method of rendering images of three-dimensional scenes such that the global illumination is faithful to reality. Fundamentally, the algorithm is integrating over all the illuminance arriving to ...
,
bidirectional path tracing
In 3D computer graphics, ray tracing is a technique for modeling light transport for use in a wide variety of rendering algorithms for generating digital images.
On a spectrum of computational cost and visual fidelity, ray tracing-based ren ...
,
volumetric path tracing
Volumetric path tracing is a method for rendering images in computer graphics which was first introduced by Lafortune and Willems. This method enhances the rendering of the lighting in a scene by extending the path tracing method with the effect of ...
, and
Metropolis light transport
Metropolis light transport (MLT) is a global illumination application of a variant of the Monte Carlo method called the Metropolis–Hastings algorithm to the rendering equation for generating images from detailed physical descriptions of three- ...
, photon mapping is a
"biased" rendering algorithm, which means that averaging infinitely many renders of the same scene using this method does not converge to a correct solution to the
rendering equation
In computer graphics, the rendering equation is an integral equation in which the equilibrium radiance leaving a point is given as the sum of emitted plus reflected radiance under a geometric optics approximation. It was simultaneously introduc ...
. However, it is a consistent method, and the accuracy of a render can be increased by increasing the number of photons. As the number of photons approaches infinity, a render will get closer and closer to the solution of the rendering equation.
Effects
Caustics
Light
refracted
In physics, refraction is the redirection of a wave as it passes from one medium to another. The redirection can be caused by the wave's change in speed or by a change in the medium. Refraction of light is the most commonly observed phenomeno ...
or
reflected causes patterns called
caustics, usually visible as concentrated patches of light on nearby surfaces. For example, as light rays pass through a wine glass sitting on a table, they are refracted and patterns of light are visible on the table. Photon mapping can trace the paths of individual photons to model where these concentrated patches of light will appear.
Diffuse interreflection
Diffuse interreflection
Diffuse reflection is the reflection of light or other waves or particles from a surface such that a ray incident on the surface is scattered at many angles rather than at just one angle as in the case of specular reflection. An ''ideal'' di ...
is apparent when light from one diffuse object is reflected onto another. Photon mapping is particularly adept at handling this effect because the algorithm reflects photons from one surface to another based on that surface's
bidirectional reflectance distribution function
The bidirectional reflectance distribution function (BRDF; f_(\omega_,\, \omega_) ) is a function of four real variables that defines how light is reflected at an opaque surface. It is employed in the optics of real-world light, in compute ...
(BRDF), and thus light from one object striking another is a natural result of the method. Diffuse interreflection was first modeled using
radiosity solutions. Photon mapping differs though in that it separates the light transport from the nature of the geometry in the scene.
Color bleed is an example of diffuse interreflection.
Subsurface scattering
Subsurface scattering
Subsurface scattering (SSS), also known as subsurface light transport (SSLT), is a mechanism of light transport in which light that penetrates the surface of a translucent object is scattered by interacting with the material and exits the surfa ...
is the effect evident when light enters a material and is scattered before being absorbed or reflected in a different direction. Subsurface scattering can accurately be modeled using photon mapping. This was the original way Jensen implemented it; however, the method becomes slow for highly scattering materials, and
bidirectional surface scattering reflectance distribution functions (BSSRDFs) are more efficient in these situations.
Usage
Construction of the photon map (1st pass)
With photon mapping, light packets called ''photons'' are sent out into the scene from the light sources. Whenever a photon intersects with a surface, the intersection point and incoming direction are stored in a cache called the ''photon map''. Typically, two photon maps are created for a scene: one especially for caustics and a global one for other light. After intersecting the surface, a probability for either reflecting, absorbing, or transmitting/refracting is given by the material. A
Monte Carlo method
Monte Carlo methods, or Monte Carlo experiments, are a broad class of computational algorithms that rely on repeated random sampling to obtain numerical results. The underlying concept is to use randomness to solve problems that might be determi ...
called ''Russian roulette'' is used to choose one of these actions. If the photon is absorbed, no new direction is given, and tracing for that photon ends. If the photon reflects, the surface's
bidirectional reflectance distribution function
The bidirectional reflectance distribution function (BRDF; f_(\omega_,\, \omega_) ) is a function of four real variables that defines how light is reflected at an opaque surface. It is employed in the optics of real-world light, in compute ...
is used to determine the ratio of reflected radiance. Finally, if the photon is transmitting, a function for its direction is given depending upon the nature of the transmission.
Once the photon map is constructed (or during construction), it is typically arranged in a manner that is optimal for the
k-nearest neighbor algorithm
In statistics, the ''k''-nearest neighbors algorithm (''k''-NN) is a non-parametric supervised learning method first developed by Evelyn Fix and Joseph Hodges in 1951, and later expanded by Thomas Cover. It is used for classification and reg ...
, as photon look-up time depends on the spatial distribution of the photons. Jensen advocates the usage of
kd-tree
In computer science, a ''k''-d tree (short for ''k-dimensional tree'') is a space-partitioning data structure for organizing points in a ''k''-dimensional space. ''k''-d trees are a useful data structure for several applications, such as searc ...
s. The photon map is then stored on disk or in memory for later usage.
Rendering (2nd pass)
In this step of the algorithm, the photon map created in the first pass is used to estimate the radiance of every pixel of the output image. For each pixel, the scene is ray traced until the closest surface of intersection is found.
At this point, the
rendering equation
In computer graphics, the rendering equation is an integral equation in which the equilibrium radiance leaving a point is given as the sum of emitted plus reflected radiance under a geometric optics approximation. It was simultaneously introduc ...
is used to calculate the surface radiance leaving the point of intersection in the direction of the ray that struck it. To facilitate efficiency, the equation is decomposed into four separate factors: direct illumination, specular reflection, caustics, and soft indirect illumination.
For an accurate estimate of direct illumination, a ray is traced from the point of intersection to each light source. As long as a ray does not intersect another object, the light source is used to calculate the direct illumination. For an approximate estimate of indirect illumination, the photon map is used to calculate the radiance contribution.
Specular reflection can be, in most cases, calculated using ray tracing procedures (as it handles reflections well).
The contribution to the surface radiance from caustics is calculated using the caustics photon map directly. The number of photons in this map must be sufficiently large, as the map is the only source for caustics information in the scene.
For soft indirect illumination, radiance is calculated using the photon map directly. This contribution, however, does not need to be as accurate as the caustics contribution and thus uses the global photon map.
Calculating radiance using the photon map
In order to calculate surface radiance at an intersection point, one of the cached photon maps is used. The steps are:
# Gather the N nearest photons using the nearest neighbor search function on the photon map.
# Let S be the sphere that contains these N photons.
# For each photon, divide the amount of flux (real photons) that the photon represents by the area of S and multiply by the
BRDF
The bidirectional reflectance distribution function (BRDF; f_(\omega_,\, \omega_) ) is a function of four real variables that defines how light is reflected at an opaque surface. It is employed in the optics of real-world light, in compute ...
applied to that photon.
# The sum of those results for each photon represents total surface radiance returned by the surface intersection in the direction of the ray that struck it.
Optimizations
* To avoid emitting unneeded photons, the initial direction of the outgoing photons is often constrained. Instead of simply sending out photons in random directions, they are sent in the direction of a known object that is a desired photon manipulator to either focus or diffuse the light. There are many other refinements that can be made to the algorithm: for example, choosing the number of photons to send, and where and in what pattern to send them. It would seem that emitting more photons in a specific direction would cause a higher density of photons to be stored in the photon map around the position where the photons hit, and thus measuring this density would give an inaccurate value for
irradiance In radiometry, irradiance is the radiant flux ''received'' by a ''surface'' per unit area. The SI unit of irradiance is the watt per square metre (W⋅m−2). The CGS unit erg per square centimetre per second (erg⋅cm−2⋅s−1) is often used ...
. This is true; however, the algorithm used to compute
radiance
In radiometry, radiance is the radiant flux emitted, reflected, transmitted or received by a given surface, per unit solid angle per unit projected area. Radiance is used to characterize diffuse emission and reflection of electromagnetic radiati ...
does ''not'' depend on irradiance estimates.
* For soft indirect illumination, if the surface is
Lambertian, then a technique known as
irradiance caching may be used to interpolate values from previous calculations.
* To avoid unnecessary collision testing in direct illumination, shadow photons can be used. During the photon mapping process, when a photon strikes a surface, in addition to the usual operations performed, a shadow photon is emitted in the same direction the original photon came from that goes all the way through the object. The next object it collides with causes a shadow photon to be stored in the photon map. Then during the direct illumination calculation, instead of sending out a ray from the surface to the light that tests collisions with objects, the photon map is queried for shadow photons. If none are present, then the object has a clear line of sight to the light source and additional calculations can be avoided.
* To optimize image quality, particularly of caustics, Jensen recommends use of a cone filter. Essentially, the filter gives weight to photons' contributions to radiance depending on how far they are from ray-surface intersections. This can produce sharper images.
Image space photon mappingachieves real-time performance by computing the first and last scattering using a GPU rasterizer.
Variations
* Although photon mapping was designed to work primarily with ray tracers, it can also be extended for use with
scanline renderers.
References
External links
Global Illumination using Photon Maps''Realistic Image Synthesis Using Photon Mapping''{{ISBN, 1-56881-147-0
from
Worcester Polytechnic Institute
''
, mottoeng = "Theory and Practice"
, established =
, former_name = Worcester County Free Institute of Industrial Science (1865-1886)
, type = Private research university
, endowme ...
''Bias in Rendering''Siggraph Paper
Global illumination algorithms
Infographics
3D computer graphics