Download presentation
Presentation is loading. Please wait.
1
Layered Media / Subsurface Scattering (1)
2
Subsurface Scattering / Layered Media
Modeling the appearance of surfaces with layered structure: paint, skin, weathering effects, … Basic Modeling Strategy: Decompose complex surfaces into parts that can be described independently Combine these parts together to compute realistic shading.
5
Texturing or Reflection?
Computing values (maps, procedural) that describe surface parameters at a point on a surface. what color paint is present at a surface point? how much oil an oiliness map says is on the skin? Reflection: how to take that texturing information and write a shader so that the surface we’re describing reflects light in a way that it really looks like skin, paint, etc. A number of methods can be used to describe these complex scattering effects in surface shaders, with varying levels of computational complexity.
6
Shading Language Toolbox for describing material properties
“what color is the wood at this point ?”, “is there dirt on the surface at this position?” Operations like matte(), plastic(), noise(), texture(), smoothstep(), …
7
Shading Language Surface matte (float Ka = 1; float Kd = 1; ) {
point Nf; float d, sigma, tau; Nf = faceforward (normalize(N),I); Oi = Os; Ci = Os * Cs * (Ka * ambient() + Kd * diffuse(Nf)); } WRITE data TO READ data FROM
9
Let’s write a set of shading language building blocks that can be used for describing all sorts of layered surfaces
10
Roadmap The Kubelka Munk Model Subsurface Scattering
Why not use compositing? The Parameters Reflection and transmission from a single layer Composition of layers Application to non-diffuse objects Subsurface Scattering Attenuation and Scattering Fresnel Reflection Skin
11
Roadmap The Kubelka Munk Model The BRDF and Shading Language
Why not use compositing? The Parameters Reflection and transmission from a single layer Composition of layers Application to non-diffuse objects The BRDF and Shading Language Illuminance Environment and friends Subsurface Scattering Attenuation and Scattering Fresnel Reflection Skin
12
The Kubelka Munk Model (1931)
13
The Kubelka Munk Model (1931)
7X
14
Light interactions within a pigmented material
Lots of particles! Interactions often modeled statistically, rather than as individual interactions.
15
We need to model the scattering of light within each layer as well as the scattering between the layers
16
KM solved analytically by assuming:
Homogeneous layer composition (uniform color and scattering properties) Ignore directional distribution of light: top layer was irradiated by incident light uniformly from all directions, light exiting each layer after scattering was also uniformly distributed.
17
Kubelka and Munk Found to be useful in a variety of scientific fields and is widely used due to its predictive power. It can be extended to model scattering from more complex objects Some of the ideas behind it provide a basis for the more sophisticated approaches
18
Kubelka Munk in CG : Haase-Meyer (1992)
Additive (RGB) or subtractive (CMYK) color spaces Kubelka Munk model
19
Kubelka Munk in CG : Dorsey-Hanrahan (1996) Light scattering from weathered surfaces
20
Kubelka Munk in CG : Curtis-Anderson-Seims-Fleischery-Salesin (1997) Watercolor simulation
21
Kubelka Munk in CG : Baxter-Wendt-Lin (2004) Painterly pigment simulation
22
Roadmap The Kubelka Munk Model Subsurface Scattering
Why not use compositing? The Parameters Reflection and transmission from a single layer Composition of layers Application to non-diffuse objects Subsurface Scattering Attenuation and Scattering Fresnel Reflection Skin
23
Why not use compositing?
The most common approach to modeling layered surfaces in shaders is to use alpha blending Copper Tarnished copper:
24
Color Functions float comp( color c; float index )
setcomp( color c; float index, value ) These functions get and set individual color components. color mix( color color0, color1; float value ) { return (1-value)*color0 + value*color1; } Return an interpolated color value.
25
Compositing: Drawbacks
Lack of physical accuracy!! It doesn’t accurately model the effect of varying thickness. Doubling the tarnish layer doesn’t double its influence on the final color computed. Effect of increasing layer thickness is non-linear What happens to light as it passes through the tarnish? Tarnish will likely cause the light passing through it to become diffused Specular highlights from the bottom layer should be gradually washed out or eliminated
26
Roadmap The Kubelka Munk Model Subsurface Scattering
Why not use compositing? The Parameters Reflection and transmission from a single layer Composition of layers Application to non-diffuse objects Subsurface Scattering Attenuation and Scattering Fresnel Reflection Skin
27
The Kubelka Munk Model Three parameters that describe the low-level scattering properties of each layer. Layer physical thickness (or depth) attenuation coefficient scattering coefficient
28
The attenuation coefficient describes how much light is absorbed by the layer as it passes through.
In a volumetric medium it describes the differential attenuation per distance traveled in the medium; If light travels a total distance x between entering and exiting the medium, the fraction of it that was attenuated is
29
A thin layer with a high attenuation coefficient transmits very little light
A thin layer with low attenuation coefficient transmits almost all of the incident light. A very thick layer with low attenuation coefficient may transmit as little light as
30
Scattering from layers for a fixed scattering coefficient
Increase thickness of a layer : increase the amount of light scattered back by it. Given a sufficiently thick layer : increased thickness doesn’t increase overall scattering
31
Difficult to Determine!
However, we can estimate reasonable values for the parameters if we know the reflectance of an infinitely thick sample of the layer “I know that if there’s enough tarnish on this object, I won’t see the base surface and it’ll be a particular shade of green; what color will it be with less tarnish?”
33
Roadmap The Kubelka Munk Model Subsurface Scattering
Why not use compositing? The Parameters Reflection and transmission from a single layer Composition of layers Application to non-diffuse objects Subsurface Scattering Attenuation and Scattering Fresnel Reflection Skin
34
Reflection and transmission from a single layer
The Kubelka Munk equations for Transmission and Reflection are:
35
For a thin translucent object, gather incident light from both sides of the object:
37
Roadmap The Kubelka Munk Model Subsurface Scattering
Why not use compositing? The Parameters Reflection and transmission from a single layer Composition of layers Application to non-diffuse objects Subsurface Scattering Attenuation and Scattering Fresnel Reflection Skin
38
Composition of layers The Kubelka Munk model really becomes useful when we start to work with multiple layers. We’d like to compute the resulting reflectance (and possibly transmittance) from putting all of them on top of each other. The resulting values should account for all of the light inter-reflection between all of the layers.
39
Increase layer thickness increase of reflected light
40
How can we compute a new R value for the amount of light reflected from the new composite surface?
By considering what happens to the light that passes through the top layer.
41
Layer1 Layer2 opaque ALL of the possible interactions of this form:
42
Layer1 Layer2 opaque Layer1 Layer2
43
Adding a red layer on top of a grey diffuse object.
From left to right, the layer thicknesses are 0, 0.1, 0.5, and 100.
45
KMEstimateCoeffs (red, &sigma_a, &sigma_s);
KM(sigma_a, sigma_s, thickness1, R1, T1); KMEstimateCoeffs (gray, &sigma_a, &sigma_s); KM(sigma_a, sigma_s, thickness2, R2, T2); R = KMComposeR(R1, T1, R2, T2); T = KMComposeT(R1, T1, R2, T2); Ci = R * diffuse(Nf) + T * diffuse(-Nf);
46
Roadmap The Kubelka Munk Model Subsurface Scattering
Why not use compositing? The Parameters Reflection and transmission from a single layer Composition of layers Application to non-diffuse objects Subsurface Scattering Attenuation and Scattering Fresnel Reflection Skin
49
Roadmap The Kubelka Munk Model Subsurface Scattering
Why not use compositing? The Parameters Reflection and transmission from a single layer Composition of layers Application to non-diffuse objects Subsurface Scattering Attenuation and Scattering Fresnel Reflection Skin
50
Incident light at a point
Reflected light from a point More sophisticated models of light transport Sample the layer’s aggregate scattering behavior
51
Two types of scattering from surfaces
Surface Scattering (metals and mirrors) Subsurface Scattering (paint, skin, and marble)
52
Westin-Arvo-Torrance (1992)
Among the first to apply sophisticated light transport algorithms to model surface scattering from complex surfaces They modeled low-level surface geometry (e.g. microfibers in velvet) and ray-traced that geometry to compute tables of BRDF values, which they then represented with spherical harmonics for use at render-time.
53
Real combinations of spherical harmonics.
Colors indicate the sign of the function.
55
Isotropic and Anisotropic Aluminum
57
Velvet
58
Nylon
59
Hanrahan-Krueger (1993) Developed efficient approximations for subsurface scattering from volumetric media, particularly biological objects like skin or leaves They derives explicit formulas for backscattering and transmission that can be directly incorporated in most rendering systems, and a general Monte Carlo method that is easily added to a ray tracer. Our Focus
63
Roadmap The Kubelka Munk Model Subsurface Scattering
Why not use compositing? The Parameters Reflection and transmission from a single layer Composition of layers Application to non-diffuse objects Subsurface Scattering Attenuation and Scattering Fresnel Reflection Skin
65
Attenuation and Scattering
66
Phase Functions A phase function describes the scattered distribution of light after a ray hits a particle in the layer.
67
The Henyey-Greenstein phase function
g asymmetry parameter that ranges from -1 to 1, which spans the range of strong retro-reflection to strong forward scattering g < 0 increased backscattering g = 0 isotropic scattering g > 0 forward scattering
68
The Henyey-Greenstein phase function
69
Overall Scattering? Two Approaches :
Numerical integration method, such as Monte Carlo Approximations to make the problem easier to solve.
70
Single Scattering This approximation is reasonable if the layer is relatively thin, or if the medium attenuates more light than it scatters (in both cases, it can be shown that single scattering describes the majority of the overall scattering.)
71
BRDF that describes single scattering from a medium:
Scattering albedo: the fraction of incident radiation (as light) that is scattered by a surface or body
73
thickness 0.5 1.0 2.0 g -0.3 0.0 0.6
74
Roadmap The Kubelka Munk Model Subsurface Scattering
Why not use compositing? The Parameters Reflection and transmission from a single layer Composition of layers Application to non-diffuse objects Subsurface Scattering Attenuation and Scattering Fresnel Reflection Skin
75
Fresnel Reflection At the boundary between two objects with different indices of refraction (e.g. air and a scattering volume), some incident light is reflected back from the boundary and some of it is transmitted, depending on the angle of the incident light ray and the indices of refraction of the surfaces.
77
Fraction of light that is transmitted into the medium.
Fraction of light that is reflected at the boundary and doesn’t enter the medium
78
Fraction of light that is transmitted into the medium.
Fraction of light that is reflected at the boundary and doesn’t enter the medium
79
Reflection increases at grazing angles but is quite low at angles closer to the normal.
Transmission decreases at grazing angles but is quite high at angles closer to the normal.
80
10 deg 45 deg 60 deg Surface specular reflection Subsurface reflection and transmission. Sum of surface and subsurface modulated by the Fresnel coefficients.
81
smoothstep( min, max, val )
= 0 ; if val < min = 1 ; if val > max = spline interpolation from min to max scaled to 0 to 1; otherwise
82
Roadmap The Kubelka Munk Model Subsurface Scattering
Why not use compositing? The Parameters Reflection and transmission from a single layer Composition of layers Application to non-diffuse objects Subsurface Scattering Attenuation and Scattering Fresnel Reflection Skin
84
Illuminance() Nf P Surface to be shaded
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.