A Computational Approach to Simulate Light Diffusion in Arbitrarily Shaped Objects Tom Haber, Tom Mertens, Philippe Bekaert, Frank Van Reeth University of Hasselt Belgium
A Computational Approach to Simulate Light Diffusion in Arbitrarily Shaped
Objects
Tom Haber, Tom Mertens, Philippe Bekaert, Frank Van
Reeth
University of HasseltBelgium
Subsurface Scattering
All non-metallic objects Examples: wax, skin, marble, fruits, ...
Traditional Reflection Model Subsurface 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
Diffusion Equation
Boundary Conditions
Diffusion termSource term
Stopping term
•Large amount of memory in 3D•Badly approximates the surface•Impractical!
Overview
-4
1
1
11
Finite-Differencing (FD)
FD but… 1th order surface approximation Allows coarser grid O(h2) 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
FD EBD
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 4 1.7 Ghz with 512 MB RAM
Results
Material Scale Time (sec)
Marble 5mm 444
Marble 10mm 295
Milk Mix 10mm 105
Milk Mix 20mm 62
Marble Mix 20mm 205
Marble Mix 100mm 85
Results (2)
Model Depth #tris Mem (MB)
Prep(sec)
Src(sec)
Solve(sec)
Tot(sec)
Dragon 7 200K 38.3 16.1 5.0 29.8 50.9
Buddha 8 800K 61.0 72.8 8.2 16.0 97
Venus 6 31K 32.4 3.1 1.8 83.1 88
Monte-Carlo Comparison
Jensen et al. Our method Monte-Carlo
Monte-Carlo Comparison
Jensen et al. Our method Monte-Carlo
Monte-Carlo Comparison
Jensen et al. Our method Monte-Carlo
Chromatic bias in source
Highly exponential falloff for opaque objects
Requires small cells
Workaround: use irradiance at the surface as source
Distance (mm)
Ave
rage
col
or
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)
-4
1
1
11
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!
-4
1
1
11