Subsurface Scattering Rendering
Subsurface scatteringModel of light transport in translucent
materials Marble, jade, milk, skin
Light penetrates material and exits at different point Not simple reflection
Light absorbed the further it travels into material
BRDFBRDF - Bidirectional
Reflectance Distribution Function
Defines how light is reflected on an opaque surface
Assumes light enters and leaves material at same position
BSSRDFBSSRDF -
Bidirectional Sub-surface Scattering Reflectance Distibution Function
Can describe light transport between any two rays that hit a surface
Comparison – BRDF vs BSSRDF
Comparison – BRDF vs BSSRDF
BSSRDF – How to calculate?Outgoing radiance equation:
Integrating over incoming directions and area gives:
BSSRDF functionBSSRDF function:
Comprised of diffuse and single scattering components
BSSRDF – Diffuse scattering term
Fresnel terms – light refraction from entering material and then exiting
Diffuse sub-surface reflectance function
BSSRDF – Diffuse sub-surface reflectance function
BSSRDF – Single scatteringOccurs when
refracted incoming and outgoing rays intersect
BSSRDF – Single scattering termTotal outgoing radiance due to single
scattering:
BSSRDF – ImplementationCan be implemented in a ray tracerSimilar to sampling area light source in distributed ray
tracingFor each ray-object intersection integrate light over area of
surfaceSample single scattering term along refracted outgoing raySample diffuse scattering term around outgoing position
Fast BSSRDFCan speed up calculation by using optimising
BSSRDFContribution of single scattering term is
small for materials with high albedo, so can be ignored
Therefore only need to calculate diffuse term
Fast BSSRDF - ImplementationTwo passes
Sampling irradianceEvaluating diffusion approximation
Fast BSSRDF – Sampling IrradianceCreate sample points on mesh
Distance between sample points equal to average distance at which light is scattered within material
For each point store location, area, and irradiance
Fast BSSRDF – Evaluating Diffusion ApproximationSum the contribution of all irradiance
samples for each outgoing pointContribution from irradiance samples
decreases according to distance from outputWe can cluster distant samples
Implement using a hierarchical structure – eg. octree, indexed by point and area
Fast BSSRDF – Output
ReferencesJensen, Marschner, Levoy and Hanrahan: “A
Practical Model for Subsurface Light Transport”
http://graphics.ucsd.edu/~henrik/papers/bssrdf/
Jensen and Buhler: “A Rapid Hierarchical Rendering Technique for Translucent Materials”http://graphics.ucsd.edu/~henrik/papers/fast_b
ssrdf