cs563 wk9 skin participating media - wpiweb.cs.wpi.edu/.../wk9...skin_participating_media.pdf ·...
TRANSCRIPT
CS 563 Advanced Topics in Computer Graphics
Skin and Participating Media
by Emmanuel Agu
Outline
NvidiaOptix Real Time Ray tracerShader library
SkinBSSRDFDipole Model (Donner and Jensen)Multiple Dipole (Donner and Jensen)
Participating MediaExamplesModel
Optix Real Time Raytracer
Ray tracing on GPUs been hot research topicNew games, applications incorporating ray tracingNvidia written real time ray tracerReleased SDK to developersNeeds high end Nvidia graphics card
Nvidia Shader Library
Some useful examples: worth taking a lookDrawback: Have to infer non-real time caseGreat implementation insights
Note: BSSRDF formulated by Nicodemus et al, accountsFor light entering at one point/angle and leaving at another
Subsurface Scattering
Stam ‘95: first to model multiple scattering as a diffusion processJensen et al SIGGRAPH ‘01: BSSRDF + Diffusion approximation of multiple scatteringSingle scattering + diffusion approximationEven highly scattering medium becomes blur since each scattering blurs lightSimple solution for 1 isotropic source in infinite medium
Dipole Diffusion Approximation
More accurateReplace volumetric light source with 2 point light sources (one above surface, one below)
Multiple Dipole ModelDonner and Jensen, SIGGRAPH ‘05
Dipole approximation assumed homogeneous medium and semi-infinite thicknessMultiple dipole model: Multiple layers, different optical properties, arbitrary thicknessApply Kubelka Munk theory in freq space
Spectral Rendering ModelDonner and Jensen, SIGGRAPH ‘06
Accounts for both surface reflection and subsurface scatteringUses only 4 parameters, amount of oil, melanin andhaemoglobin in skin generate spectral diffusion profiles by modelling skin as two-layer translucent material using the mutipolediffusion approximation
Spectral Rendering ModelDonner and Jensen, SIGGRAPH ‘06
Two-layer translucent materialVery accurate results
Participating Media
So far assumed vacuum: radiance unchanged along rayParticipating media affects radiance along ray
AbsorptionEmissionScattering
In-scatteringOut-scattering
Examples of participating media (volume scattering)AtmosphereSmokeHazeClouds
Some media homogenous, some inhomogenous
Volume Scattering Processes
Absorption
Emission
Volume Scattering Processes
Scattering
Volume Scattering Processes
HomogeneousConstant particle densityUniform particle types distribution
InhomogeneousVarying particle densityVarying particle distribution
Volume Scattering Processes
AbsorptionLight is absorbed by mediumRay radiance decreases through the medium
Absorption crossed section σaLight absorption probability density per unit distance traveled in mediumUnits → m-1
dt → through-medium-travel unitValues may be larger than 1
Influence factorsPosition (p)Direction (ω)Spectrum
Volume Scattering Processes
Change in radiance per unitDifference between incoming and outgoing radiance
),(),(),( ωωω pLpLpdL ioo −=
Volume Scattering Processes
( ) ( ) ( )∫=++−
da dtt
eLdL 0,
,,ωωσ
ωωωp
ppLo Li
σa integrated in d
Probability density function
Absorbed radiance Traveled a distance d through medium
Normal probability density function (Gaussian)
Absorption
Emission
EmissionLight is emitted by the medium
Emitted radiance:Independent of incoming light
Change in radiance per unit
),( ωpLve
dtpLpdL veo ),(),( ωω =
Emission
Out-Scattering
Out-scatteringLight is scattered out of the path of the rayProbability density for scattering: σs
Reduction in radiance is given by
dtpLppdL iso ),(),(),( ωωσω −−=
Extinction
Total radiance reductionAbsorptionScattering
Attenuation or extinction
Coefficient: σt
Change in radiance per unit
),(),(),( ωσωσωσ ppp sat +=
dtpLppdL ito ),(),(),( ωωσω −−=
Beam Transmittance
Beam transmittance Tr
( ) ( )
( ) ( ) ( )ω
ωωσ
,
0,
pppppp
p
LTLeT
r
dtt
r
dt
′→=′
∫=′→+−
Lo Li
σt integrated along d (p to p’)
Probability density function
Li(p,ω)
Transmittance
TransmittanceFraction of light that is transmitted between two pointsValues between 0 and 1Properties
Tr(p→p) = 1In vacuum: Tr(p→p’) = 1, for all p’Multiplicative: Tr(p→p’’) = Tr(p→p’) Tr(p’→p’’)
Beer’s Law
( ) ( )
( ) ( ) ( )ω
ωωσ
,
0,
pppppp
p
LTLeT
r
dtt
r
dt
′→=′
∫=′→+−
( ) ( )∫ +=′→ dt dtt0 ,ωωστ ppp
( ) dr
teT σ−=′→ pp
Optical thickness
Homogeneous mediumσt is position independentTransmittance reduced to Beer’s Law
Beer’s Law
Beer’s Law
lcA α=
αA = amount of light absorbed
= Absorption coefficient or molar absorptivity of mediuml = distance light travels through mediumc = Concentration or particle density
In-Scattering
In-scatteringOutside light scatters converging to ray pathPhase functions to represent scattered radiation in a point
Volume Scattering Processes
Phase function (PF)Volumetric analog of BSDF Normalization constraints
PF defines a direction’s scattering probability distribution
Change in radiance per unit
( ) 12
=′′→∫S dp ωωω
dtpSpdLo ),(),( ωω =
( ) ( )
( ) ( ) ( ) ( ) ( )∫ ′′→′−+=
=
2,,,,,
,,
S isve
o
dLpLS
Sdt
dL
ωωωωωσωω
ωω
ppppp
pp
Volume Scattering Processes
S(p,w) includes volume emission
Emission In-scattering
In-scatteringProbability Amount of added radiance
Phase function(range: 0 → 1) Incident radiance
Phase Functions
BSDFs for volume scatteringVary complexity according to medium
Isotropic Anisotropic
PropertiesDirection reciprocityMay also be classified as
Isotropic – uniform scatteringAnisotropic – variable scattering
Phase Functions
IsotropicBasic PFsPFs is constant
SinceArea of sphere = 4л*r2pfS are normalized (r =1)
( )π
ωω41
=′→isotropicp
Phase Functions
RayleighVery small particlesAcurately describes light scattering when
Particle radii < light wavelengthGood for atmospheric simulation
MieBased on Maxwell’s equationsBroader range of particle sizesGood for fog and water droplets simulation
Phase Functions
Henyey and GreensteinEasy to fitSingle control parameter
Controls relative proportion of forward backward scatteringg ∈ (-1, 1)g < 0: back scattering
( )( )( ) 232
2
cos211
41:cos
θπθ
ggggpHG
−+
−=
Phase Functions
Increase complexity by combination
More efficient versionAvoids 3/2 power computationk ~ 1.55g - 0.55g 3
( ) ( )∑=
=n
iiHGi gpwp
1:coscos θθ
( )( )2
2
cos11
41cos
θπθ
kkpSchlick −
−=
References
Paulo Gonçalves de Barros, CS 563 talk, Spring 2008 Pat Hanrahan, CS 348B slides, 2009Matthias Zwicker, UCSD CSE 168 slides, Spring 2006Clemens Brandorf, Rendering Human skin
• Hill and Kelley, Computer Graphics using OpenGL (3rd edition)Matt Pharr, Greg Humphreys “Physically Based Rendering”, Chapter 13Dorsey and Rushmeier, Modeling of Digital MaterialsAkenine-Moller, Haines and Hoffman, Real Time Rendering, 3rd
edition