towards a taxonomy of global illumination algorithms philip dutré program of computer graphics...
TRANSCRIPT
Towards a Taxonomy ofGlobal Illumination Algorithms
Philip Dutré
Program of Computer Graphics
Cornell University
Global IlluminationMake a photo-realistic picture of a virtual
scene which is physically-based modeled
(source: Stroebel ‘86)
Photo-realistic picture?
• Picture = matrix of ‘light intensity’ values
• Rendered picture and photograph look the same to a human observer
Physically-based modeled?
• Light Sources• Emission characteristics
• Materials• Reflectance characteristics (BRDF)
• Geometry
Rendering Framework
emissiongeometryBRDF
radiometricvalues
displayedimage
goniometricerrormetric
radiometricerrormetric
perceptualerrormetric
radiometric comparisonperceptual comparison
=?
Visual DisplayLight TransportSimulation 2
7151
322
=?9
9
14
1
7
7
9
7
5
5
7
9
5
5
5
7
10
11
12
2
6
8
10
9
4
4
8
9
6
5
5
6
goniometric comparison
Display Observer
Light Transport
Light
Transport
Simulation
Radiometric Values
“Intensity” for each point and each direction
Emission (light sources)
BRDFs (materials)
Geometry (objects)
Global Illumination Problem
eye
pixel
What is the ‘intensity’of this surface in thedirection of the eye?
Global Illumination Problem
What is the ‘intensity’of this surface in allpossible directions?
Common Ground for GI
• Pre-’86: ???
• 1986: Rendering Equation
• 1992: Potential Equation
Is there a single framework that describes all GI algorithms?
Radiance (L)
• Fundamental transport quantity… power per unit projected area per solid
angle in each point and direction
• Radiance is invariant along a straight line (that’s why ray tracing works)
• Flux = integrated radiance
Radiance Distribution
• Look for initial L (light sources)
• Propagate L along straight paths to the first visible surfaces
• Reflect L locally at the surfaces
Light source descriptions
Visibility calculation(geometry)
Reflectance(materials)
Radiance Distribution
Propagate ... … and reflect
Shooting Operation
• Propagation + Reflection = “Shooting”
Lnew = SLinit
• … propagate and reflect again!
Shooting Operation
… and reflect again… propagate
Shooting Operation
Lnewer = SLnew = SSLinit
Ltotal = Linit+SLinit +SSLinit
Shooting Operation
Li SLi SSLi SSSLi
Li +SLi Li +SLi+SSLi Li +SLi+SSLi+ SSSLi
Li
Shooting Equilibrium
Lequil = Linit+SLequil
Rendering Equation
Collecting Radiance
Collect all radiance at this patch (= flux)
How do we know where to collect radiance?
Collecting Radiance
• Define an importance function W• W = 1 where to collect
• W = 0 where not to collect
• Each patch/pixel/… has its own W
Collecting Radiance
W = 1
W = 0
Flux = Radiance L x Importance W
= <L,W>
“Helmholtz” Reciprocity
• Role of source and receiver can be switched, flux does not change
Dual Transport
• Instead of shooting from light sources and collecting at receivers …
• … start at receivers and trace back to the light sources
Dual Transport
• Start at surface with Winit = 1
• “Where could radiance come from?”• reflect W locally
• propagate reflected W backwards
• Collect propagated W at light sources
Dual Transport
Winit …reflect back …propagate back
Wnew = RWinit
Dual Transport
Wequil = Winit+RWequil
Importance Equation
Dual Transport
• Collect propagated W at light sources
• Li 0 at light sources
= <W,Linit>
Flux = Importance W x Radiance Linit
Solving Global Illumination
• Shoot radiance from light source and collect at receiver
• Shoot importance from receiver and collect at light sources
• or … shoot both at once and collect in the middle
Solving Global Illumination
Solving Global Illumination
F = <Wi,Li>+<Wi,SLi>
or<RWi,Li>
<Wi,SSLi>or
<RWi,SLi>or
<RRWi,Li>
+
Ray Tracing = Shoot W
Particle tracing = Shoot L
Bidirectional tracing = shoot both
*Tracing
F = <Wi,Li>+<Wi,SLi>
or<RWi,Li>
<Wi,SSLi>or
<RWi,SLi>or
<RRWi,Li>
+
Particle Tracing
Ray Tracing
BT
Bidirectional Path Tracing
(RenderPark 98)
Radiosity
• Progressive radiosity = shooting L
• Gauss-Seidel = shooting W
• Bidirectional Radiosity• shoot L and W and meet in the middle
• select each patch in turn as W-source
• faster convergence for selected patches
Bidirectional Radiosity
Algorithms
• Ray Tracing
• Particle tracing
• Bidirectional path tracing
• Gauss-Seidel radiosity
• Progressive radiosity
• Bidirectional Radiosity
Conclusion
• Framework for global illumination
• Combines radiance and potential in a single formulation
• Taxonomy of algorithms
• Bidirectional algorithms