Participating Media Illumination using Light Propagation Maps Raanan Fattal Hebrew University of Jerusalem, Israel Introduction In media like fog, smoke and marble light is: Scattered Absorbed Emitted Realistic rendering by accounting such phenomena Images by H. W. Jensen Introduction The Radiative Transport Eqn. models these events I(x,w) – radiation intensity (W/m2sr) emission change along w in-scattering absorption out-scattering Solving the RTE – Previous Work In 3D, the RTE involves 5-dimensional variables, Much work put into calculating the solution Common approaches are: volume-to-volume energy exchange stochastic path tracing Discrete Ordinates methods Methods survey [Perez, Pueyo, and Sillion 1997] Previous Work The Zonal Method [Hottel & Sarofim 1967, Rushmeier 1988] Compute exchange factor between every volume pair In 3D , involves O(n7/3) relations for isotropic scattering Hierarchical clustering strategy [Sillion 1995] reduce complexity Previous Work Monte Carlo Methods: Photon tracing techniques [Pattanaik et al. 1993, Jensen et al. 1998] Path tracing techniques [Lafortune et al. 1996] Light particles are tracked within the media Pattanaik et al. 1993 Jensen et al. 1998 Lafortune et al. 1996 Noise requires many paths per a pixel Unique motion many computations per a photon Previous Work Discrete Ordinates [Chandrasekhar 60, Liu and Pollard 96 , Jessee and Fiveland 97, Coelho 02,04] Both space and orientation are discretized angular index cell volume spatial indices Derive discrete eqns. and solve The DOM suffers two error types Discrete light directions inside a spatial voxel Discrete Ordinates ‘Numerical smearing’ (or ‘false scattering’) Discrete flux approx. involves successive interpolations smear intensity profile or generate oscillations 1st order 2nd order (showing ray’s cross section) Analog of numerical dissipation/diffusion in CFD Discrete Ordinates ‘Ray effect’ Light propagates in (finite) discrete directions Spurious light streaks from concentrated light areas Jet color scheme New method can be viewed as a form of DOM New Method - Overview Iterative solvers Progressive Radiosity & Zonal propagate light [Gortler et al. 94] Idea: propagate light using 2D Light Propagation Maps (LPM) and not use DOM stationary grid eqns. in 3D stationary grid One physical dimension less Partial set of directions stored • Allow higher angular resolution Offer a practical remedy to the ‘ray effect’ Unattached to stationary grid • Advected parametrically No interpolations needed for light flux, ‘false scattering’ is eliminated Light Propagation Maps, 2D grids of rays, each covering different set of directions New Method - Setup Variables: stationary grid - average scattered light (unlike DOM) (need only 1 angular bin for isotropic scattering!) - ray’s intensity 2D indexing light propagation map LPM - ray’s position Goal: compute New Method - Derivation Next: derive the eqns. for and their relation to Plug in L instead of I, and R – ray’s pos. instead of x Note: in the in-scattering term, Ifields wasn’t(zero replaced by L Approx. using discrete order) Introduce an unpropagated light field U instead of sources stationary grid single light ray in LPM New Method - Derivation As done in Progressive Radiosity, the solution is constructed by accumulating light from LPMs I(x,w)= (A -discrete surface areas, F – phase func. weights) This is also added to the unpropagated light field U New Method – an Iteration Rays integrate U – emptying relevant bins stationary grid Light scattered from rays added to U, I Proceed to next layer - repeat Sweep along other directions (6 in 3D) LPM ray’s dirs. must be included in U’s Coarse bins of I, U contain scattered light, filtered by phase func. Linear light motion: inadequate to simulate Caustics Results DOM with 54 angular bins o o o o o o o o For 643 with 9x9x6=54 o LPM angular bins DOM requires 510MBs 9x9 angles in LPM, 1+6 in grid Less memory for stationary grid! Using LPM of 9x9 requires < 1MB and grid 6MB Results DOM with 54 ordinates on 1283 spurious light ray 9x9 ordinates in LPM on 1283 Same coarse grid res. (6 dirs. isotropic sct.) Results First-order upwind Second-order upwind High-res. 2nd-order upwind LPM parametric advection Results Comparison with Monte Carlo MC with 106 particles, 3.5 mins. MC with 5x106 particles, 17.6 mins 9x9 LPM,3.7 mins Results – Clouds Scenes Back lit Top lit Results - Marble Constant scattering Perturbed absorption (isotropic, 52x1283) Perturbed scattering Zero absorption (isotropic, 52x1283) Results – Two “wavelengths” Two simulations combined (isotropic, 52x1283) Results Hygia, Model courtesy of: Image-based 3D Models Archive, Telecom Paris (isotropic, 52x2563) Results - Smoke CFD smoke animation (isotropic, 72x643) Summary Running times (3 scat. generations x 6 sweeps): 643 (isotropic), LPM of 5x5 – 17 seconds 643 (isotropic), LPM of 9x9 – 125 seconds 643 3x3(x6), LPM of 6x6 – 60 seconds (2.7 GHz Pentium IV) Light rays advected collectively and independently Avoids grid truncation errors - No numerical smearing Less memory more ordinates – Reduced ray effect Thanks! Results In scenes with variable s, indirect light travels straight Discrete Ordinates In CFD, advected flux is treated via Flux Limiters high-order stencils on smooth regions switch to low-order near discontinuities For the RTE such ‘High res.’ methods suffer from: still, some amount of initial smearing is produced limiters are not linear, yielding a non-linear system of eqns. offers no remedy to the ‘ray effect’ discussed next