local, deformable precomputed radiance transfer
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 PresentationTRANSCRIPT
![Page 1: Local, Deformable Precomputed Radiance Transfer](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/1.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/2.jpg)
“Local” Global Illumination“Local” Global Illumination
Renders GI effects onlocal details
Neglects gross shadowing
Rotates transfer model
![Page 3: Local, Deformable Precomputed Radiance Transfer](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/3.jpg)
“Local” Global Illumination“Local” Global Illumination
Original Ray Traced Rotated
![Page 4: Local, Deformable Precomputed Radiance Transfer](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/4.jpg)
Bat DemoBat Demo
![Page 5: Local, Deformable Precomputed Radiance Transfer](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/5.jpg)
illuminateilluminate responseresponse
TransferVector
Precomputed Radiance Transfer (PRT)Precomputed Radiance Transfer (PRT)
![Page 6: Local, Deformable Precomputed Radiance Transfer](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/6.jpg)
Related Work: Area LightingRelated Work: Area Lighting
[Kautz2004]
[James2003]
[Ramamoorthi2001]
[Sloan2002][Ng2003]
[Liu2004;Wang2004]
[Sloan2003]
[Muller2004]
[Zhou2005]
![Page 7: Local, Deformable Precomputed Radiance Transfer](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/7.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/8.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/9.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/10.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/11.jpg)
SH Rotational InvarianceSH Rotational Invariance
rotate
rotate
SH SH
![Page 12: Local, Deformable Precomputed Radiance Transfer](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/12.jpg)
Spherical Harmonics (SH)Spherical Harmonics (SH)
nth order, n2 coefficients
Evaluation O(n2)
![Page 13: Local, Deformable Precomputed Radiance Transfer](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/13.jpg)
Zonal Harmonics (ZH)Zonal Harmonics (ZH)
Polynomials in Z
Circular Symmetry
![Page 14: Local, Deformable Precomputed Radiance Transfer](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/14.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/15.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/16.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/17.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/18.jpg)
Efficient ZH RotationEfficient ZH Rotation
z
g(s)
![Page 19: Local, Deformable Precomputed Radiance Transfer](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/19.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/20.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/21.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/22.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/23.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/24.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/25.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/26.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/27.jpg)
Multiple LobesMultiple Lobes
![Page 28: Local, Deformable Precomputed Radiance Transfer](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/28.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/29.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/30.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/31.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/32.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/33.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/34.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/35.jpg)
Light Specialized RenderingLight Specialized Rendering
![Page 36: Local, Deformable Precomputed Radiance Transfer](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/36.jpg)
* *
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/37.jpg)
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
![Page 38: Local, Deformable Precomputed Radiance Transfer](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/38.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/39.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/40.jpg)
Wrinkle ModelWrinkle Model
• Two DOF
– Phase, position along canonical wrinkle
![Page 41: Local, Deformable Precomputed Radiance Transfer](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/41.jpg)
Wrinkle ModelWrinkle Model
• Two DOF
– Phase, position along canonical wrinkle
– Amplitude, max magnitude of wrinkle
![Page 42: Local, Deformable Precomputed Radiance Transfer](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/42.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/43.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/44.jpg)
DemoDemo
![Page 45: Local, Deformable Precomputed Radiance Transfer](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/45.jpg)
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](https://reader035.vdocument.in/reader035/viewer/2022062810/56815a8e550346895dc8048b/html5/thumbnails/46.jpg)
AcknowledgementsAcknowledgements
• Demos/Art: John Steed, Shanon Drone, Jason Sandlin
• Video: David Thiel
• Graphics Cards: Matt Radeki
• Light Probes: Paul Debevec