1 implicit visibility and antiradiance for interactive global illumination carsten dachsbacher 1,...

33
Implicit Visibility and Implicit Visibility and Antiradiance for Antiradiance for Interactive Global Interactive Global Illumination Illumination Carsten Dachsbacher Carsten Dachsbacher 1 , Marc Stamminger , Marc Stamminger 2 , , George Drettakis George Drettakis 1 , Frédo Durand , Frédo Durand 3 1 REVES/INRIA Sophia-Antipolis, REVES/INRIA Sophia-Antipolis, 2 University of Erlangen, University of Erlangen, 3 MIT CSAIL MIT CSAIL

Upload: dominick-griffith

Post on 04-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

Implicit Visibility and Implicit Visibility and Antiradiance for Interactive Antiradiance for Interactive

Global IlluminationGlobal Illumination

Carsten DachsbacherCarsten Dachsbacher11, Marc Stamminger, Marc Stamminger22, , George DrettakisGeorge Drettakis11, Frédo Durand, Frédo Durand33

11 REVES/INRIA Sophia-Antipolis, REVES/INRIA Sophia-Antipolis, 22 University of Erlangen, University of Erlangen,

33 MIT CSAIL MIT CSAIL

Page 2: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

MotivationMotivation

global illuminationimportant for realistic image synthesisinteractivity is desirablevisibility is expensive

global illuminationimportant for realistic image synthesisinteractivity is desirablevisibility is expensive

direct illuminationdirect illumination global illuminationglobal illumination

Page 3: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

Previous WorkPrevious Work

off-line vs. precomputed vs. real-time

radiosity / finite element methodsamount of transport: form factors

computation involves visibility, most expensive partdynamic scenes make global updates necessary

off-line vs. precomputed vs. real-time

radiosity / finite element methodsamount of transport: form factors

computation involves visibility, most expensive partdynamic scenes make global updates necessary

[Cohen88][Cohen88] [Sloan02][Sloan02] [Keller97][Keller97]

Page 4: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

Previous Work - negative lightPrevious Work - negative lightstill using visibility

incremental updates for dynamic radiosity [Chen90]complex data structures, “negative light”

photon mapping (shadow photons) [Jensen95]

alleviating visibility ambient occlusion [Bunnell05]“how to avoid explicit visibility” [Pellegrini99]

purely theoretical discussiondoes not address directional discretization, iterative solutions

still using visibilityincremental updates for dynamic radiosity [Chen90]

complex data structures, “negative light”

photon mapping (shadow photons) [Jensen95]

alleviating visibility ambient occlusion [Bunnell05]“how to avoid explicit visibility” [Pellegrini99]

purely theoretical discussiondoes not address directional discretization, iterative solutions

Page 5: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

BRDFBRDF geometry termgeometry termincident radianceincident radiancevisibility functionvisibility function

Light TransportLight Transport

rendering equation [Kajiya86]rendering equation [Kajiya86]

Page 6: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

Rendering EquationRendering Equationlinear operators [Arvo94]global transport operator G

computes incident radiance from other surfacesdetermines visibility

linear operators [Arvo94]global transport operator G

computes incident radiance from other surfacesdetermines visibility

GG

transportwith occlusion

transportwith occlusion

Page 7: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

Rendering EquationRendering Equationreflection operator K

local operator, computes reflected radiance

rendering equation

reflection operator K local operator, computes reflected radiance

rendering equation

GG

transportwith occlusion

transportwith occlusion

KK

reflectionreflection

radiance L

emission E

radiance L

emission E

Page 8: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

Goal: alleviate visibility computationGoal: alleviate visibility computation

replace Guse operator U for unoccluded transport

problem: excessive light transportsolution: compensate with “negative light”

replace Guse operator U for unoccluded transport

problem: excessive light transportsolution: compensate with “negative light”

UU

transportwithout occlusion

transportwithout occlusion

generatenegative light

generatenegative light

Page 9: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

New operatorNew operator

additional local operatorgo-through operator J

lets radiance pass through surfaceno change in direction or magnitude

additional local operatorgo-through operator J

lets radiance pass through surfaceno change in direction or magnitude

UU

transportwithout occlusion

transportwithout occlusion

KK

reflectionreflection

JJ

go-throughoperator

go-throughoperator

Page 10: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

From occluded to unoccluded transportFrom occluded to unoccluded transport

LLGLGL JGL

JGL

ULUL

Antiradiance

Antiradiance

inputinputoccludedoccluded unoccludedunoccludedradianceradiancetransporttransport transporttransport

go-throughgo-throughoperator Joperator J

problem:problem:extraneousextraneous

UAUA

negativenegativelightlight

lightlight

what we wantwhat we want what we can

do cheaply

what we can

do cheaply

what we needto remove

what we needto remove

Page 11: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

From occluded to unoccluded transportFrom occluded to unoccluded transport

GLGL

occludedoccludedtransporttransport

ULUL

unoccludedunoccludedtransporttransport

UAUA

negativenegativelightlight

== --

Page 12: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

occluded and unoccluded transport

antiradiance

radiance

occluded and unoccluded transport

antiradiance

radiance

AntiradianceAntiradiance

UAUAULULGLGL

Page 13: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

BB

Occluded vs. unoccluded transportOccluded vs. unoccluded transport

GLGL

AA

ULUL

CC

antiradiance

exchange from C to B

antiradiance

exchange from C to B

GL: light is blocked at C, no transport A to BGL: light is blocked at C, no transport A to BUL: transport A to BUL: transport A to Bantiradiance generated at Cantiradiance generated at C

Page 14: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

new rendering equation

avoids explicit visibility new quantity antiradiance propagate

new rendering equation

avoids explicit visibility new quantity antiradiance propagate

RecapRecap

UU

transportwithout occlusion

transportwithout occlusion

KK

reflectionreflection

JJ

go-throughoperator

go-throughoperator

Page 15: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

Practical implementationPractical implementation

finite element approach

iterative strategies and convergence

using the GPUimplicit visibility makes is feasible

finite element approach

iterative strategies and convergence

using the GPUimplicit visibility makes is feasible

Page 16: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

Finite ElementsFinite Elementsspatial and directional discretizationhierarchical radiosity with clustering

energy transport over linksform factors: energy transport between two patchesdirectional quantities: uniform discretization

spatial and directional discretizationhierarchical radiosity with clustering

energy transport over linksform factors: energy transport between two patchesdirectional quantities: uniform discretization

Page 17: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

ComputationComputation

UU

transportwithout occlusion

transportwithout occlusion

KK

reflectionreflection

JJ

go-throughoperator

go-throughoperator

Page 18: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

ComputationComputation

UU

transportwithout occlusion

transportwithout occlusion

global passpropagate energyhierarchical solver: links

global passpropagate energyhierarchical solver: links

Page 19: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

ComputationComputation

KK

reflectionreflection

JJ

go-throughoperator

go-throughoperator

local passtransform incident energy into new exitant energy

local passtransform incident energy into new exitant energy

Page 20: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

Iterative SolutionIterative Solution

symmetric iterationsymmetric iteration

Page 21: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

Symmetric IterationSymmetric Iteration

1st iteration1st iteration 2nd iteration2nd iteration 3rd iteration3rd iteration

4th iteration4th iteration 8th iteration8th iterationpath tracingpath tracingreferencereference

Page 22: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

Iterative SolutionIterative Solution

symmetric iteration

shadows are one step behindfast convergence

it can diverge in contrived scenesconverged in allscenes tested

symmetric iteration

shadows are one step behindfast convergence

it can diverge in contrived scenesconverged in allscenes tested

Page 23: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

Iterative SolutionIterative Solution

asymmetric iterationone step of radiance propagation

multiple steps for antiradiance

#iterations = depth complexity

“emulate” one step of GL

asymmetric iterationone step of radiance propagation

multiple steps for antiradiance

#iterations = depth complexity

“emulate” one step of GL

ULUL UAUA

Page 24: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

ConvergenceConvergenceoffice scene

symmetric: faster in the beginningasymmetric: better >90 stepsvisually: 10 iterations suffice

office scenesymmetric: faster in the beginningasymmetric: better >90 stepsvisually: 10 iterations suffice

Page 25: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

Data structuresData structures

exitant energyexitant energy incident energyincident energy emission+total reflectionemission+total reflection

spatial and directional discretizationsimple 2D data structurestextures/render targets on GPUs

each table stores L and AK and J operate on separate hemispheres

spatial and directional discretizationsimple 2D data structurestextures/render targets on GPUs

each table stores L and AK and J operate on separate hemispheres

ele

men

tsele

men

ts

directionsdirections

Page 26: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

Data structures (global pass)Data structures (global pass)

directionsdirections

receiver

patch

receiver

patch

sender

patch

sender

patch

formfactorformfactor

PPQQ FPQFPQ

link tablelink table

exitant energyexitant energy incident energyincident energy emission+total reflectionemission+total reflection

**

**

direction maskdirection maskcheap, because

no visibilitycheap, because

no visibility

Page 27: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

store radiance and antiradiance for next iterationstore radiance and antiradiance for next iterationaccumulate reflected radiance for displayaccumulate reflected radiance for display

Data structures (local pass)Data structures (local pass)

exitant energyexitant energy incident energyincident energy emission+total reflectionemission+total reflection

KKJJ

new antiradiancenew antiradiance new radiancenew radiance

apply local operators to incident energy of each patchapply local operators to incident energy of each patch

Page 28: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

separate direct and indirect illuminationinitialize from environment mapsevaluate direct light with shadow maps

separate direct and indirect illuminationinitialize from environment mapsevaluate direct light with shadow maps

ResultsResults

Page 29: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

ResultsResults

glossy materialscomparison to path tracing

glossy materialscomparison to path tracing

GPU (11 fps) GPU (11 fps) path tracingpath tracing

Page 30: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

Dynamic ScenesDynamic Scenesmoving or deforming objects

only update directly affected linksoptimal link hierarchy changes

moving or deforming objectsonly update directly affected linksoptimal link hierarchy changes

Page 31: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

meshing and linking excessive subdivision for dynamic scenesdirectional quantities

memoryaccuracy, main approximation

meshing and linking excessive subdivision for dynamic scenesdirectional quantities

memoryaccuracy, main approximation

DiscussionDiscussion

Page 32: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

rendering equation with implicit visibilitydirectional quantity antiradiancereorganized global illumination computation

interactive updatesmoving objects, lightsglossy surfaces

rendering equation with implicit visibilitydirectional quantity antiradiancereorganized global illumination computation

interactive updatesmoving objects, lightsglossy surfaces

ConclusionConclusion

Page 33: 1 Implicit Visibility and Antiradiance for Interactive Global Illumination Carsten Dachsbacher 1, Marc Stamminger 2, George Drettakis 1, Frédo Durand 3

Thank you for your attention!

Questions?

Thank you for your attention!

Questions?

Acknowledgements: DFG (project “Interaktive Visualisierung Prozeduraler Modelle”)Marie-Curie Postdoctoral Fellowship “Scalable-GlobIllum” (MEIF-CT-2006-

041306)Microsoft Research New Faculty Fellowship, Sloan FellowshipNSF CAREER award 0447561Autodesk, A. Olivier, F. Firsching, P. Richard, P. Green

Acknowledgements: DFG (project “Interaktive Visualisierung Prozeduraler Modelle”)Marie-Curie Postdoctoral Fellowship “Scalable-GlobIllum” (MEIF-CT-2006-

041306)Microsoft Research New Faculty Fellowship, Sloan FellowshipNSF CAREER award 0447561Autodesk, A. Olivier, F. Firsching, P. Richard, P. Green