a fast shadow algorithm for area light sources using backprojection george drettakis eugene fiume...

24
A Fast Shadow Algorithm for A Fast Shadow Algorithm for Area Light Sources Using Area Light Sources Using Backprojection Backprojection George Drettakis George Drettakis Eugene Fiume Eugene Fiume Department of Computer Science Department of Computer Science University of Toronto, CANADA University of Toronto, CANADA

Upload: coral-parker

Post on 02-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

A Fast Shadow Algorithm for Area A Fast Shadow Algorithm for Area Light Sources Using BackprojectionLight Sources Using Backprojection

George Drettakis George Drettakis Eugene FiumeEugene Fiume

Department of Computer ScienceDepartment of Computer ScienceUniversity of Toronto, CANADAUniversity of Toronto, CANADA

Page 2: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

A Fast Shadow Algorithm for Area A Fast Shadow Algorithm for Area Light Sources Using BackprojectionLight Sources Using Backprojection

George Drettakis George Drettakis Eugene FiumeEugene Fiume

Department of Computer ScienceDepartment of Computer ScienceUniversity of Toronto, CANADAUniversity of Toronto, CANADA

Page 3: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Motivation [IMAGE]Motivation [IMAGE]

• Fast calculation of images with analytic radiance Fast calculation of images with analytic radiance values in the penumbravalues in the penumbra

• (Images DC D2C2)(Images DC D2C2)

Page 4: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Results of the AlgorithmResults of the Algorithm• Efficient representation of visible part of the Efficient representation of visible part of the

sourcesource

• Fast ray-cast rendering of accurate shadowsFast ray-cast rendering of accurate shadows

– Analytic radiance values in penumbraAnalytic radiance values in penumbra

• Interpolant representation for hardware polygon Interpolant representation for hardware polygon rendering (interactive walkthroughs) and ray-rendering (interactive walkthroughs) and ray-castingcasting

Page 5: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Previous Work in ShadowsPrevious Work in Shadows• Nishita & Nakamae (1983), extremal boundaries, Nishita & Nakamae (1983), extremal boundaries,

explicit visibility calculationexplicit visibility calculation

• Campbell & Fussell (1990, 1991), Chin & Feiner Campbell & Fussell (1990, 1991), Chin & Feiner (1990, 1992), point sources extended to area (1990, 1992), point sources extended to area sources, extremal boundariessources, extremal boundaries

• Lischinski et al. 1992, Heckbert 1992, visibility Lischinski et al. 1992, Heckbert 1992, visibility changes within penumbrachanges within penumbra

Page 6: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Other Related Work Other Related Work • Aspect graph calculation in Computer Vision Aspect graph calculation in Computer Vision

(Gigus & Malik 1990, Gigus et al. 1991)(Gigus & Malik 1990, Gigus et al. 1991)

• Full mesh calculation, Stewart & Ghali 1993, Full mesh calculation, Stewart & Ghali 1993, 19941994

– Different methodologyDifferent methodology

– 2D vs. 3D approach2D vs. 3D approach

– Heuristics vs. Geometric/Asymptotic AnalysisHeuristics vs. Geometric/Asymptotic Analysis

Page 7: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Backprojection [IMAGE]Backprojection [IMAGE]• A Backprojection instance at a point A Backprojection instance at a point

• (Colour Image of BP)(Colour Image of BP)

• Backprojection: ordered list of vertices and Backprojection: ordered list of vertices and edges allowing the formation of the edges allowing the formation of the backprojection instancebackprojection instance

Page 8: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Discontinuity MeshDiscontinuity Mesh• Segmentation of input polygons into faces (or Segmentation of input polygons into faces (or

cells) having the same backprojectioncells) having the same backprojection

• The mesh is calculated by casting discontinuity The mesh is calculated by casting discontinuity surfaces into the environmentsurfaces into the environment

• Four sub-classes of disc. surfaces:Four sub-classes of disc. surfaces:

– Emitter EV and EEE (EeEE)Emitter EV and EEE (EeEE)

– Non-Emitter EV and EEENon-Emitter EV and EEE

Page 9: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Algorithm OverviewAlgorithm Overview

• Algorithm:Algorithm:

– Cast surfaces, generate meshCast surfaces, generate mesh

– Calculate backprojectionsCalculate backprojections

– Separate light/shadow regionsSeparate light/shadow regions

– Build interpolants (if needed)Build interpolants (if needed)

Page 10: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Algorithm Overview (cont.)Algorithm Overview (cont.)• Extension of Heckbert 92Extension of Heckbert 92

– treatment of non-emitter surfacestreatment of non-emitter surfaces

– treatment of EEEtreatment of EEE

– incremental mesh constructionincremental mesh construction

• Utilisation of typical scene structureUtilisation of typical scene structure

– use of spatial subdivision structure (grid)use of spatial subdivision structure (grid)

Page 11: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Emitter Surface CastingEmitter Surface Casting• EV surfacesEV surfaces

– 2-D visibility on wedge2-D visibility on wedge

• EeEE surfacesEeEE surfaces

– identify and connect mesh edges caused by identify and connect mesh edges caused by the same edge pairthe same edge pair

Page 12: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Non Emitter Surfaces [IMAGE]Non Emitter Surfaces [IMAGE]• Efficient identification using grid structureEfficient identification using grid structure

• [IMAGE][IMAGE]

• Non-emitter EEENon-emitter EEE

– visibility sweep across quadric surfacevisibility sweep across quadric surface

Page 13: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Non-Emitter Surface StatisticsNon-Emitter Surface Statistics

• Small number of non-emitter surfaces Small number of non-emitter surfaces

• Number of non-emitter surfaces grows slowly Number of non-emitter surfaces grows slowly

• Efficient identification feasibleEfficient identification feasible

Number ofEdges

EV (smallsource)

EV (largesource)

EEE (smallsource)

EEE (largesource)

0

1000

2000

3000

Number ofEdges

EV (smallsource)

EV (largesource)

EEE (smallsource)

EEE (largesource)

DeskDesk and Chair2 Desks 2 Chairs

Page 14: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Incremental Backprojection Incremental Backprojection UpdateUpdate• Start in region of light or umbraStart in region of light or umbra

– "backprojection" is the source or null"backprojection" is the source or null

– explicit calculations rarely needed (only for explicit calculations rarely needed (only for objects entirely in penumbra)objects entirely in penumbra)

• Store discontinuity surface info with mesh edgesStore discontinuity surface info with mesh edges

– perform small incremental update when perform small incremental update when crossing each edgecrossing each edge

Page 15: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Mesh Timing ResultsMesh Timing Results

• Quasi-linear time for mesh calculationQuasi-linear time for mesh calculation

• Grid effective; 2-D visibility insignificant Grid effective; 2-D visibility insignificant

0

50

100

150

200

Table (55 polys) Desk Scene (187 polys)

Desk & Chair(331 polys)

2 Desks 2Chairs (601

polys)

Mesh Calculation Time(sec.)Number of PolygonsVisitedIntersections on Wedge

Page 16: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Backprojection Timing ResultsBackprojection Timing Results• Incremental vs explicit backprojection calculationIncremental vs explicit backprojection calculation

• Incremental calculation permits almost- Incremental calculation permits almost- interactive update rate for moving objects interactive update rate for moving objects

MeshComputation

ExplicitBackprojection

IncrementalBackprojection

02468

10

Tim

e(s

ec

.)

MeshComputation

ExplicitBackprojection

IncrementalBackprojection

Simple Scene Table Scene

Page 17: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Ray-cast Rendering [IMAGE]Ray-cast Rendering [IMAGE]• Ray-casting with analytic radiance values in the Ray-casting with analytic radiance values in the

penumbrapenumbra

– stored backprojections, allow cheap shadingstored backprojections, allow cheap shading

Page 18: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Hardware Polygon Rendering Hardware Polygon Rendering [IMAGE][IMAGE]• Build interpolantsBuild interpolants

– structured tensor products for light (DrFi93)structured tensor products for light (DrFi93)

– triangular for penumbratriangular for penumbra

Page 19: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Other Applications of the Other Applications of the Algorithm [IMAGE]Algorithm [IMAGE]• Study of radiance in the penumbra (Dret94a)Study of radiance in the penumbra (Dret94a)

– study of monotonicity and other propertiesstudy of monotonicity and other properties

– mesh simplification mesh simplification

Page 20: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Other Applications of the Other Applications of the Algorithm [IMAGE]Algorithm [IMAGE]• Mesh simplfication for multiple sources Mesh simplfication for multiple sources

– calculate full mesh only when neededcalculate full mesh only when needed

– ([Dret94b] published in the 5th EG workshop ([Dret94b] published in the 5th EG workshop on Rendering)on Rendering)

Page 21: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

Future WorkFuture Work• Global IlluminationGlobal Illumination

– computation of complete mesh locally, only computation of complete mesh locally, only when necessarywhen necessary

– Use of backprojections and discontinuity Use of backprojections and discontinuity meshing for error bound calculationsmeshing for error bound calculations

• Incremental modification of the mesh for moving Incremental modification of the mesh for moving objectsobjects

– modify only the part of the mesh that changesmodify only the part of the mesh that changes

Page 22: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

DiscussionDiscussion• Only small and moderate size scenes have been Only small and moderate size scenes have been

tested to datetested to date

• General EEE implementation not yet completeGeneral EEE implementation not yet complete

• Robustness an important issueRobustness an important issue

– numerical accuracy a problemnumerical accuracy a problem

Page 23: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

ConclusionConclusion• Efficient algorithm for complete discontinuity Efficient algorithm for complete discontinuity

mesh calculation with backprojectionsmesh calculation with backprojections

• Images with analytic radiance values in Images with analytic radiance values in penumbrapenumbra

• Interactive walkthroughsInteractive walkthroughs

• Almost-interactive updates for object or source Almost-interactive updates for object or source motionmotion

Page 24: A Fast Shadow Algorithm for Area Light Sources Using Backprojection George Drettakis Eugene Fiume Department of Computer Science University of Toronto,

ConclusionConclusion• Efficient algorithm for complete discontinuity Efficient algorithm for complete discontinuity

mesh calculation with backprojectionsmesh calculation with backprojections

• Images with analytic radiance values in Images with analytic radiance values in penumbrapenumbra

• Interactive walkthroughsInteractive walkthroughs

• Almost-interactive updates for object or source Almost-interactive updates for object or source motionmotion