Physically based skin rendering

59
Universitat Polit` ecnica de Catalunya Physically-based rendering of human skin Master in Innovation and Research in Informatics Roger Hernando Advisors: Antonio Chica Pere-Pau V´ azquez

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

Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future work

Questions

Questions

Questions?

Roger Hernando Physically-based rendering of human skin