cascaded light propagation volumes for indirect illumination

44
Anton Kaplanyan Anton Kaplanyan 1 Carsten Carsten Dachsbacher Dachsbacher 2 1 Crytek GmbH Crytek GmbH 2 VISUS / University Stuttgart VISUS / University Stuttgart ACM SIGGRAPH Symposium on Interactive 3D ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games Graphics and Games 21 February, 2010, 21 February, 2010, Washington Washington , USA , USA

Upload: anika-morris

Post on 30-Dec-2015

31 views

Category:

Documents


0 download

DESCRIPTION

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 21 February, 2010, Washington , USA. Cascaded Light Propagation Volumes for Indirect Illumination. Anton Kaplanyan 1 Carsten Dachsbacher 2 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Cascaded Light Propagation Volumes for Indirect Illumination

Anton KaplanyanAnton Kaplanyan11 Carsten DachsbacherCarsten Dachsbacher22

11Crytek GmbH Crytek GmbH 22VISUS / University StuttgartVISUS / University Stuttgart

ACM SIGGRAPH Symposium on Interactive 3D Graphics and GamesACM SIGGRAPH Symposium on Interactive 3D Graphics and Games21 February, 2010, 21 February, 2010, WashingtonWashington, USA, USA

Page 2: Cascaded Light Propagation Volumes for Indirect Illumination

Motivation

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 2

Page 3: Cascaded Light Propagation Volumes for Indirect Illumination

Previous work

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 3

Irradiance volumes Greger et al. 1997

SH Irradiance VolumesTatarchuk 2004

PRT: Spherical HarmonicsSloan et al. 2004

Spherical proxies with SH ExponentiationZhong et al. 2007

Image-Space Photon MappingMcGuire and Luebke 2009

Multi-resolution Splatting Nichols and Wyman 2009

Page 4: Cascaded Light Propagation Volumes for Indirect Illumination

Previous work, continued

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 4

Instant radiosityKeller 1997

Many-lights approachWalter et al. 2005Hasan et al. 2007Chevlak-Postavak et al. 2008

VPL visibilityLaine et al. 2007Ritschel et al. 2008

Page 5: Cascaded Light Propagation Volumes for Indirect Illumination

Previous work, continued

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 5

Disk-based Color BleedingBunell 2005Christensen 2008

Finite Element: AntiradianceDachsbacher et al. 2007

MicrorenderingRitschel et al. 2010

All techniques above have one or more of the following limitations:•Precomputed or redundant data (problems with dynamic and/or editable scenes)•Not suitable for game production performance-wiseMost of dynamic techniques are without indirect visibility

Page 6: Cascaded Light Propagation Volumes for Indirect Illumination

Previous work, lattice methods

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 6

Light Propagation Maps Fattal 2009

Lattice-Boltzmann Lighting Geist et al. 2004

Lattice-Based Volumetric GlobalIlluminationQiu et al. 2007

Page 7: Cascaded Light Propagation Volumes for Indirect Illumination

Basic idea

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 7

Page 8: Cascaded Light Propagation Volumes for Indirect Illumination

Basic idea

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 8

Page 9: Cascaded Light Propagation Volumes for Indirect Illumination

Basic idea

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 9

Page 10: Cascaded Light Propagation Volumes for Indirect Illumination

Propagation demo

Page 11: Cascaded Light Propagation Volumes for Indirect Illumination

Overview

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 11

Page 12: Cascaded Light Propagation Volumes for Indirect Illumination

Light Propagation Volumes

• Use many-lights approach to capture sources of indirect lighting

• Sample directly lit surfaces and initialize 3D grid

• Represent directional distribution with Spherical Harmonics– Inspired by SH Irradiance Volumes [Tatarchuk04]

• Iterative, local propagation: cell-to-cell

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 12

Page 13: Cascaded Light Propagation Volumes for Indirect Illumination

Secondary Light Sources

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 13

Page 14: Cascaded Light Propagation Volumes for Indirect Illumination

Secondary Light Sources

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 14

Reflective shadow mapsFlux NormalDepth

Page 15: Cascaded Light Propagation Volumes for Indirect Illumination

Injection

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 15

Page 16: Cascaded Light Propagation Volumes for Indirect Illumination

Pipeline

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 16

Reflective shadow maps Radiance volume gathering

VPL

VPL

VPL

Discretize initial VPL distribution by the regular grid and SH

A set of regularly sampled VPLs of the scene from light position

?

Page 17: Cascaded Light Propagation Volumes for Indirect Illumination

Light injection into the volume• Every element of

Reflective Shadow Map is a secondary lights

• Render as a point primitive into 3D grid– Represent flux in Spherical

Harmonics• Accumulate all VPLs into the grid• The 3D grid is initialized with

initial reflected light in the endACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 17

n

Page 18: Cascaded Light Propagation Volumes for Indirect Illumination

Light Propagation

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 18

Page 19: Cascaded Light Propagation Volumes for Indirect Illumination

Pipeline

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 19

Reflective shadow maps Radiance volume gathering

VPL

VPL

VPL

Discretize initial VPL distribution by the regular grid and SH

Iterative propagation

Propagate light iteratively going from one cell to another

A set of regularly sampled VPLs of the scene from light position

Page 20: Cascaded Light Propagation Volumes for Indirect Illumination

Iterative Light Propagation• Local cell-to-cell propagation

across the 3D grid– Iterate till the light travels through

the entire volume– Similar to SH Discrete Ordinate

Method (used for participating media illumination)

– Number of iterations depend on the resolution of the grid

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 20

Page 21: Cascaded Light Propagation Volumes for Indirect Illumination

The propagation iteration• 6 axial directions of propagation• Use contour faces as a

propagation wave front• Integrate source

intensity by the solid angle to get incoming flux for the face f

Page 22: Cascaded Light Propagation Volumes for Indirect Illumination

The propagation iteration• Use more than 6

directions– Only 6 direct neighbors– Compute light

propagation to eachface of neighbors’ cells

– 30 virtual directions – SHDOM: 27 neighbor

cells = 27 directions– good trade-off of

memory bandwidth vs “ray effect”• “Ray effect” - light propagates in a set of fictitious directions

4 directions of propagation

8 directions of propagation

Page 23: Cascaded Light Propagation Volumes for Indirect Illumination

Reprojection• Acquire the incident flux through

the receiving face• Create a new point light in the

center of receiving cell– Oriented towards the face– Causing exactly the same flux as the face received

• Generate clamped cosine lobe in SH basis similar to injection stage

• Accumulate the resulting SH coefficients into the destination cell for next iteration

Page 24: Cascaded Light Propagation Volumes for Indirect Illumination

Scene rendering

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 24

Page 25: Cascaded Light Propagation Volumes for Indirect Illumination

Rendering

• Look-up grid with trilinear interpolation• Evaluate the irradiance with cosine lobe of

surface’s normal• Apply dampening factor – Compute directional derivative towards normal– Dampen based on derivative deviation from the

intensity distribution direction

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 25

Page 26: Cascaded Light Propagation Volumes for Indirect Illumination

Results of indirect illumination

Page 27: Cascaded Light Propagation Volumes for Indirect Illumination

Cascaded Light Propagation Volumes

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 27

• Motivation: memory and bandwidth cost is o(N^3) for increase of LPV grid– Impossible to support large scenes

• Idea: use multiple nested grids to refine resolution hierarchically– Do not consider small objects for

large sparse grids

• Transfer propagated lighting fromnested grid to the parent grid

• Illuminate scene similarly tocascaded shadow maps

• Reduces the number of iterations sufficient per cascade

Page 28: Cascaded Light Propagation Volumes for Indirect Illumination

Cascaded Indirect Illumination

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 28

1 cascade1 cascade

3 cascades3 cascades

Page 29: Cascaded Light Propagation Volumes for Indirect Illumination

Fuzzy Secondary Occlusion

• Introduce a “fuzzyblocking” between cells

• Use another grid for blocking• Occlusion is view-dependent• Projected size of an occluder

is a cosine lobe

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 29

blocker

Page 30: Cascaded Light Propagation Volumes for Indirect Illumination

Fuzzy Secondary Occlusion

• Represent it as SH • Store into occlusion grid• Sample surfaces using

rasterization – Possibly multiple views

• Very similar to light injection

• Interpolate blockinglinearly in between cells

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 30

Camera view

Light view

Scene

Page 31: Cascaded Light Propagation Volumes for Indirect Illumination

Fuzzy Secondary Occlusion

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

W/o secondary occlusionW/o secondary occlusion

With secondary occlusionWith secondary occlusion

Page 32: Cascaded Light Propagation Volumes for Indirect Illumination

Multiple Bounces• Idea: use information

from occlusion gridto compute multipleindirect reflections

• Reflect light duringeach propagationiteration

• Avoid self-illumination by injecting reflectedlight at safety-distance

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 32

Page 33: Cascaded Light Propagation Volumes for Indirect Illumination

Glossy Reflections

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 33

• Idea: Compute incident light from reflection direction by marching through LPV grid

• Go few steps back in propagation time to reduce light smearing

• 4 cells is sufficient for moderately glossy objects

• Lookups into multiple cells prevent discontinuitiesin glossy reflections

Page 34: Cascaded Light Propagation Volumes for Indirect Illumination

Indirect lighting in isotropic participating media

• Ray march through the LPV • Accumulate inscattered light• Limited to single-scattering • Step through the whole

grid along viewdirection – Back to front

accumulation

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 34

Page 35: Cascaded Light Propagation Volumes for Indirect Illumination

Timings (Crytek Sponza)

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 35

Depends on scene complexity

Depends on image size (1280x720)

8 iterations

32^3 grid size

Page 36: Cascaded Light Propagation Volumes for Indirect Illumination

Results

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 36

Reference, 42 minReference, 42 min LPV, 78 fps @GTX285LPV, 78 fps @GTX285

Reference PBRT, 45 minReference PBRT, 45 min LPV, 60 fps @GTX285LPV, 60 fps @GTX285

Page 37: Cascaded Light Propagation Volumes for Indirect Illumination

Limitations of the method• Only diffuse inter-reflections• Sparse spatial and

low-frequency angular approximations– Light diffusion: light transport

smears in all directions– Spatial discretization: visible

for occlusion and very coarsegrids

• Incomplete information for secondary occlusionACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 37

Page 38: Cascaded Light Propagation Volumes for Indirect Illumination

Conclusion• Full-dynamic: scene, view, lighting changes• Real-time: GPU- and consoles- friendly• Production-eligible (simple tweaking)• Highly scalable– proportionally to quality

• Stable, flicker-free• Supports complex geometry (e.g. foliage)

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 38

Page 39: Cascaded Light Propagation Volumes for Indirect Illumination

Video

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 39

Page 40: Cascaded Light Propagation Volumes for Indirect Illumination

THANK YOU FOR YOUR ATTENTION

See the paper for more details

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 40

We’d like to thank: Crytek and especially the CEO Cevat Yerli for giving us an opportunity to make this researchThe whole Crytek R&D department and artists for help providedMany people across the industry and research community for interesting discussions and provided feedbacks

Page 41: Cascaded Light Propagation Volumes for Indirect Illumination

Backup slide: Small details

• Stability of the solution– RSM one-texel snapping– One-cell snapping for LPVs– Temporal SSAA with reprojection for RSM injection

• Self-illumination and light bleeding– Half-cell VPL shifting to normal direction during

RSM injection– Directional derivative in normal direction to

compute a dampening factor

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 41

Page 42: Cascaded Light Propagation Volumes for Indirect Illumination

Backup slide: Console optimizations

• For both consoles– Store everything in signed QUVW8 format, [-1;1] with

scaling factor– Use h/w 3D textures and trilinear filtering

• Xbox 360– Unwrap RT vertically to avoid bank conflicts during

injection – Use API bug work-around to resolve into a 3D slice

• PlayStation 3– Use memory aliasing for render into 3D texture– Use 2x MSAA aliasing to reduce pixel work twice

ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington 42

Page 43: Cascaded Light Propagation Volumes for Indirect Illumination

Backup slide: Console optimizations II

• Render Reflective Shadow Map Usually 128 x 128 is ok

• Inject each pixel into unwrapped LPV with a swarm of points 16384 points in one DIP Use vertex texture fetch on X360 Use R2VB on PlayStation 3

• Multi-layered unwrapping to avoid bank conflicts during RSM injection on Xbox 360

• All together: 3,0 ms on X360/PS3

Page 44: Cascaded Light Propagation Volumes for Indirect Illumination

Backup slide: Massive LightingRender sliced unwrapped light box

into LPV (spatial overdraw vs screen-space, maximum 1024x32 pixels)

Convert light’s radiant intensity into SHShadows are not supported

Coverage in unwrapped render target

Light in the Light Propagation Volume