Presentation is loading. Please wait.

Presentation is loading. Please wait.

Layered Media / Subsurface Scattering (1)

Similar presentations


Presentation on theme: "Layered Media / Subsurface Scattering (1)"— Presentation transcript:

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.

3

4

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

8

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?”

32

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:

36

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.

44

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

47

48

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.

54

55 Isotropic and Anisotropic Aluminum

56

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

60

61

62

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

64

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

72

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.

76

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

83

84 Illuminance() Nf P Surface to be shaded

85

86

87

88


Download ppt "Layered Media / Subsurface Scattering (1)"

Similar presentations


Ads by Google