A Computational Approach to Simulate Light Diffusion in Arbitrarily Shaped Objects Tom Haber, Tom Mertens, Philippe Bekaert, Frank Van Reeth University of Hasselt Belgium
Subsurface Scattering All non-metallic objects Examples: wax, skin, marble, fruits,... Traditional Reflection ModelSubsurface scattering Images courtesy of Jensen et al. 2001
Previous Work Monte-Carlo volume light transport Accurate, but slow for highly-scattering media Analytical dipole model [Jensen01] Inaccurate (semi-infinite plane, no internal visibility) Fast (basis for interactive methods) Inherently limited to homogeneous media Multigrid [Stam95] Simple Finite Differencing Only illustrative examples in 2D Our method extends on this work
Goals Simulate subsurface scattering Accurate for arbitrarily shaped objects Capable of resolving internal visibility Heterogeneous media Varying material coefficients E.g. Marble Only highly scattering media
Diffusion Equation Boundary Conditions Diffusion term Source term Stopping term
Large amount of memory in 3D Badly approximates the surface Impractical! Overview Finite-Differencing (FD)
FD but… 1th order surface approximation Allows coarser grid O(h 2 ) accurate everywhere! Badly approximates high curvature regions Still requires quite some memory Embedded Boundary Discretization Adaptive Grid Refinement
Discretization: example
FD vs. EBD FD yields instabilities near the boundary EBD results in a consistent solution FDEBD
Adaptive Grid Refinement
Implementation Preprocessing (prep) Construction of volumetric grid Adaptive mesh refinement Source term computation (src) Visibility tests to light sources Attenuation Solve using multigrid Visualization Implemented on a pentium Ghz with 512 MB RAM
Results MaterialScaleTime (sec) Marble5mm444 Marble10mm295 Milk Mix10mm105 Milk Mix20mm62 Marble Mix20mm205 Marble Mix100mm85
Results (2) ModelDepth#trisMem (MB) Prep (sec) Src (sec) Solve (sec) Tot (sec) Dragon7200K Buddha8800K Venus631K
Monte-Carlo Comparison Jensen et al. Our methodMonte-Carlo
Monte-Carlo Comparison Jensen et al. Our methodMonte-Carlo
Monte-Carlo Comparison Jensen et al. Our methodMonte-Carlo
Chromatic bias in source Highly exponential falloff for opaque objects Requires small cells Workaround: use irradiance at the surface as source Distance (mm) Average color
Monte-Carlo Comparison
Conclusion Contributions Multigrid made practical in 3D Embedded boundary discretization Adaptive Grid Refinement Heterogeneous materials Limitations Grid size Assumptions of the diffusion eq. Future Work More efficient subdivision scheme Perceptual metrics
Thank you! Acknowledgements tUL impulsfinanciering Interdisciplinair instituut voor Breed-BandTechnologie
Subsurface Scattering
Jensen vs. Multigrid
Jensen Visibility
Fine-coarse
Adaptive Mesh Refinement Three-point interpolation scheme Implies several constraints Neighboring cells cannot differ by more than one level Cells neighboring a cut-cell must all be on the same level
Overview Outline Construct volumetric grid Discretize diffusion eq. Solve using multigrid Finite-Differencing (FD)
Overview Outline Construct volumetric grid Discretize diffusion eq. Solve using multigrid Finite-Differencing (FD)
Overview Outline Construct volumetric grid Discretize diffusion eq. Solve using multigrid Finite-Differencing (FD) Requires large amount of memory in 3D Badly approximates the surface Impractical!