Title: CPSC 441 Computer Graphics: Photon Mapping
1CPSC 441 Computer Graphics Photon Mapping
2Review Ray Tracing
- Start with a camera, light(s), and geometry in
scene - Send rays from camera into scene
- Through pixels on image plane
- When intersection occurs
- Solve for Phong reflection model at p
- Shadow Rays
- Transmission Rays
- Reflection Rays
- Recurse
3Review Recursive Ray Tracing
3
L1
L2
4
1
2
4Review Ray Tracing
- Start with a camera, light(s), and geometry in
scene - Send rays from camera into scene
- Through pixels on image plane
- When intersection occurs
- Solve for Phong reflection model at p
- Shadow Rays
- Transmission Rays
- Reflection Rays
- Recurse
5Review Recursive Ray Tracing
3
L1
L2
4
1
2
6Review Ray Tracing
- Start with a camera, light(s), and geometry in
scene - Send rays from camera into scene
- Through pixels on image plane
- When intersection occurs
- Solve for Phong reflection model at p
- Shadow Rays
- Transmission Rays
- Reflection Rays
- Recurse
7Review Recursive Ray Tracing
3
L1
L2
4
1
2
8Review Recursive Ray Tracing
3
L1
L2
4
1
2
9Review Recursive Ray Tracing
3
L1
L2
4
1
2
10Review Recursive Ray Tracing
3
L1
L2
4
1
2
11Review Recursive Ray Tracing
3
L1
L2
4
1
2
12Review Ray Tracing
- Start with a camera, light(s), and geometry in
scene - Send rays from camera into scene
- Through pixels on image plane
- When intersection occurs
- Solve for Phong reflection model at p
- Shadow Rays
- Transmission Rays
- Reflection Rays
- Recurse
13Review Recursive Ray Tracing
3
L1
L2
4
1
2
14Review Recursive Ray Tracing
3
L1
L2
4
1
2
15Review Ray Tracing
- A Ray Tree describes the increase in the number
of rays sent each recursion - When do you stop?
- When a ray hits nothing
- Return background color
- When a ray hits a non-transmitting and
non-reflecting object - At some maximum depth
- Return background color
16Outline
- Rendering equation
- Photon map
17Ray tracing and photon mapping
What are differences between two rendered
pictures?
18Ray tracing and photon mapping
caustics
Color bleeding
What are differences between two rendered
pictures?
19The Rendering Equation
20The Rendering Equation
21Global Illumination
- Various Rendering techniques solve some portion
of the rendering equation - If a technique approximates the integral, it is
part of the family of Global Illumination
22Global Illumination
- Ray Tracing
- Radiosity
- Photon Mapping
23Radiosity
- Solves geometry term in form factor
- Approximates integral completely for
diffuse-diffuse - No reflection or transmission
24Ray Tracing
- Works well for reflection and refraction
- solves geometry eq. through ray intersection
tests - solves emission properly
- only solves integral for reflection and
refraction to maxDepth - Diffuse reflectance ignored
25Photon mapping
26Photon mapping
Two difficulties - Q how to compute the
incoming radiance Li? - Q how to
efficiently evaluate the integral?
27Photon mapping
Two difficulties - Q how to compute the
incoming radiance Li? A Compute Li based
on precomputed photon map - Q how to
efficiently evaluate the integral? A
Compute the integral based on monte carlo ray
tracing
28Photon mapping
- Is often used to simulate the interaction of
light with a variety transparent substances
(caustics) - - glass
- - water
- - Diffuse inter-reflections between
illuminated objects - - Effects of particulate matter, e.g.
smoke -
29Photon mapping
- Phase I shoot and store photons
- - photons are shot from the light into the
scene - - photons are allowed to interact with
objects in the environment - - where photons fall are stored in special
data structure called a photon map - - 10000s of photons not billions (Statistical
approximation based on density)
30Photon mapping
- Phase I shoot and store photons
- - photons are shot from the light into the
scene - - photons are allowed to interact with
objects in the environment - - where photons fall are stored in special
data structure called a photon map - - 10000s of photons not billions (Statistical
approximation based on density)
31Shooting photons
Point light source
directional light
square light
general light
32Shooting photons
Point light source
directional light
square light
general light
The power of light
The number of photons
The power of an emitted photon
33Pseudocode for Emission of Photons from Point
Light Source
34Pseudocode for Emission of Photons from Point
Light Source
- Basic idea
- Radiant intensity as a probability function.
- Generate photons by sampling the probability
function.
35Photon mapping
- Phase I shoot and store photons
- - photons are shot from the light into the
scene - - photons are allowed to interact with
objects in the environment - - where photons fall are stored in special
data structure called a photon map - - 10000s of photons not billions (Statistical
approximation based on density)
36Photon tracing
- Photons are only stored when it hits diffuse
surface - Specular surface does not store any photons.
37Photon map
38Photon map
What information does each photon store?
39Photon map
Placed in K-D tree for efficient access
40Three photon maps
- Caustic photon map
- - interact with at least one specular surface
- Global photon map
- - interact with diffuse surfaces only
- Volume photon map
- - indirect illumination of participating
medium
41Global photon map
- Basic idea
- - Launch photons from the light sources in all
directions - - Store a photon (position, power and
direction) in each intersection of the photon
with the scene. - - Compute the kind of interaction with the
surface by using the Russian roulette.
42Global photon map
- The types of interactions are
-
- - Diffusion the photon is reflected in a
random direction (projected hemisphere) or taking
into account a BRDF. - - Reflection Perfect reflection of the
photon. -
- - Refraction The photon is refracted using
Snell's law. - - Absorption We don't launch that photon
again.
The Russian roulette method decides which
interaction to consider in function of the
material.
43Caustics photon map
- The global photon map has very weak caustics
effects. We need to construct an additional map
only for caustics. - - Launch the rays only over the objects that
can generate caustics. -
- - Store the photons when they hit a diffuse
surface only if previously it hit a reflective or
refractive surface. -
44Caustics and global photon map
The global photon map
The caustics photon map
45Photon Mapping
- Pass 2 Gather illumination
- - use ray tracing
- - direct illumination determined by ray
tracing - - indirect illumination determined by
stochastically sampling photon map (gather photon
within volume in the required direction)
46Rendering using photon map
47Rendering using photon map
Two main issues - How to compute incoming
radiance Li? - How to evaluate the integral
efficiently?
48Basic idea radiance estimate
49Basic idea radiance estimate
How to evaluate reflected radiance based on the
photon map?
50Basic idea radiance estimate
Evaluate the radiance based on nearby photons
51Basic idea radiance estimate
Evaluate the radiance based on nearby
photons Find N photons with the shortest
distance to the intersection point
52Radiance estimate using photon map
53Radiance estimate using photon map
54Radiance estimate using photon map
55Radiance estimate using photon map
56Radiance estimate using photon map
locally flat surface
57Radiance estimate using photon map
locally flat surface
58Radiance estimated using photon map
200000 photons
100 photons
500 photons
59Photon mapping rendering
60Photon mapping rendering
61Photon mapping rendering
Li,l direct illumination by light from the light
sources Li,c causticsindirect illumination from
the light sources via specular surface Li,d
indirect illumination from the light sources
(diffuse inter-reflection)
62Light sources
63Light sources
Li,l
Li,c
Li,d
64Photon mapping rendering
65Photon mapping rendering
Diffuse surfaces
Specular surfaces
66Photon mapping the
rendering equation
67Photon mapping the
rendering equation
68Accurate evaluation of the direct illumination
Similar to the evaluation of shadow rays in ray
tracing
69Photon mapping the
rendering equation
70Evaluation of the Specular and Glossy term
Similar to the evaluation of reflection rays in
ray tracing
71Photon mapping the
rendering equation
72Evaluation of the caustics
Evaluate this term using the caustics photon map
directly
73Photon mapping the
rendering equation
74Evaluation of the indirect diffuse illumination
Accurate evaluation of the integral using monte
carlo ray tracing method
75Results
- global photon map
- 200000 photons
- 100 photons for estimate
Ray tracing
76Cornell box with water