Local, Deformable Precomputed Radiance Transfer

46
Local, Deformable Precomputed Radiance Transfer Peter-Pike Sloan, Ben Luna Microsoft Corporation John Snyder Microsoft Research

description

Local, Deformable Precomputed Radiance Transfer. Peter-Pike Sloan, Ben Luna Microsoft Corporation John Snyder Microsoft Research. “Local” Global Illumination. Renders GI effects on local details. Rotates transfer model. Neglects gross shadowing. “Local” Global Illumination. Original. - PowerPoint PPT Presentation

Transcript of Local, Deformable Precomputed Radiance Transfer

Page 1: Local, Deformable Precomputed Radiance Transfer

Local, Deformable Precomputed Radiance Transfer

Local, Deformable Precomputed Radiance Transfer

Peter-Pike Sloan, Ben Luna

Microsoft Corporation

John Snyder

Microsoft Research

Page 2: Local, Deformable Precomputed Radiance Transfer

“Local” Global Illumination“Local” Global Illumination

Renders GI effects onlocal details

Neglects gross shadowing

Rotates transfer model

Page 3: Local, Deformable Precomputed Radiance Transfer

“Local” Global Illumination“Local” Global Illumination

Original Ray Traced Rotated

Page 4: Local, Deformable Precomputed Radiance Transfer

Bat DemoBat Demo

Page 5: Local, Deformable Precomputed Radiance Transfer

illuminateilluminate responseresponse

TransferVector

Precomputed Radiance Transfer (PRT)Precomputed Radiance Transfer (PRT)

Page 6: Local, Deformable Precomputed Radiance Transfer

Related Work: Area LightingRelated Work: Area Lighting

[Kautz2004]

[James2003]

[Ramamoorthi2001]

[Sloan2002][Ng2003]

[Liu2004;Wang2004]

[Sloan2003]

[Muller2004]

[Zhou2005]

Page 7: Local, Deformable Precomputed Radiance Transfer

Other Related WorkOther Related Work

• Directional Lighting

– [Malzbender2001],[Ashikhmin2002]

– [Heidrich2000]

– [Max1988],[Dana1999]

• Ambient Occlusion

– [Miller1994],[Phar2004]

– [Kontkanen2005],[Bunnel2005]

• Environmental Lighting

– [McCallister2002]

Page 8: Local, Deformable Precomputed Radiance Transfer

Spherical Harmonics (SH)Spherical Harmonics (SH)

• Spherical Analog to the Fourier basis

• Used extensively in graphics

– [Kajiya84;Cabral87;Sillion91;Westin92;Stam95]

• Polynomials in R3 restricted to sphere

1

0

n l

lm lml m l

f s f y s

lm lmf f s y s ds

projection reconstruction

Page 9: Local, Deformable Precomputed Radiance Transfer

Spherical Harmonics (SH)Spherical Harmonics (SH)

• Spherical Analog to the Fourier basis

• Used extensively in graphics

– [Kajiya84;Cabral87;Sillion91;Westin92;Stam95]

• Polynomials in R3 restricted to sphere

lm lmf f s y s ds

projection reconstruction

f s f y s

Page 10: Local, Deformable Precomputed Radiance Transfer

Low Frequency LightingLow Frequency Lighting

order 1 order 2 order 4

order 8 order 16 order 32 original

Page 11: Local, Deformable Precomputed Radiance Transfer

SH Rotational InvarianceSH Rotational Invariance

rotate

rotate

SH SH

Page 12: Local, Deformable Precomputed Radiance Transfer

Spherical Harmonics (SH)Spherical Harmonics (SH)

nth order, n2 coefficients

Evaluation O(n2)

Page 13: Local, Deformable Precomputed Radiance Transfer

Zonal Harmonics (ZH)Zonal Harmonics (ZH)

Polynomials in Z

Circular Symmetry

Page 14: Local, Deformable Precomputed Radiance Transfer

SH Rotation StructureSH Rotation Structure

2

2 2

1

3 1

C

L L L Y

L L L Z

L L L X

Q Q Q Q Q YX

Q Q Q Q Q YZ

Q Q Q Q Q Z

Q Q Q Q Q XZ

Q Q Q Q Q X Y

O(n3)

Too Slow!

Page 15: Local, Deformable Precomputed Radiance Transfer

ZH Rotation StructureZH Rotation Structure

2

1

3 1

C

L L L

L L L Z

L L L

Q Q Q Q Q

Q Q Q Q Q

Q Q Q Q Q Z

Q Q Q Q Q

Q Q Q Q Q

O(n2)

Page 16: Local, Deformable Precomputed Radiance Transfer

What’s that column?What’s that column?

Rotate delta function so that z → z’ :

• Evaluate delta function at z = (0,0,1)

• Rotating scales column C by dl

– Equals y(z’) due to rotation invariance

0 0

2 1( )

4l z l l

ld s y s ds y z

z

z’

lm l lmC d y z

( )z s

( )z s

Page 17: Local, Deformable Precomputed Radiance Transfer

What’s that column?What’s that column?

Rotate delta function so that z → z’ :

• Evaluate delta function at z = (0,0,1)

• Rotating scales column C by dl

– Equals y(z’) due to rotation invariance

0 0

2 1( )

4l z l l

ld s y s ds y z

z

z’

lm l lmC d y z

( )z s

( )z s

lm lm lC y z d

Page 18: Local, Deformable Precomputed Radiance Transfer

Efficient ZH RotationEfficient ZH Rotation

z

g(s)

Page 19: Local, Deformable Precomputed Radiance Transfer

Efficient ZH RotationEfficient ZH Rotation

0l lg y s g s ds

z3 4

0

0

3 2

3 4

3

g(s)

Page 20: Local, Deformable Precomputed Radiance Transfer

Efficient ZH RotationEfficient ZH Rotation

z z’3 4

0

0

3 2

3 4

3

g(s) g’(s)

0l lg y s g s ds

Page 21: Local, Deformable Precomputed Radiance Transfer

Efficient ZH RotationEfficient ZH Rotation

* * * * *0 1 1 1diag , , , ,G g g g g

*g G y z

z z’3 4

0

0

3 2

3 4

3

g(s)

0l lg y s g s ds

g’(s)

Page 22: Local, Deformable Precomputed Radiance Transfer

Efficient ZH RotationEfficient ZH Rotation

* 4

2 1l

l ll

gg g

d l

* * * * *0 1 1 1diag , , , ,G g g g g

*g G y z

z z’3 4

0

0

3 2

3 4

3

g(s)

0l lg y s g s ds

g’(s)

Page 23: Local, Deformable Precomputed Radiance Transfer

Transfer Approx. Using ZHTransfer Approx. Using ZH

• Approximate transfer vector t by sum of N “lobes”

* *

1

N

i ii

t G y s

e.g., t + + +

Page 24: Local, Deformable Precomputed Radiance Transfer

Transfer Approx. Using ZHTransfer Approx. Using ZH

• Approximate transfer vector t by sum of N “lobes”

* *

1

N

R i ii

t G y R s

* *

1

N

i ii

t G y s

Page 25: Local, Deformable Precomputed Radiance Transfer

Transfer Approx. Using ZHTransfer Approx. Using ZH

• Approximate transfer vector t by sum of N “lobes”

• Minimize squared error over the sphere

2

2 2

St s t s ds t t

* *

1

N

i ii

t G y s

* *

1

N

R i ii

t G y R s

Page 26: Local, Deformable Precomputed Radiance Transfer

Single Lobe SolutionSingle Lobe Solution

• For known direction s*, closed form solution

• “Optimal linear” direction is often good

– Reproduces linear, formed by gradient of linear terms

– Well behaved under interpolation

– Cosine weighted direction of maximal visibility in AO

* *

1

4 (2 1)l

l lm lmm

g y s t l

Page 27: Local, Deformable Precomputed Radiance Transfer

Multiple LobesMultiple Lobes

Page 28: Local, Deformable Precomputed Radiance Transfer

Random vs. PRT SignalsRandom vs. PRT Signals

1.00E-10

1.00E-09

1.00E-08

1.00E-07

1.00E-06

1.00E-05

1.00E-04

1.00E-03

1.00E-02

1.00E-01

1.00E+00

0 1 2 3 4 5 6 7

Number of Lobes

Lo

g S

qu

ared

Err

or

Random Max

Random Avg

1.00E-10

1.00E-09

1.00E-08

1.00E-07

1.00E-06

1.00E-05

1.00E-04

1.00E-03

1.00E-02

1.00E-01

1.00E+00

0 1 2 3 4 5 6 7

Number of Lobes

Lo

g S

qu

ared

Err

or

Random Max

Random Avg

Scene Max

Scene Avg

Page 29: Local, Deformable Precomputed Radiance Transfer

Energy Distribution of Transfer SignalsEnergy Distribution of Transfer Signals

Energy Per Band

0%

5%

10%

15%

20%

25%

30%

35%

40%

45%

50%

0 1 2 3 4 5 6 7

Band

En

erg

y

Bump

Waffle

WaffleSS

WeaveDirect

WeaveIR

Swirls

Scene

Mayan

Page 30: Local, Deformable Precomputed Radiance Transfer

Effects of Subsurface

0%

10%

20%

30%

40%

50%

60%

0 1 2 3 4 5 6 7

Band

En

erg

y

Diffuse

SSA

SSB

Energy Distribution and Subsurface ScatterEnergy Distribution and Subsurface Scatter

Page 31: Local, Deformable Precomputed Radiance Transfer

RenderingRendering

• Rotate lobe axis, reconstruct transfer and dot with lighting

• Care must be taken when interpolating

– Non-linear parameters

– Lobe correspondence with multiple-lobes

* *

1 0

N n l

lm i ili l m l

y R s g

l

Page 32: Local, Deformable Precomputed Radiance Transfer

Light Specialized RenderingLight Specialized Rendering

* *

1 0

N n l

lm i ili l m l

y s g

l

Page 33: Local, Deformable Precomputed Radiance Transfer

Light Specialized RenderingLight Specialized Rendering

* *

1 0

N n l

lm i ili l m l

y s g

l

* *

1 0

N n l

lm i il lmi l m l

y s g l

Page 34: Local, Deformable Precomputed Radiance Transfer

Light Specialized RenderingLight Specialized Rendering

* *

1 0

N n l

lm i il lmi l m l

y s g l

* *

1 0

N n l

il lm i lmi l m l

g y s l

* *

1 0

N n l

lm i ili l m l

y s g

l

Page 35: Local, Deformable Precomputed Radiance Transfer

Light Specialized RenderingLight Specialized Rendering

Page 36: Local, Deformable Precomputed Radiance Transfer

* *

1 0

N n l

il lm i lmi l m l

g y s l

Light Specialized RenderingLight Specialized Rendering

O(N n2) → O(N n)

Quadratic

QuinticQuartic

Cubic

Page 37: Local, Deformable Precomputed Radiance Transfer

Generating LDPRT ModelsGenerating LDPRT Models

• PRT simulation over mesh

– texture: specify patch (a)

– per-vertex: specify mesh (b)

• Parameterized models

– ad-hoc using intuitive parameters (c)

– fit to simulation data (d)

(a) LDPRT texture

(b) LDPRT mesh(c) thin-membrane model (d) wrinkle model

Peter-Pike Sloan
pipeline pictures? Other images?
Page 38: Local, Deformable Precomputed Radiance Transfer

LDPRT Texture PipelineLDPRT Texture Pipeline

• Start with “tileable” heightmap

• Simulate 3x3 grid

• Extract and fit LDPRT

• Store in texture maps

Page 39: Local, Deformable Precomputed Radiance Transfer

Thin Membrane ModelThin Membrane Model

• Single degree of freedom (DOF)

– “optical thickness”: light bleed in negative normal direction

Page 40: Local, Deformable Precomputed Radiance Transfer

Wrinkle ModelWrinkle Model

• Two DOF

– Phase, position along canonical wrinkle

Page 41: Local, Deformable Precomputed Radiance Transfer

Wrinkle ModelWrinkle Model

• Two DOF

– Phase, position along canonical wrinkle

– Amplitude, max magnitude of wrinkle

Page 42: Local, Deformable Precomputed Radiance Transfer

Wrinkle Model FitWrinkle Model Fit

• Compute several simulations

– 64 discrete amplitudes

– 255 unique points in phase

• Fit 32x32 textures

– One optimization for all DOF simultaneously

– Optimized for bi-linear reconstruction

– 3 lobes

Page 43: Local, Deformable Precomputed Radiance Transfer

Glossy LDPRTGlossy LDPRT

• Use separable BRDF

• Encode each “row” of transfer matrix using multiple lobes (3 lobes, 4th order lighting)

• See paper for details

Page 44: Local, Deformable Precomputed Radiance Transfer

DemoDemo

Page 45: Local, Deformable Precomputed Radiance Transfer

Conclusions/Future WorkConclusions/Future Work

• “local” global illumination effects

– soft shadows, inter-reflections, translucency

• easy-to-rotate rep. for spherical functions

– sums of rotated zonal harmonics

– allows dynamic geometry, real-time performance

– may be useful in other applications [Zhou2005]

• future work: non-local effects

– articulated characters

Page 46: Local, Deformable Precomputed Radiance Transfer

AcknowledgementsAcknowledgements

• Demos/Art: John Steed, Shanon Drone, Jason Sandlin

• Video: David Thiel

• Graphics Cards: Matt Radeki

• Light Probes: Paul Debevec