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

Post on 04-Jan-2016

218 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

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

top related