approximate reflectance profiles for efficient subsurface ... · approximate reflectance profiles...

63
Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH 2015, Los Angeles

Upload: others

Post on 13-Sep-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Approximate Reflectance Profiles for Efficient Subsurface Scattering

Per Christensen

Pixar Animation Studios

SIGGRAPH 2015, Los Angeles

Page 2: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Goal: subsurface scattering, fast+simple

Page 3: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Overview

• Simple subsurface scattering model

• New parameterization allows comparison with physically-based models

• Matches Monte Carlo references very well -- better than physically-based models

• Useful for ray-traced (and point-based) subsurface scattering

Page 4: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Advantages

• Faster evaluation, simpler code

• Built-in single-scattering term

• No need for numerical inversion of user-friendly parameters (surface albedo and scattering length) to physical parameters (volume scattering and absorption coeffs)

• Bonus: simple cdf for importance sampling

Page 5: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Inspiration: Schlick’s Fresnel approx.

• Physics: Fresnel reflection formula -- reflection is average of parallel and perpendicular polarized: R(theta) = (R + R ) / 2p s

Page 6: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Inspiration: Schlick’s Fresnel approx.

• Physics: Fresnel reflection formula

Page 7: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Inspiration: Schlick’s Fresnel approx.

• [Schlick94]: Simple approximation as polynomial

• No visual difference

• We want similar simple approximation for subsurface scattering!

Page 8: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Outline of talk

• Subsurface scattering

• Physically-based subsurface scattering models

• Burley’s approximate model

• My reparameterization

• Results

Page 9: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Monte Carlo simulation

• Most general method: brute-force Monte Carlo

• But: very slow!

Page 10: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

BSSRDF

• Function that describes how light enters an object, bounces around, then leaves: BSSRDF (bidirectional surface scattering reflectance distribution function) S

• Often simplified as:

reflectance profile

Fresnel transmission terms

Page 11: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Reflectance profiles: reference

• Brute-force Monte Carlo simulation

• Reflectance profile R(r); A = surface albedo

linear y axis log y axis

0.001

0.01

0.1

1 2 3 4 5 6 7 8

r R(r)

r

Reflectance profiles (Monte Carlo)A = 0.90A = 0.80A = 0.70A = 0.60A = 0.50A = 0.40A = 0.30A = 0.20A = 0.10

0

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0 1 2 3 4 5

r R(r)

r

Reflectance profiles (Monte Carlo)A = 0.90A = 0.80A = 0.70A = 0.60A = 0.50A = 0.40A = 0.30A = 0.20A = 0.10

Page 12: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• Dipole diffusion [Jensen01,02]–simple, fast, widely used; but: blurry “waxy” look

• Better dipole diffusion [d’Eon12]

• Directional dipole diffusion [Frisvad14]–can handle oblique incident angles

Page 13: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• Formulas:

Page 14: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• Formulas:

Page 15: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• Formulas:

Page 16: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• Formulas:

Page 17: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• Formulas:

Page 18: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• Formulas:

Page 19: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• Quantized diffusion [d’Eon11]–Improved diffusion theory

–Extended source term (instead of just two points)

–Sharper edges -- not “waxy” looking

Page 20: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• More formulas:

Page 21: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• More formulas:

Page 22: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• More formulas:

Page 23: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• More formulas:

Page 24: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• More formulas:

Page 25: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• More formulas:

Page 26: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• Photon beam diffusion [Habel13]–As accurate as quantized diffusion, but faster

–Accurate single-scattering model

–Can handle oblique incident angles

Page 27: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• Some other formulas:

Page 28: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• Some other formulas:

Page 29: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• Some other formulas:

Page 30: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Physically-based reflectance profiles

• Some other formulas:

Page 31: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Approximate reflectance profiles

• Forget physics ... just approximate curves!

• Standard approach: sum of Gaussians

0.001

0.01

0.1

1 2 3 4 5 6 7 8

r R(r)

r

Monte Carlo references (searchlight)A = 0.90A = 0.80A = 0.70A = 0.60A = 0.50A = 0.40A = 0.30A = 0.20A = 0.10

Page 32: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Approximate reflectance profiles

• Burley: curves look more like exponentials

• Sum of two exponentials (divided by distance r) is remarkably good approximation

0.001

0.01

0.1

1 2 3 4 5 6 7 8

r R(r)

r

Monte Carlo references (searchlight)A = 0.90A = 0.80A = 0.70A = 0.60A = 0.50A = 0.40A = 0.30A = 0.20A = 0.10

Page 33: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Approximate reflectance profiles

• Normalized diffusion model [Burley]:

• Multiply by A = surface albedo

• d controls width and height of curve ... but what is d ??–artistic control of subsurface “softness”

–what is connection between d and physical params?

Page 34: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Translation from physical param to d

• Our usual way of expressing scattering distance is mfp or dmfp:–mean free path in volume

–diffuse mean free path on surface

• Let’s find a “translation” s between mfp and d:–d = mfp / s (s depends on A)

• With a translation we can compare normalized diffusion with physically-based diffusion models

Page 35: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Translation from physical param to d

• To determine s it is sufficient to consider only curves for mfp=1 since the shape of reflectance profile curve for given A is independent of mfp

0.001

0.01

0.1

1 2 3 4 5 6 7 8

r R(r)

r

A = 0.5, mfp = 1reflectance profile

0.0001

0.001

0.01

10 20 30 40 50 60 70 80

r R(r)

r

A = 0.5, mfp = 10reflectance profile

Page 36: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Translation from mfp to d

• For mfp=1 :

• Find s that minimizes difference between R(r) and Monte Carlo reference for same A

• For example: with optimal s for A = 0.2, 0.5, 0.8 ... :

Page 37: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Comparisons: surface albedo 0.2

0.001

0.01

0.1

1 2 3 4 5 6 7 8

r R(r)

r

A = 0.2MC reference

our approx.Gauss2 approx.

dipole diffusion + 1scatbetter dipole + 1scat

beam diffusion + 1scat

Page 38: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Comparisons: surface albedo 0.5

0.001

0.01

0.1

1 2 3 4 5 6 7 8

r R(r)

r

A = 0.5MC reference

our approx.Gauss2 approx.

dipole diffusion + 1scatbetter dipole + 1scat

beam diffusion + 1scat

Page 39: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Comparisons: surface albedo 0.8

0.001

0.01

0.1

1 2 3 4 5 6 7 8

r R(r)

r

A = 0.8MC reference

our approx.Gauss2 approx.

dipole diffusion + 1scatbetter dipole + 1scat

beam diffusion + 1scat

Page 40: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Comparisons: summary

• Normalized diffusion is closer to the MC reference points than dipole, better dipole, beam diffusion (w/ single scattering)

• Normalized diffusion (two exponentials) is a better approximation than two Gaussians

Page 41: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Translation from mfp to d

• Find s that minimizes difference between R(r) and Monte Carlo reference for all A in 0.01, 0.02, ... , 0.99

• Gives data points; fit simple polynomial

Page 42: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Translation from mfp to d

• Data points and fitted curve:

0

1

2

3

4

5

6

0 0.2 0.4 0.6 0.8 1

s

A

data pointsapprox.

Page 43: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Translation from mfp to d

• Error wrt. MC references is ~5.5%

• Small error compared to appoximations and assumptions built into MC references: semi-infinite homogeneous volume, flat surface, ...

Page 44: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Diffuse surface transmission

searchlight configurationmilk, juice, oily skin, ...

diffuse transmissiondry skin, make-up, ...

vs.

Page 45: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Diffuse surface transmission

0.001

0.01

0.1

1 2 3 4 5 6 7 8

r R(r)

r

Monte Carlo references (diffuse)A = 0.90A = 0.80A = 0.70A = 0.60A = 0.50A = 0.40A = 0.30A = 0.20A = 0.10

Page 46: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Translation from mfp to d (diffuse)

• Data points and fitted curve:

0

1

2

3

4

5

0 0.2 0.4 0.6 0.8 1

s

A

data pointsapprox.

Page 47: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Translation from mfp to d (diffuse)

• Error wrt. MC references is only ~3.9%

• In practical use: not much visual difference between searchlight approx and diffuse-transmission approx -- even though built on very different assumptions

Page 48: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Translation from dmfp to d

• Back to searchlight configuration

• Change parameterization of scattering distance: diffuse mean free path on surface (instead of mean free path in volume)

Page 49: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Translation from dmfp to d

• Data points and fitted curve:

0

5

10

15

20

25

30

35

40

0 0.2 0.4 0.6 0.8 1

s

A

data pointsapprox.

Page 50: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Translation from dmfp to d

• Error wrt. MC references is ~7.7%

• In practical use: dmfp might be more intuitive than mfp; hence standard parameter of our previous scattering models

Page 51: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Translation summary

• 3 ways to determine d in Burley’s normalized diffusion formula:–mfp to d for searchlight configuration

–mfp to d for diffuse transmission

–dmfp to d for searchlight configuration

• 3 simple polynomials for s = s(A)

• Pick the one you like!

Page 52: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Practical detail: importance sampling

• Importance sampling of distance r between light entry and exit points: need cdf(r)

• For physically-based BSSRDFs the cdf has to be computed with numerical integration: slow

• Burley’s normalized diffusion has simple cdf:

Page 53: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Discussion

• Much simpler than physically-based diffusion (e.g. quantized diffusion or beam diffusion)

• Many times faster*

• *footnote: only a bit faster if careful table-based optimizations of physically-based

Page 54: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Result: comparison w/ beam diffusion

beam diffusion + 1scatter our approx

Page 55: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Result: comparison w/ beam diffusion

beam diffusion + 1scatter our approx

(Head data: Infinite Realities)

Page 56: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Results

marble fruits plastic

Page 57: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Result: still life

subsurface scattering

image credit: Dylan Sisson

Page 58: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Conclusion

• Reparameterization of Burley’s normalized diffusion approximation gives plug-in replacement of physically-based diffusion formulas -- same parameters

• Simpler, faster

• Error wrt. MC references is only a few percent

• More accurate than physically-based models

• One of the sss models built into RenderMan

Page 59: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Future work

• Oblique angles of incidence; non-symmetric scattering–maybe just s that depends on polar and relative

azimuthal angle of incident illumination?

• Anisotropic scattering?

Page 60: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

More information

• Burley, “Extending Disney’s physically based BRDF with integrated subsurface scattering”, Physically Based Shading Course

• Technical report: Christensen & Burley, graphics.pixar.com/library/ApproxBSSRDF

Page 61: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Acknowledgments

• HUGE thanks: Brent Burley

• Colleagues in RenderMan team

• Christophe Hery and Ryusuke Villemin (Pixar)

• Wojciech Jarosz and Ralf Habel (Disney)

• Images: Dylan Sisson, ...

Page 62: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH

Thank you!

Page 63: Approximate Reflectance Profiles for Efficient Subsurface ... · Approximate Reflectance Profiles for Efficient Subsurface Scattering Per Christensen Pixar Animation Studios SIGGRAPH