Layered Media / Subsurface Scattering (1)

Slides:



Advertisements
Similar presentations
The Asymptotic Ray Theory
Advertisements

1 Graphics CSCI 343, Fall 2013 Lecture 18 Lighting and Shading.
Spherical Harmonic Lighting of Wavelength-dependent Phenomena Clifford Lindsay, Emmanuel Agu Worcester Polytechnic Institute (USA)
Physically Based Illumination Models
Graphics Graphics Korea University cgvr.korea.ac.kr Illumination Model 고려대학교 컴퓨터 그래픽스 연구실.
Subsurface scattering
Subsurface scattering Model of light transport in translucent materials Marble, jade, milk, skin Light penetrates material and exits at different point.
Lighting and Illumination Lighting is the major problem in computer graphics, for either realism or real-time compositions- harder than modeling Consider.
Torrance Sparrow Model of Reflectance + Oren Nayar Model of Reflectance.
1. What is Lighting? 2 Example 1. Find the cubic polynomial or that passes through the four points and satisfies 1.As a photon Metal Insulator.
Based on slides created by Edward Angel
1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Shading I.
CS 325 Introduction to Computer Graphics 04 / 09 / 2010 Instructor: Michael Eckmann.
CSCE 641: Photon Mapping Jinxiang Chai. Outline Rendering equation Photon mapping.
3/23/2005 © Dr. Zachary Wartell 1 Illumination Models and Surface- Rendering Methods.
Interreflections and Radiosity : The Forward Problem Lecture #11 Thanks to Kavita Bala, Pat Hanrahan, Doug James, Ledah Casburn.
Computer Graphics (Fall 2008) COMS 4160, Lecture 19: Illumination and Shading 2
1 CSCE 641: Computer Graphics Lighting Jinxiang Chai.
7M836 Animation & Rendering
Rendering General BSDFs and BSSDFs Randy Rauwendaal.
BSSRDF: Bidirectional Surface Scattering Reflectance Distribution Functions Jared M. Dunne C95 Adv. Graphics Feb. 7, 2002 Based on: "A Practical Model.
Computer Graphics (Fall 2004) COMS 4160, Lecture 16: Illumination and Shading 2 Lecture includes number of slides from.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Shading I Ed Angel Professor of Computer Science, Electrical and Computer Engineering,
Statistical Color Models (SCM) Kyungnam Kim. Contents Introduction Trivariate Gaussian model Chromaticity models –Fixed planar chromaticity models –Zhu.
Shading Surface can either (both) 1.Emit light. E.g. light bult 2.Reflect light. E.g. Mirror.
CS 480/680 Computer Graphics Shading I Dr. Frederick C Harris, Jr.
RAY TRACING WITH DISPERSION CSS552 – Topics in Rendering Winter 2011 Final Project by: Kohei Ueda Shivani Srikanteshwara Mary Ann Chiramattel Kunjachan.
© 2005 University of Wisconsin
Human Eye and Color Rays of light enter the pupil and strike the back of the eye (retina) – signals go to the optic nerve and eventually to the brain Retina.
Optical Models Jian Huang, CS 594, Spring 2002 This set of slides are modified from slides used by Prof. Torsten Moeller, at Simon Fraser University, BC,
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 BSSRDF – Bidirectional surface scattering reflectance distribution function Radiance theory BRDF.
02/25/05© 2005 University of Wisconsin Last Time Meshing Volume Scattering Radiometry (Adsorption and Emission)
Multiple Scattering in Vision and Graphics Lecture #21 Thanks to Henrik Wann Jensen.
02/28/05© 2005 University of Wisconsin Last Time Scattering theory Integrating tranfer equations.
MIT EECS 6.837, Durand and Cutler Local Illumination.
-Global Illumination Techniques
CS 376 Introduction to Computer Graphics 04 / 16 / 2007 Instructor: Michael Eckmann.
Week 10 - Wednesday.  What did we talk about last time?  Shadow volumes and shadow mapping  Ambient occlusion.
Computer Graphics Global Illumination: Photon Mapping, Participating Media Lecture 12 Taku Komura.
Taku KomuraComputer Graphics Local Illumination and Shading Computer Graphics – Lecture 10 Taku Komura Institute for Perception, Action.
Steve Sterley. Real World Lighting Physical objects tend to interact with light in three ways: Absorption (black body) Reflection (mirror) Transmission.
Bi-Directional Reflectance Distribution Functions (BRDF’s) Matthew McCrory.
Advanced Illumination Models Chapter 7 of “Real-Time Rendering, 3 rd Edition”
Rendering Synthetic Objects into Real- World Scenes by Paul Debevec SIGGRAPH 98 Conference Presented By Justin N. Rogers for Advanced Comp Graphics Spring.
AA&A spring Interaction of light with paint Review of some color ideas Histories of light rays coming to our eyes Index of refraction 1—Front.
Announcements Office hours today 2:30-3:30 Graded midterms will be returned at the end of the class.
SIGGRAPH 2010 Course: Physically Based Shading Models in Film and Game Production SIGGRAPH 2010 Physically Based Shading Models in Film and Game Production.
Reflection models Digital Image Synthesis Yung-Yu Chuang 11/01/2005 with slides by Pat Hanrahan and Matt Pharr.
Global Illumination: Radiosity, Photon Mapping & Path Tracing Rama Hoetzlein, 2009 Lecture Notes Cornell University.
Photo-realistic Rendering and Global Illumination in Computer Graphics Spring 2012 Material Representation K. H. Ko School of Mechatronics Gwangju Institute.
CS 450: COMPUTER GRAPHICS TRANSPARENT SURFACES SPRING 2015 DR. MICHAEL J. REALE.
CSCE 641 Computer Graphics: Reflection Models Jinxiang Chai.
Computer Graphics (Spring 2003) COMS 4160, Lecture 18: Shading 2 Ravi Ramamoorthi Guest Lecturer: Aner Benartzi.
UV Mapping After a 3D object has been modeled it must be prepared for texturing. 3D surfaces can be “unwrapped” into a 2D representation with. This process.
In the name of God Computer Graphics. Last Time Some techniques for modeling Today Global illumination and raytracing.
Cornell CS465 Spring 2004 Lecture 4© 2004 Steve Marschner 1 Shading CS 465 Lecture 4.
1 CSCE 441: Computer Graphics Lighting Jinxiang Chai.
COMPUTER GRAPHICS CS 482 – FALL 2015 OCTOBER 27, 2015 SCATTERING LIGHT SCATTERING PHYSICALLY BASED SCATTERING SUBSURFACE SCATTERING AMBIENT OCCLUSION.
Global Illumination (3) Photon Mapping (1). Overview Light Transport Notation Path Tracing Photon Mapping –Photon Tracing –The Photon Map.
1 CSCE 441: Computer Graphics Lighting Jinxiang Chai.
CS552: Computer Graphics Lecture 33: Illumination and Shading.
Computer Graphics Lecture 30 Mathematics of Lighting and Shading - IV Taqdees A. Siddiqi
1 CSCE 441: Computer Graphics Lighting Jinxiang Chai.
Reflection Models (1) Physically-Based Illumination Models (2)
Computer Graphics: Illumination
7. Illumination Phong Illumination Diffuse, Specular and Ambient
© 2003 University of Wisconsin
© 2003 University of Wisconsin
CSE 470 Introduction to Computer Graphics Arizona State University
A Practical Model for Subsurface Light Transport
Presentation transcript:

Layered Media / Subsurface Scattering (1)

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.

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.

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(), …

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

Let’s write a set of shading language building blocks that can be used for describing all sorts of layered surfaces

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

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

The Kubelka Munk Model (1931)

The Kubelka Munk Model (1931) 7X

Light interactions within a pigmented material Lots of particles! Interactions often modeled statistically, rather than as individual interactions.

We need to model the scattering of light within each layer as well as the scattering between the layers

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.

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

Kubelka Munk in CG : Haase-Meyer (1992) Additive (RGB) or subtractive (CMYK) color spaces Kubelka Munk model

Kubelka Munk in CG : Dorsey-Hanrahan (1996) Light scattering from weathered surfaces

Kubelka Munk in CG : Curtis-Anderson-Seims-Fleischery-Salesin (1997) Watercolor simulation

Kubelka Munk in CG : Baxter-Wendt-Lin (2004) Painterly pigment simulation

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

Why not use compositing? The most common approach to modeling layered surfaces in shaders is to use alpha blending Copper Tarnished copper:

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.

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

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

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

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

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

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

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

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

Reflection and transmission from a single layer The Kubelka Munk equations for Transmission and Reflection are:

For a thin translucent object, gather incident light from both sides of the object:

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

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.

Increase layer thickness  increase of reflected light

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.

Layer1 Layer2 opaque ALL of the possible interactions of this form:

Layer1 Layer2 opaque Layer1 Layer2

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.

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);

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

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

Incident light at a point Reflected light from a point More sophisticated models of light transport Sample the layer’s aggregate scattering behavior

Two types of scattering from surfaces Surface Scattering (metals and mirrors) Subsurface Scattering (paint, skin, and marble)

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.

Real combinations of spherical harmonics. Colors indicate the sign of the function.

Isotropic and Anisotropic Aluminum

Velvet

Nylon

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

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

Attenuation and Scattering

Phase Functions A phase function describes the scattered distribution of light after a ray hits a particle in the layer.

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

The Henyey-Greenstein phase function

Overall Scattering? Two Approaches : Numerical integration method, such as Monte Carlo Approximations to make the problem easier to solve.

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.)

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

thickness 0.5 1.0 2.0 g -0.3 0.0 0.6

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

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.

Fraction of light that is transmitted into the medium. Fraction of light that is reflected at the boundary and doesn’t enter the medium

Fraction of light that is transmitted into the medium. Fraction of light that is reflected at the boundary and doesn’t enter the medium

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.

10 deg 45 deg 60 deg Surface specular reflection Subsurface reflection and transmission. Sum of surface and subsurface modulated by the Fresnel coefficients.

smoothstep( min, max, val )    = 0 ; if val < min             = 1 ; if val > max             = spline interpolation from min to max scaled to 0 to 1; otherwise

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

Illuminance() Nf P Surface to be shaded