Advanced Computer Graphics Advanced Computer Graphics
Rendering Lecture 3: Global Illumination
Some images courtesy Henrik Jensen Some slide ideas courtesy Pat Hanrahan
Illumination Models Illumination Models
So far considered mainly local illumination
Light directly from light sources to surface
No shadows (cast shadows are a global effect)
Global Illumination: multiple bounces (indirect light)
Hard and soft shadows
Reflections/refractions (already seen in ray tracing)
Diffuse and glossy interreflections (radiosity, caustics)
Some images courtesy Henrik Wann Jensen
Diffuse Interreflection Diffuse Interreflection
Diffuse interreflection, color bleeding [Cornell Box]
Radiosity
Radiosity
Caustics Caustics
Caustics: Focusing through specular surface
Major research effort in 80s, 90s till today
Overview of lecture Overview of lecture
Theory for all global illumination methods (ray tracing, path tracing, radiosity)
We derive Rendering Equation [Kajiya 86]
Major theoretical development in field
Unifying framework for all global illumination
Discuss existing approaches as special cases
Fairly theoretical lecture (but important). Not well covered in textbooks (though see Eric Veach’s thesis). Closest are 2.6.2 in Cohen and Wallace handout (but uses slightly different notation, argument [swaps x, x’ among other things])
Outline Outline
Reflectance Equation (review)
Global Illumination
Rendering Equation
As a general Integral Equation and Operator
Approximations (Ray Tracing, Radiosity)
Surface Parameterization (Standard Form)
Reflectance Equation (review)
i rx
( , ) ( , ) ( , ) ( , , )( )
r r e r i i i r i
L x L x L x f x n
Reflected Light (Output Image)
Emission Incident Light (from light source)
BRDF Cosine of Incident angle
Reflectance Equation (review)
i rx
( , ) ( , ) ( , ) ( , , )( )
r r e r i i i r i
L x L x
L x f x nReflected Light (Output Image)
Emission Incident Light (from light source)
BRDF Cosine of Incident angle Sum over all light sources
Reflectance Equation (review)
i rx
( , ) ( , ) ( , ) ( , , ) cos
r r e r i i i r i i
L x L x L x f x d
Reflected Light (Output Image)
Emission Incident Light (from light source)
BRDF Cosine of Incident angle Replace sum with integral
d
iThe Challenge
• Computing reflectance equation requires knowing the incoming radiance from surfaces
• But determining incoming radiance requires knowing the reflected radiance from surfaces
( , ) ( , ) ( , ) ( , , ) cos
r r e r i i i r i i
L x L x L x f x d
Global Illumination
i rx
( , ) ( , ) ( , ) ( , , ) cos
r r e r L xr i i r id i
L x L x f x
Reflected Light (Output Image)
Emission Reflected Light (from surface)
BRDF Cosine of Incident angle
d
iSurfaces (interreflection)
dA x
i x x
Rendering Equation
i rx
( , ) ( , , ) c
( , r) e r r( , i) i r os i
r i
L x L x L x f x d
Reflected Light (Output Image)
Emission Reflected Light
BRDF Cosine of Incident angle
d
iSurfaces (interreflection)
dA x
UNKNOWN KNOWN UNKNOWN KNOWN KNOWN
Rendering Equation (Kajiya 86)
Rendering Equation (Kajiya 86)
Outline Outline
Reflectance Equation (review)
Global Illumination
Rendering Equation
As a general Integral Equation and Operator
Approximations (Ray Tracing, Radiosity)
Surface Parameterization (Standard Form)
Rendering Equation as Integral Equation
Reflected Light (Output Image)
Emission Reflected Light
BRDF Cosine of Incident angle
UNKNOWN KNOWN UNKNOWN KNOWN KNOWN
( ) ( ) ( ) ( , )
l u e u l v K u v dv
Is a Fredholm Integral Equation of second kind
[extensively studied numerically] with canonical form
( , ) ( , , ) c
( , r) e r r( , i) i r os i
r i
L x L x L x f x d
Kernel of equation
Linear Operator Theory
• Linear operators act on functions like matrices act on vectors or discrete representations
• Basic linearity relations hold
• Examples include integration and differentiation
( ) ( )
h u M f u
M is a linear operator.f and h are functions of u
M af bg a M f b M g
a and b are scalars f and g are functions
( ) ( , ) ( ) ( ) ( )
K f u k u v f v dv D f u f u
u
Linear Operator Equation ( ) ( ) ( ) ( , )
l u e u l v K u v dv
Kernel of equation
Light Transport Operator
L E KL
Can also be discretized to simple matrix equation
[or system of simultaneous linear equations]
(L, E are vectors, K is the light transport matrix)
Solving the Rendering Equation
L E KL
IL K L E ( I K ) L E
( I K )
1L
E
Binomial Theorem
2 3
( I K ...) L K K E
2 3
...
E KE K E K E
L
Term n corresponds to n bounces of light
Solving the Rendering Equation
• Too hard for analytic solution, numerical methods
• Approximations, that compute different terms, accuracies of the rendering equation
• Two basic approaches are ray tracing, radiosity.
More formally, Monte Carlo and Finite Element
• Monte Carlo techniques sample light paths, form statistical estimate (example, path tracing)
• Finite Element methods discretize to matrix equation
Ray Tracing
2 3 ...
E KE K E K E
L
Emission directly From light sources
Direct Illumination on surfaces
Global Illumination (One bounce indirect) [Mirrors, Refraction]
(Two bounce indirect) [Caustics etc]
Ray Tracing
2 3 ...
K E
E K E K E
L
Emission directly From light sources
Direct Illumination on surfaces
Global Illumination (One bounce indirect) [Mirrors, Refraction]
(Two bounce indirect) [Caustics etc]
OpenGL Shading
Outline Outline
Reflectance Equation (review)
Global Illumination
Rendering Equation
As a general Integral Equation and Operator
Approximations (Ray Tracing, Radiosity)
Surface Parameterization (Standard Form)
Rendering Equation
i rx
( , ) ( , , ) c
( , r) e r r( , i) i r os i
r i
L x L x L x f x d
Reflected Light (Output Image)
Emission Reflected Light
BRDF Cosine of Incident angle
d
iSurfaces (interreflection)
dA x
UNKNOWN KNOWN UNKNOWN KNOWN KNOWN
i x x
Change of Variables
Integral over angles sometimes insufficient. Write integral in terms of surface radiance only (change of variables)
( , ) ( , ) ( , ) ( , , ) cos
r r e r r i i r i i
L x L x L x f x d
x
x
dA
i
i
i
o
di
2
cos
| |
o i
d dA
x x
Change of Variables
Integral over angles sometimes insufficient. Write integral in terms of surface radiance only (change of variables)
( , ) ( , ) ( , ) ( , , ) cos
r r e r r i i r i i
L x L x L x f x d
2
cos
| |
o i
d dA
x x
all visible
2 to
cos cos
( , ) ( , ) ( , ) ( , , )
| |
i o
r r e r r i i r
x x
L x L x L x f x
x d
x A
2
cos cos ( , ) ( , )
| |
i o
G x x G x x
x x
Rendering Equation: Standard Form
Integral over angles sometimes insufficient. Write integral in terms of surface radiance only (change of variables)
Domain integral awkward. Introduce binary visibility fn V
( , ) ( , ) ( , ) ( , , ) cos
r r e r r i i r i i
L x L x L x f x d
2
cos
| |
o i
d dA
x x
all visible
2 to
cos cos
( , ) ( , ) ( , ) ( , , )
| |
i o
r r e r r i i r
x x
L x L x L x f x
x d
x A
2
cos cos ( , ) ( , )
| |
i o
G x x G x x
x x
all surfaces
( , ) ( , ) ( , ) ( , , ) ( , ) ( , )
r r e r r
x
i i r
L x L x L x f x G x x V x x dA
Same as equation 2.52 Cohen Wallace. It swaps primed And unprimed, omits angular args of BRDF, - sign.
Same as equation above 19.3 in Shirley, except he has no emission, slightly diff. notation
Radiosity Equation
all surfaces
( , ) ( , ) ( , ) ( , , ) ( , ) ( , )
r r e r r
x
i i r
L x L x L x f x G x x V x x dA
Drop angular dependence (diffuse Lambertian surfaces) ( ) ( ) ( ) ( ) ( , ) ( , )
S
r e r
L x L x f x
L x G x x V x x dA Change variables to radiosity (B) and albedo (ρ)( , ) ( , ) ( ) ( ) ( ) ( )
S
G x x V x x
B x E x x B x dA
Same as equation 2.54 in Cohen Wallace handout (read sec 2.6.3) Ignore factors of π which can be absorbed.
Expresses conservation of light energy at all points in space
Discretization and Form Factors
( , ) ( , ) ( ) ( ) ( ) ( )
S
G x x V x x
B x E x x B x dA
j
i i i j j i
j i
B E B F A
A
F is the form factor. It is dimensionless and is the fraction of energy leaving the entirety of patch j (multiply by area of j to get total energy) that arrives anywhere in the entirety of patch i
(divide by area of i to get energy per unit area or radiosity).
Form Factors
dAj
i
j
dAi
r
jA
Ai
( , ) ( , )
i i j j j i i j
G x x V x x
A F A F dA dA
2
cos cos ( , ) ( , )
| |
i o
G x x G x x
x x
Matrix Equation
j
i i i j j i
j i
B E B F A
A
( , ) ( , )
i i j j j i i j
G x x V x x
A F A F dA dA
i i i j i j
j
B E B F
i i j i j i
j
B B F
E
ij j i ij ij i i j
j
M B E MB E M I F
Summary Summary
Theory for all global illumination methods (ray tracing, path tracing, radiosity)
We derive Rendering Equation [Kajiya 86]
Major theoretical development in field
Unifying framework for all global illumination
Discuss existing approaches as special cases
Next: Practical solution using Monte Carlo methods