12.Participating Media

Computer Graphics
Global Illumination:
Photon Mapping, Participating Media
Lecture 12
Taku Komura
last lecture

Monte-Carlo Ray Tracing



Path Tracing
Bidirectional Path Tracing
Photon Mapping
2
Today


Methods to accelerate the accuracy of
photon mapping
Rendering Participating Media
3
Accelerating the accuracy of
photon mapping


Combine with ray tracing to visualize the
specular light visible from the camera
Shoot more photons towards directions
where more samples are needed

Caustics photon map

Tracing photons only towards specular surfaces
A Practical Two-Pass Algorithm

Building photon maps by photon
tracing


Separate the photon paths into different
categories according to the reflectance
Rendering

Combining the radiance of difference light
paths
Light Transport Notation








L: Lightsource
E: Eye
S: Specular reflection
D: Diffuse reflection
(k)+ one or more k events
(k)* zero or more of k events
(k)? zero or one k event
(k|k’) a k or k’ event
Photon Tracing

Create two photon maps

Global photon map (the usual photon map)


All Photons with property L(S|D)*D are stored.
Caustics photon map

Created by tracing photons that hit the specular surfaces

Cast the photons only toward specular objects

LS+D
Rendering

Separate the irradiance into four groups




Direct illumination (by ray tracing or global
photon map) : LD
Diffuse indirect illumination (by global photon
map) : LD(S|D)+D
Specular reflection (by ray tracing) L(S|D)*S
Caustics (by caustics photon map) LS+D
Caustics Photon Map



Caustics require high resolution
Need to cast more photons towards
surfaces that generates caustics
Projection Map
Projection map

A map of the geometry seen from the light source

Made of many cells – which is on if there is a
geometry in that direction, and off if not

For a point light, it is a spherical projection

For directional light, a planar projection

Use a bounding sphere to represent the objects
Direct + Indirect + Specular
Why is photon mapping efficient?

It is a stochastic approach that
estimates the radiance from a few
number of samples


Kernel density estimation
Can actively distribute samples to
important areas

Caustics photon map
Today


Methods to accelerate the accuracy of
photon mapping
Rendering Participating Media
14
Participating Media




Dusty air, clouds, silky water
Translucent materials such as marble,
skin, and plants
Photon mapping is good in handling
participating media
In participating media, the light is
scattered to different directions
Single / Multiple scattering
The brightness of a point

Is decided by

Out scattering

Absorption

In scattering




 L ( x,  )
 L ( x,  )



Li ( x,  ' )

'
Light out-scattering
• The change in radiance, L, in the direction ω,
due to out scattering is given by



(  ) L( x,  )   s ( x) L( x,  )
• The change in radiance due to absorption is



(  ) L( x,  )   a ( x) L( x,  )
 s ( x) : scattering coefficien t
 a ( x) : absorption coefficien t


 L ( x,  )
In-scattering
• The change due to inscattering


(  ) L( x,  )   s ( x) 
4
 
 
p( x,  ' ,  ) Li ( x,  ' )d '
where the incident radiance, Li, is integrated
over all directions
p is called the phase function describing the
distribution of the scattered light



Li ( x,  ' )

'
Phase function

Isotropic scattering

Scattered in any random direction
1
p( ) 
4

Henyey-Greenstein Phase Function


Scattered in the direction more
towards the front
Dust, stone, clouds
p( ) 
1 g 2
4 (1  g 2  2 g cos  )
1
2
1  g  1
Phase function
Examples
Cornell Box scene – isotropic,
homogeneous participating medium.
Cornell Box scene – anisotropic,
homogeneous participating medium.
200,000 photons used with 65,000 in the
volume map. Radiance
200,000 photons used with 65,000 in the
volume map. Radiance
estimate used 100 photons.
estimate used 50 photons.
Ray marching and single
scattering
• Now we compute how the light will be
accumulated along a ray
• This is called ray marching

 


 t x
L( x,  )   Li ( x,  ' ) p( x,  ' ,  ) s ( x)x  e
L( x  x,  )
N

l
where N is the number of light sources and Li is
the radiance from each light source
The last term is the light entering from behind,
which is attenuated by proceeding Δx
Ray marching through a finite size
medium (Single Scattering)


Ln1 ( x,  ),

N
Ln ( x  x,  ),



Ln ( x  2x,  )
Ln 1 ( x,  )   Li ( x, l ' ) p( x, l ' ,  ) s ( x)x  e
l

 t x

Ln ( x  x,  )
Multiple scattering
• For multiple scattering, it is necessary to integrate
all the in-scattered radiance at every segment


 
Ln 1 ( x,  )   Ld ( x, l ' ) p ( x, l ' ,  ) s ( x)x 
N
l

  
1 S
  Ls ( x,  s ' ) p ( x,  s ' ,  ) s ( x)x 
 S s 1


e  t ( x ) x Ln ( x  x,  )
• Here S sample rays are used to estimate the in-scattered light
Photon mapping participating
media
• Photon mapping can efficiently handle multiple
scattering
• The photons interact with the media and are
scattered / absorbed
• The average distance the photon proceeds after
each interaction is d  1
t
 t : terminati on coefficien t
t  s a
Photon Scattering
• The photon is either absorbed or scattered
• The probability of scattering is
s

t
• Deciding what happens by Russian Roulette
   Photon is scattered
Given   [0,1]  
   Photon is absorbed
• Once the photon interacts with the media, it
is stored in a volume photon map
Volume Radiance Estimate
• Same as we did for surface radiance estimate,
locate n nearest photons and estimate the
radiance


n
(  ) Lo ( x,  )  
p 1

  p ( x,  )
f ( x,  p ' ,  )
4 3
r
3

Rendering Participating Media
• By ray tracing
• If a ray enters a participating media, we use
ray marching to integrate the illumination.

N



Ln 1 ( x,  )   Ll ( x, l ' ) p( x, l ' ,  ) s ( x)x 
Single scattering term
l



n
   p ( x,  ) 
 f ( x, l ' ,  ) 4
x 
 p 1
r 3 
3



 t ( x ) x
e
Ln ( x  x,  )
multiple scattering term
Examples
single scattering
multiple scattering
Subsurface Scattering
• In computer graphics, reflections of non-metallic materials
are usually approximated by diffuse reflections.
• Light leaving from the same location where it enters the
object
• For translucent materials such as marble, skin and milk, this
is a bad approximation
• The light leaves from different locations
Single scattering

Direct single scattering:


Compute the distance the light has
traveled and attenuate according to the
distance
Indirect Multiple scattering :

Photon maps
Subsurface Scattering by Photon
Mapping
• Photon tracing – as explained before
• Rendering – Ray marching
BSSRDF
• Bidirectional Scattering Surface Reflectance
Distribution Function (BSSRDF)



dLr ( x,  )
S ( x,  , x ' ,  ' ) 

d i ( x' ,  ' )
• Relates the differential reflected radiance dLr, at x in
the direction ω, to the differential incident flux, dΦ,
at x’ from direction ω’.
• We can capture/model the BSSRDF and use it for
rendering
Rendering using BSSRDF
(a) sampling a BRDF (b) sampling a BSSRDF

Collect samples of incoming rays over an area
http://graphics.ucsd.edu/~henrik/animations/BSSRDF-SIGGRAPH-ET2001.avi
Rendering by BSSRDF

Human skin reflectance simulated by
BRDF
BSSRDF
• Readings : Realistic Image Synthesis Using Photon Mapping by
Henrik Wann Jensen, AK Peters Chapter 9, 10