Transcript talk - Peter
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 Ray Traced Rotated
Bat Demo
Precomputed Radiance Transfer (PRT) illuminate response
Transfer Vector
Related Work: Area Lighting [Ramamoorthi2001] [Sloan2003] [Muller2004] [Kautz2004] [Ng2003] [Sloan2002] [Liu2004;Wang2004] [Zhou2005] [James2003]
Other Related Work
• Directional Lighting – [Malzbender2001],[Ashikhmin2002] – [Heidrich2000] – [Max1988],[Dana1999] • Ambient Occlusion – [Miller1994],[Phar2004] – [Kontkanen2005],[Bunnel2005] • Environmental Lighting – [McCallister2002]
Spherical Harmonics (SH)
• Spherical Analog to the Fourier basis • Used extensively in graphics – [Kajiya84;Cabral87;Sillion91;Westin92;Stam95] • Polynomials in R 3 restricted to sphere
f lm
lm
projection 1
l n l
0
m
l f lm y lm
reconstruction
Spherical Harmonics (SH)
• Spherical Analog to the Fourier basis • Used extensively in graphics – [Kajiya84;Cabral87;Sillion91;Westin92;Stam95] • Polynomials in R 3 restricted to sphere
f lm
lm
projection reconstruction
Low Frequency Lighting
order 1 order 2 order 4 order 8 order 16 order 32 original
SH Rotational Invariance
rotate SH SH rotate
Spherical Harmonics (SH)
n th order, n 2 coefficients Evaluation O(n 2 )
Zonal Harmonics (ZH)
Polynomials in Z Circular Symmetry
SH Rotation Structure
C
L L L L L L L L L Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q
Q
3
Z Y Z X YX YZ
2 1
XZ
1
X
2
Y
2 O(n 3 ) Too Slow!
ZH Rotation Structure
C
L L L L L L L L L Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q
3
Z
2 1
Z
1
Q
O(n 2 )
What’s that column?
Rotate delta function so that
z
→
z
’ : • Evaluate delta function at
z
= (0,0,1)
d l
z l
0
y l
0 2
l
1 4 • Rotating scales column
C
by
d l
– Equals
y
(
z
’ ) due to rotation invariance
C d lm l
y lm
z
z
z z
’
What’s that column?
Rotate delta function so that
z
→
z
’ : • Evaluate delta function at
z
= (0,0,1)
d l
z l
0
y l
0 2
l
1 4 • Rotating scales column
C
by
d l
– Equals
y
(
z
’ ) due to rotation invariance
C d lm l
y lm
C lm
y lm d l
z
z
z z
’
Efficient ZH Rotation
z g
(
s
)
Efficient ZH Rotation
z g
(
s
) 3 4 0 0 3 2 3 4 3
g l
y l
0
Efficient ZH Rotation
z g
(
s
) 3 4 0 0 3 2 3 4 3
g l
y l
0
g
’ (
s
)
z
’
Efficient ZH Rotation
z g
(
s
) 3 4 0 0 3 2 3 4 3
g l
y l
0
g
’ (
s
)
g
G
* diag
g
0 * , * 1 * , 1 * , 1 * ,
z
’
Efficient ZH Rotation
z g
(
s
) 3 4 0 0 3 2 3 4 3
g l
y l
0
g
’ (
s
)
g
*
G
* diag
g
0 * ,
g l
*
g d l l
g l
1 * , 1 * , 1 * , 2
l
4 1
z
’
Transfer Approx. Using ZH
• Approximate transfer vector
t
by sum of
N
“lobes”
t
i N
1
i
*
i
e.g.,
t
+ + +
Transfer Approx. Using ZH
• Approximate transfer vector
t
by sum of
N
“lobes”
t
i N
1
i
*
i t R
i N
1
i
*
i
Transfer Approx. Using ZH
• Approximate transfer vector
t
by sum of
N
“lobes”
t
i N
1
i
*
i t R
i N
1
i
*
i
• Minimize squared error over the sphere
S
2 2
ds t
2
Single Lobe Solution
• For known direction
s*
, closed form solution
g l
*
m l
1
y lm t lm
4 (2
l
1)
• “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
Multiple Lobes
Random vs. PRT Signals
Scene Max Scene Avg
Energy Distribution of Transfer Signals Energy Per Band
50% 45% 40% 35% 30% 25% 20% 15% 10% 5% 0% 0 1 2 3
Band
4 5 6 7 Bump Waffle WaffleSS WeaveDirect WeaveIR Swirls Scene Mayan
Energy Distribution and Subsurface Scatter Effects of Subsurface
60% 50% 40% 30% 20% 10% 0% 0 1 2 3
Band
4 5 6 7 Diffuse SSA SSB
Rendering
• Rotate lobe axis, reconstruct transfer and dot with lighting
i N
1
l n
0
m l
l y lm g il
*
l
• Care must be taken when interpolating – Non-linear parameters – Lobe correspondence with multiple-lobes
Light Specialized Rendering
i N
1
l n
0
l m
l y lm g il
*
l
Light Specialized Rendering
i N
1
l n
0
l m
l y lm i N
1
l n
0
m l
l y lm g il
*
l
*
g l il lm
Light Specialized Rendering
i N
1
l n
0
l m
l y lm i N
1
l n
0
m l
l y lm g il
*
l
*
g l il lm i N
1
l n
0
g il
*
m l
l y lm
lm
Light Specialized Rendering
Light Specialized Rendering
Cubic Quadratic
i N
1
l n
0
g il
*
l
m
l y lm
lm
O(N n 2 ) → O(N n) Quartic Quintic
Generating 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 (c) thin-membrane model (d) wrinkle model (b) LDPRT mesh
LDPRT Texture Pipeline
• Start with “tileable” heightmap • Simulate 3x3 grid • Extract and fit LDPRT • Store in texture maps
Thin Membrane Model
• Single degree of freedom (DOF) – “ optical thickness”: light bleed in negative normal direction
Wrinkle Model
• Two DOF – Phase, position along canonical wrinkle
Wrinkle Model
• Two DOF – Phase, position along canonical wrinkle – Amplitude, max magnitude of wrinkle
Wrinkle 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
Glossy LDPRT
• • Use separable BRDF Encode each “row” of transfer matrix using multiple lobes (3 lobes, 4 th order lighting) • See paper for details
Demo
Conclusions/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
Acknowledgements
• Demos/Art: John Steed, Shanon Drone, Jason Sandlin • Video: David Thiel • Graphics Cards: Matt Radeki • Light Probes: Paul Debevec