towards a taxonomy of global illumination algorithms philip dutré program of computer graphics...

38
Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Upload: silvester-cain

Post on 04-Jan-2016

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Towards a Taxonomy ofGlobal Illumination Algorithms

Philip Dutré

Program of Computer Graphics

Cornell University

Page 2: Towards a Taxonomy of Global 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)

Page 3: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Photo-realistic picture?

• Picture = matrix of ‘light intensity’ values

• Rendered picture and photograph look the same to a human observer

Page 4: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Physically-based modeled?

• Light Sources• Emission characteristics

• Materials• Reflectance characteristics (BRDF)

• Geometry

Page 5: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

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

Page 6: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Light Transport

Light

Transport

Simulation

Radiometric Values

“Intensity” for each point and each direction

Emission (light sources)

BRDFs (materials)

Geometry (objects)

Page 7: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Global Illumination Problem

eye

pixel

What is the ‘intensity’of this surface in thedirection of the eye?

Page 8: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Global Illumination Problem

What is the ‘intensity’of this surface in allpossible directions?

Page 9: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Common Ground for GI

• Pre-’86: ???

• 1986: Rendering Equation

• 1992: Potential Equation

Is there a single framework that describes all GI algorithms?

Page 10: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

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

Page 11: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

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)

Page 12: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Radiance Distribution

Propagate ... … and reflect

Page 13: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Shooting Operation

• Propagation + Reflection = “Shooting”

Lnew = SLinit

• … propagate and reflect again!

Page 14: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Shooting Operation

… and reflect again… propagate

Page 15: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Shooting Operation

Lnewer = SLnew = SSLinit

Ltotal = Linit+SLinit +SSLinit

Page 16: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Shooting Operation

Li SLi SSLi SSSLi

Li +SLi Li +SLi+SSLi Li +SLi+SSLi+ SSSLi

Li

Page 17: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Shooting Equilibrium

Lequil = Linit+SLequil

Rendering Equation

Page 18: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Collecting Radiance

Collect all radiance at this patch (= flux)

How do we know where to collect radiance?

Page 19: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

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

Page 20: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Collecting Radiance

W = 1

W = 0

Flux = Radiance L x Importance W

= <L,W>

Page 21: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

“Helmholtz” Reciprocity

• Role of source and receiver can be switched, flux does not change

Page 22: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Dual Transport

• Instead of shooting from light sources and collecting at receivers …

• … start at receivers and trace back to the light sources

Page 23: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

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

Page 24: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Dual Transport

Winit …reflect back …propagate back

Wnew = RWinit

Page 25: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Dual Transport

Wequil = Winit+RWequil

Importance Equation

Page 26: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Dual Transport

• Collect propagated W at light sources

• Li 0 at light sources

= <W,Linit>

Flux = Importance W x Radiance Linit

Page 27: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

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

Page 28: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Solving Global Illumination

Page 29: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Solving Global Illumination

F = <Wi,Li>+<Wi,SLi>

or<RWi,Li>

<Wi,SSLi>or

<RWi,SLi>or

<RRWi,Li>

+

Page 30: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Ray Tracing = Shoot W

Page 31: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Particle tracing = Shoot L

Page 32: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Bidirectional tracing = shoot both

Page 33: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

*Tracing

F = <Wi,Li>+<Wi,SLi>

or<RWi,Li>

<Wi,SSLi>or

<RWi,SLi>or

<RRWi,Li>

+

Particle Tracing

Ray Tracing

BT

Page 34: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Bidirectional Path Tracing

(RenderPark 98)

Page 35: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

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

Page 36: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Bidirectional Radiosity

Page 37: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Algorithms

• Ray Tracing

• Particle tracing

• Bidirectional path tracing

• Gauss-Seidel radiosity

• Progressive radiosity

• Bidirectional Radiosity

Page 38: Towards a Taxonomy of Global Illumination Algorithms Philip Dutré Program of Computer Graphics Cornell University

Conclusion

• Framework for global illumination

• Combines radiance and potential in a single formulation

• Taxonomy of algorithms

• Bidirectional algorithms