Physically based skin rendering
-
Upload
roger-hernando-buch -
Category
Technology
-
view
150 -
download
3
Transcript of Physically based skin rendering
Universitat Politecnica de Catalunya
Physically-based rendering of human skinMaster in Innovation and Research in Informatics
Roger Hernando
Advisors:Antonio ChicaPere-Pau Vazquez
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Outline
1 Motivation
2 Implemented skin rendering methods
3 Proposed extensions
4 Developed framework
5 Results
6 Conclusions & future work
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Motivation
Motivation
Enhance the rendering of human scanned characters:
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Introduction
Skin rendering
Human perception is highlyspecialized.
Very sensitive to theappearance of humanskin.
Skin is a multilayeredtranslucent material:
Light scatters throughskin.Light interacts with eachlayer.
Described in terms of theBSSRDF not in terms of theBRDF.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Introduction
BRDF vs BSSRDF
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Introduction
Skin rendering
Skin simulation:Subsurface scattering.Forward scattering.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Subsurface scattering
Subsurface scattering
BSSRDF S relates the outgoing radiance L0(x0,−→ω0) at a point
x0 with the incoming radiant flux Φi (xi ,−→ωi ) at a point xi :
dL0(x0,−→ω0) = S(xi ,
−→ωi ; x0,−→ω0)dΦi (xi ,
−→ωi ) (1)
8D function:
S(xi ,−→ωi ; x0,
−→ω0) = S(xi , yi , σi , φi ; x0, y0, σ0, φ0) (2)
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Subsurface scattering
Subsurface scattering
Simplified using the diffusion approximation R(r):
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Subsurface scattering
Subsurface scattering
Radiant exitance M at a point (x , y):
M(x , y) =∫ ∫
E (x ′, y ′)R(r ′)dx ′dy ′ (3)
Expressed as 2D convolution:
M(x , y) = E (x , y) ∗ R(r) (4)
For real time rendering, R(r) is approximated by a set of 1Dseparable convolutions.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Objective
Objective
Implement state-of-the-art methods to render the skin(subsurface scattering, forward scattering).Propose some extensions to the methods.Implement a test-bed application and also other PBRtechniques.Test and compare the implemented methods.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Outline
1 Motivation
2 Implemented skin rendering methods
3 Proposed extensions
4 Developed framework
5 Results
6 Conclusions & future work
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Implemented Methods
Methods
Subsurface scattering:Screen space subsurface scattering.Separable pre-integrated subsurface scattering.Separable artistic subsurface scattering.
Forward scattering:Real-Time realistic skin translucency.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Skin rendering methods
Subsurface scattering
Subsurface scattering:Screen space subsurface scattering.Separable pre-integrated subsurface scattering.Separable artistic subsurface scattering.
Screen-space methods.Mimicking the skin diffusion profile.Subsurface scattering should be applied only to the diffuselighting.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Skin rendering methods
First method: Screen space subsurface scattering
Jimenez et al. used d’Eon and Lubeke approximation R(r) asa sum of gaussian 6 functions:
Rd (r) =k∑
i=1wiG(vi , r) (5)
Convolution performed in screen space.12 1D convolutions (expensive).
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Skin rendering methods
Screen space subsurface scattering Overview
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Skin rendering methods
Second method: Separable pre-integrated subsurfacescattering
Approximate R(r) with just one separable convolution.Assuming the irradiance E is additively separable, theseparable kernel is defined as follows:
A(r) = 1||ap||1
ap(r) (6)
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Skin rendering methods
Second method: Separable pre-integrated subsurfacescattering
Stages of the algorithm:Compute the diffusion kernels ap using a Monte Carlosimulation.
Kernel computation is slow.Precompute the kernels for later use.
Uneven energy distribution, more energy near the origin.More samples are taken near the origin.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Skin rendering methods
Third method: Separable artistic subsurface scattering
Known limitations:Separable pre-integrated subsurface scattering is not an artisticfriendly method.
Kernel controlled with various parameters.Based on the sum of gaussians diffusion.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Skin rendering methods
Third method: Separable artistic subsurface scattering
Parameters:Weight (w): filter width.Strength (s): amount of light which penetrates the skin.Falloff (f ): amount of light travelling through the skin.
A(r) = p[ r ∗ w
0.001 + f
]∗ s + δ(r) + (1− s) (7)
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Skin rendering methods
Third method: Separable artistic subsurface scattering
Highly configurable:
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Skin rendering methods
Forward scattering
Forward scattering:Real-Time realistic skin translucency.
Obtain the distance travelled by the light inside an object.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Skin rendering methods
Fourth method: Real-Time realistic skin translucency
Computing the distance traveled through the object.
light
eye
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Skin rendering methods
Fourth method: Real-Time realistic skin translucency
Use the path length with the transmittance function T (s):
T (s) =k∑
i=1wie−s2/vi (8)
Using d’Eon and Lubeke weights.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Skin rendering methods
Fourth method: Real-Time realistic skin translucency
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Outline
1 Motivation
2 Implemented skin rendering methods
3 Proposed extensions
4 Developed framework
5 Results
6 Conclusions & future work
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Extensions
Extensions
Problems with current methods:Halos.Incorrect diffusion.
Based in non-physically-based previous work:Modulate the subsurface scattering effect with mesh localcurvature.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Halos
Halos
Close points in screen space may be far away in the geometry.Problem partially tackled by correction factors (but notenough):
//correctionfloat depth = texture(depthTex, offset).r;float s = min(correction * abs(depthM - depth), 1.0);colorS.rgb = mix(colorS.rgb, colorM.rgb, s);
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Halos
Halos
Mikkelsen uses a Cross Bilateral Filter to weight the diffusionprofile.
CBF [I,E ]p =∑
q∈S Gσs e−||p−q||Gσr e−(Ep−Eq)Iq∑q∈S Gσs e−||p−q||Gσr e−(Ep−Eq) (9)
It works like a bilateral filter but uses an auxiliary image forweighting.
I(p) = I(x(p)) ∗ cos3(φi )||x(p)||2cos(φj)
(10)
φi is the angle between the z-axis and the view.φj is the angle between the point normal and the -view.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Halos
Halos
The original implementation depends on the distance betweenthe eye and the object.
Assume x(p) lies on the zNear plane.This technique produces strange artifacts when used directlywith our subsurface scattering techniques.
Slightly modify the subsurface scattering algorithms to takethis artifacts into account.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Halos
Halos
Results:The Halos artifacts are eliminated using this extension.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Incorrect diffusion
Incorrect diffusion
Limitations:Our meshes do not differentiate between different scannedelements (skin, hair, cloths).In video games artists provide this information (texture ormeshes).
We do not have this information.Blurring between different zones.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Incorrect diffusion
Incorrect diffusion
Proposed Solution:Weight the filter using the lab-color distance to differentiatebetween skin and non-skin zones.Bilateral filter:
BF [I]p =∑
q∈S Gσs e−||p−q||Gσs e−(Ip−Iq)Ip∑q∈S Gσs e−||p−q||Gσs e−(cp−cq) (11)
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Incorrect diffusion
Incorrect diffusion
Results:The diffusion between skin and non-skin zones is eliminatedusing this startegy:
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Scattering modulation
Scattering modulation
Non-physically based subsurface scattering: the subsurfacescattering effect is more noticeable in high curvature zones.
Modulate the scattering strength with the screen spacecurvature.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Scattering modulation
Scattering modulation
Various strategies to modulate the subsurface scattering.Increase the effect according to its local curvature.Decrease the effect in zones with lower curvature and increaseit otherwise.Reduce the effect up to a minimum at zones with lowcurvature and increase it at zones with high curvature.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Scattering modulation
Scattering modulation
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Outline
1 Motivation
2 Implemented skin rendering methods
3 Proposed extensions
4 Developed framework
5 Results
6 Conclusions & future work
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
PBR
Scene Lighting
Features:Subsurface scattering.Specular Reflections.Environment lighting.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Speculars
BRDF Specular
BRDF specular:
Cspec(l , v) = F (l , h)G(l , v , h)D(h)4(n · l)(n · v) Lc(n · l) (12)
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Speculars
BRDF Specular
Fresnel: defines the fraction of light reflected from anoptically flat surface.
Fslick(F0, l , h) = F0 + (1− F0)(1− (l · h))5 (13)
Shadow-masking function: defines the percentage ofmicrofacets with h as their normal vector that are notshadowed or masked.
Gimplicit(l , v , h) = (n · l)(n · v) (14)
Distribution of normals function: concentration of microfacetsthat are oriented such that they could reflect light from l intov .
DPhong (h) = παr + 2
2π (n · h)αr (15)
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Speculars
BRDF Specular
Finally, our physically-based specular BRDF is defined asfollows:
Cspec(l , v) = αr + 28 (n · h)αr Fslick(F0, l , h)Lc(n · l) (16)
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Speculars
BRDF Specular
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Global Ilumination
Irradiance maps
Ambient occlusion.Environment lighting using an irradiance map.
EMdiff (n) =∑
k∈Ω max(0, lk · n)L(lk)∑k∈Ω max(0, lk · n) (17)
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Global Ilumination
Irradiance maps
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Global Ilumination
Irradiance maps
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Extras
Color linearity
Important to take into account that the color captured by asensor is not stored in a linear way.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Extras
Color linearity
When a non-linear color is used, it produces an incorrectrendering.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Application
Snapshot
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Application
Pipeline
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Outline
1 Motivation
2 Implemented skin rendering methods
3 Proposed extensions
4 Developed framework
5 Results
6 Conclusions & future work
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Performance
Results
Application performance:
ApplicationShadow map MainRender AddSpecular Tonemap
0.447 ms 1.262 ms 0.148ms 0.977 ms
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Performance
Results
Subsurface scattering methods:
View Gausian sum Artistic Pre-int KernelClose 9.428 ms 1.731 ms 1.799 msMid 2.01 ms 0.492 ms 0.487 msFar 0.676 ms 0.312ms 0.36 ms
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Performance
Results
Performance vs #samples:
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Performance
Results
Without subsurface scattering:
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Performance
Results
With subsurface scattering:
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Outline
1 Motivation
2 Implemented skin rendering methods
3 Proposed extensions
4 Developed framework
5 Results
6 Conclusions & future work
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Conclusions
Conclusions
Explored different algorithms to render the skin.Proposed and explained some extensions to improve therendering quality.Implemented a testbed application integrating the subsurfacescattering methods plus other techniques in order to producehigh quality renders.Methods performance analysis.
Roger Hernando Physically-based rendering of human skin
Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work
Future work
Future work
Explore non-physically based methods to render the skin.Improve the re-usability of the forward scattering method.Explore segmentation methods to distinguish between skinand non-skin zones.
Roger Hernando Physically-based rendering of human skin