1 / 44

Cascaded Light Propagation Volumes for Indirect Illumination

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

nasim-sears
Download Presentation

Cascaded Light Propagation Volumes for Indirect Illumination

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 21 February, 2010, Washington, USA Cascaded Light Propagation Volumes for Indirect Illumination Anton Kaplanyan1 Carsten Dachsbacher2 1Crytek GmbH 2VISUS / University Stuttgart

  2. Motivation Indirect Occlusion Glossy reflections Participating Media Multiple bounces Completely dynamic (cameras, lights, scene) Real-time, suitable for game production Indirect lighting ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  3. Previous work Irradiance volumes Greger et al. 1997 SH Irradiance Volumes Tatarchuk 2004 Image-Space Photon Mapping McGuire and Luebke 2009 Multi-resolution Splatting Nichols and Wyman 2009 PRT: Spherical Harmonics Sloan et al. 2004 Spherical proxies with SH Exponentiation Zhong et al. 2007 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  4. Previous work, continued Instant radiosity Keller 1997 VPL visibility Laine et al. 2007 Ritschel et al. 2008 Many-lights approach Walter et al. 2005 Hasan et al. 2007 Chevlak-Postavak et al. 2008 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  5. Previous work, continued Disk-based Color Bleeding Bunell 2005 Christensen 2008 • 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-wise • Most of dynamic techniques are without indirect visibility Finite Element: Antiradiance Dachsbacher et al. 2007 Microrendering Ritschel et al. 2010 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  6. Previous work, lattice methods Light Propagation Maps Fattal 2009 Lattice-Boltzmann Lighting Geist et al. 2004 Lattice-Based Volumetric Global Illumination Qiu et al. 2007 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

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

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

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

  10. Propagation demo 0 iterations, only injection 4 iterations after injection 6 iterations after injection 8 iterations after injection

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

  12. 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

  13. Secondary Light Sources ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  14. Secondary Light Sources Reflective shadow maps Depth Flux Normal ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

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

  16. Pipeline ? Reflective shadow maps Radiance volume gathering VPL VPL VPL A set of regularly sampled VPLs of the scene from light position Discretize initial VPL distribution by the regular grid and SH ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  17. 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 end n ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

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

  19. Pipeline Reflective shadow maps Radiance volume gathering Iterative propagation VPL VPL VPL A set of regularly sampled VPLs of the scene from light position Discretize initial VPL distribution by the regular grid and SH Propagate light iteratively going from one cell to another ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  20. Iterative Light Propagation • Local cell-to-cell propagationacross 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

  21. The propagation iteration • 6 axial directions of propagation • Use contour faces as a propagation wave front • Integrate sourceintensity by the solid angle to get incoming fluxfor the face f

  22. The propagation iteration • Use more than 6 directions • Only 6 direct neighbors • Computelight propagation to eachface of neighbors’ cells • 30 virtual directions • SHDOM: 27 neighbor cells =27 directions • good trade-off ofmemorybandwidthvs “ray effect” • “Ray effect” - light propagates in a set of fictitious directions 4 directions of propagation 8 directions of propagation

  23. Reprojection • Acquire the incident flux throughthe 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

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

  25. 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

  26. Results of indirect illumination

  27. Cascaded Light Propagation Volumes • 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 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  28. Cascaded Indirect Illumination 1 cascade 3 cascades ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  29. 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 blocker ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  30. Fuzzy Secondary Occlusion Scene Light view • Represent it as SH • Store into occlusion grid • Sample surfaces usingrasterization • Possibly multiple views • Very similar to light injection • Interpolate blockinglinearly in between cells Camera view ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  31. Fuzzy Secondary Occlusion W/o secondary occlusion With secondary occlusion ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  32. Multiple Bounces • Idea: use informationfrom occlusion gridto compute multipleindirect reflections • Reflect light duringeach propagationiteration • Avoidself-illumination by injecting reflectedlight at safety-distance ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  33. Glossy Reflections • Idea:Compute incident light from reflection direction by marching through LPV grid • Go few steps back in propagation time to reducelight smearing • 4 cells is sufficient for moderately glossy objects • Lookups into multiple cells prevent discontinuitiesin glossy reflections ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  34. Indirect lighting in isotropic participating media • Ray march through the LPV • Accumulate inscattered light • Limited to single-scattering • Step through the wholegrid along viewdirection • Back to frontaccumulation ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  35. Timings (Crytek Sponza) Depends on scene complexity 32^3 grid size 8 iterations Depends on image size (1280x720) ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  36. Results Reference, 42 min LPV, 78 fps @GTX285 Reference PBRT, 45 min LPV, 60 fps @GTX285 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  37. Limitations of the method • Only diffuseinter-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 occlusion ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  38. 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

  39. Video 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 research • The whole Crytek R&D department and artists for help provided • Many people across the industry and research community for interesting discussions and provided feedbacks See the paper for more details Thank you for your attention ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2010, Washington

  41. 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

  42. 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

  43. 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

  44. Backup slide: Massive Lighting • Render sliced unwrapped light box into LPV (spatial overdraw vsscreen-space, maximum 1024x32 pixels) • Convert light’s radiant intensity into SH • Shadows are not supported Light in the Light Propagation Volume Coverage in unwrapped render target

More Related