Local Deformable Precomputed Radiance Transfer PeterPike Sloan Ben
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 [Ramamoorthi 2001] [Sloan 2003] [Muller 2004] [Kautz 2004] [Ng 2003] [Sloan 2002] [Liu 2004; Wang 2004] [Zhou 2005] [James 2003]
Other Related Work • Directional Lighting – [Malzbender 2001], [Ashikhmin 2002] – [Heidrich 2000] – [Max 1988], [Dana 1999] • Ambient Occlusion – [Miller 1994], [Phar 2004] – [Kontkanen 2005], [Bunnel 2005] • Environmental Lighting – [Mc. Callister 2002]
Spherical Harmonics (SH) • Spherical Analog to the Fourier basis • Used extensively in graphics – [Kajiya 84; Cabral 87; Sillion 91; Westin 92; Stam 95] • Polynomials in R 3 restricted to sphere projection reconstruction
Spherical Harmonics (SH) • Spherical Analog to the Fourier basis • Used extensively in graphics – [Kajiya 84; Cabral 87; Sillion 91; Westin 92; Stam 95] • Polynomials in R 3 restricted to sphere 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) nth order, n 2 coefficients Evaluation O(n 2)
Zonal Harmonics (ZH) Polynomials in Z Circular Symmetry
SH Rotation Structure O(n 3) Too Slow!
ZH Rotation Structure O(n 2)
What’s that column? z Rotate delta function so that z → z’ : • Evaluate delta function at z = (0, 0, 1) z’ • Rotating scales column C by dl – Equals y(z’) due to rotation invariance
What’s that column? z Rotate delta function so that z → z’ : • Evaluate delta function at z = (0, 0, 1) z’ • Rotating scales column C by dl – Equals y(z’) due to rotation invariance
Efficient ZH Rotation z g(s)
Efficient ZH Rotation z g(s)
Efficient ZH Rotation z g(s) z’ g’(s)
Efficient ZH Rotation z g(s) z’ g’(s)
Efficient ZH Rotation z g(s) z’ g’(s)
Transfer Approx. Using ZH • Approximate transfer vector t by sum of N “lobes” + + +
Transfer Approx. Using ZH • Approximate transfer vector t by sum of N “lobes”
Transfer Approx. Using ZH • Approximate transfer vector t by sum of N “lobes” • Minimize squared error over the sphere
Single 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
Multiple Lobes
Random vs. PRT Signals
Energy Distribution of Transfer Signals
Energy Distribution and Subsurface Scatter
Rendering • Rotate lobe axis, reconstruct transfer and dot with lighting • Care must be taken when interpolating – Non-linear parameters – Lobe correspondence with multiple-lobes
Light Specialized Rendering
Light Specialized Rendering
Light Specialized Rendering
Light Specialized Rendering
Light Specialized Rendering O(N n 2) → O(N n) Quadratic Cubic 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) (a) LDPRT texture – fit to simulation data (d) (c) thin-membrane model (d) wrinkle model (b) LDPRT mesh
LDPRT Texture Pipeline • Start with “tileable” heightmap • Simulate 3 x 3 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 32 x 32 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 [Zhou 2005] • 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
- Slides: 46