
Subsurface scattering • Model 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
BRDF • BRDF - Bidirectional Reflectance Distribution Function • Defines how light is reflected on an opaque surface • Assumes light enters and leaves material at same position
BSSRDF • BSSRDF - Bidirectional Sub-surface Scattering Reflectance Distibution Function • Can describe light transport between any two rays that hit a surface
BSSRDF – How to calculate? • Outgoing radiance equation: • Integrating over incoming directions and area gives:
BSSRDF function • BSSRDF 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 – Single scattering • Occurs when refracted incoming and outgoing rays intersect
BSSRDF – Single scattering term • Total outgoing radiance due to single scattering:
BSSRDF – Implementation • Can be implemented in a ray tracer • Similar to sampling area light source in distributed ray tracing • For each ray-object intersection integrate light over area of surface • Sample single scattering term along refracted outgoing ray • Sample diffuse scattering term around outgoing position
Fast BSSRDF • Can speed up calculation by using optimising BSSRDF • Contribution of single scattering term is small for materials with high albedo, so can be ignored • Therefore only need to calculate diffuse term
Fast BSSRDF - Implementation • Two passes • Sampling irradiance • Evaluating diffusion approximation
Fast BSSRDF – Sampling Irradiance • Create 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 Approximation • Sum the contribution of all irradiance samples for each outgoing point • Contribution from irradiance samples decreases according to distance from output • We can cluster distant samples • Implement using a hierarchical structure – eg. octree, indexed by point and area
References • Jensen, 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_bssrdf