fast approximation to spherical harmonics rotation sumanta pattanaik university of central florida...
TRANSCRIPT
Fast Approximation to Spherical Harmonics Rotation
Sumanta Pattanaik
University of Central Florida
Kadi Bouatouch
IRISA / INRIA Rennes
Jaroslav Křivánek
Czech Technical University
Jaakko Konttinen
University of Central Florida
Jiří Žára
Czech Technical University
ComputerGraphicsGroup
Jaroslav Křivánek – Spherical Harmonics Rotation2/40
Presentation Topic
What? Rotate a spherical function represented by
spherical harmonics How?
Approximation by a truncated Taylor expansion
Why? Applications in real-time rendering and global
illumination
Jaroslav Křivánek – Spherical Harmonics Rotation3/40
Unfortunate Finding
Our technique is only MARGINALLY FASTER than a previous technique.
Jaroslav Křivánek – Spherical Harmonics Rotation4/40
Questions You Might Want to Ask
Q1: So why taking up a SIGGRAPH sketch slot? Found out only very recently.
Q2: And before? Implementation of previous work was NOT
OPTIMIZED. Q3: Does optimization change that much?
In this case, it does (4-6 times speedup). Q4: How did you find out?
I’ll explain later.
Jaroslav Křivánek – Spherical Harmonics Rotation5/40
Talk Overview
Spherical Harmonics Spherical Harmonics Rotation Previous Techniques Our Rotation Approximation Applications & Results Conclusions
Jaroslav Křivánek – Spherical Harmonics Rotation6/40
Talk Overview
Spherical Harmonics Spherical Harmonics Rotation Previous Techniques Our Rotation Approximation Applications & Results Conclusions
Jaroslav Křivánek – Spherical Harmonics Rotation7/40
Spherical Harmonics Basis functions on the sphere
Jaroslav Křivánek – Spherical Harmonics Rotation8/40
Spherical Harmonics
)(L 00c +
22c 1
2c 02c+ + +
12c 22c+
01c 11c+ + 11c +
Jaroslav Křivánek – Spherical Harmonics Rotation9/40
Spherical Harmonics
Function represented by a vector of coefficients:
Tnn
ml cccc 1
111
00][
n … order
Jaroslav Křivánek – Spherical Harmonics Rotation10/40
Talk Overview
Spherical Harmonics Spherical Harmonics Rotation Previous Techniques Our Rotation Approximation Applications & Results Conclusions
Jaroslav Křivánek – Spherical Harmonics Rotation11/40
SH Rotation – Problem Definition
Given coefficients , representing a spherical
function
find coefficients for directly from coefficients .
Jaroslav Křivánek – Spherical Harmonics Rotation12/40
SH Rotation Matrix
Rotation = linear transformation by R: R … spherical harmonics rotation matrix
Given the desired 3D rotation, find the matrix R
R
Jaroslav Křivánek – Spherical Harmonics Rotation13/40
Talk Overview
Spherical Harmonics Spherical Harmonics Rotation Previous Techniques Our Rotation Approximation Applications & Results Conclusions
Jaroslav Křivánek – Spherical Harmonics Rotation14/40
Previous Work – Molecular Chemistry
[Ivanic and Ruedenberg 1996] [Choi et al. 1999]
Slow Bottleneck in rendering applications
Jaroslav Křivánek – Spherical Harmonics Rotation15/40
Previous Work – Computer Graphics
[Kautz et al. 2002] zxzxz-decomposition THE fastest previous method THE method we compare against THE method nearly as fast as ours
if properly optimized
Jaroslav Křivánek – Spherical Harmonics Rotation16/40
zxzxz-decomposition [Kautz et al. 02]
Decompose the 3D rotation into ZYZ Euler angles: R = RZ() RY() RZ()
Jaroslav Křivánek – Spherical Harmonics Rotation17/40
zxzxz-decomposition [Kautz et al. 02]
R = RZ() RY() RZ()
Rotation around Z is simple and fast
Rotation around Y still a problem
Jaroslav Křivánek – Spherical Harmonics Rotation18/40
zxzxz-decomposition [Kautz et al. 02]
Rotation around Y Decomposition of RY() into
RX(+90˚)
RZ()
RX(-90˚)
R = RZ() RX(+90˚) RZ() RX(-90˚) RZ() Rotation around X is fixed-angle
pre-computed matrix
Jaroslav Křivánek – Spherical Harmonics Rotation19/40
zxzxz-decomposition [Kautz et al. 02]
Optimized implementation – unrolled code
4-6 x faster
Jaroslav Křivánek – Spherical Harmonics Rotation20/40
Talk Overview
Spherical Harmonics Spherical Harmonics Rotation Previous Techniques Our Rotation Approximation Applications & Results Conclusions
Jaroslav Křivánek – Spherical Harmonics Rotation21/40
Our Rotation
1. zyz decomposition: R = RZ() RY() RZ()
2. RY() approximated by a truncated Taylor
expansion
Jaroslav Křivánek – Spherical Harmonics Rotation22/40
Taylor Expansion of RY()
)0(2
)0()(2
22
d
d
d
d yyy
RRIR
Jaroslav Křivánek – Spherical Harmonics Rotation23/40
Taylor Expansion of RY()
)0(2
)0()(2
22
d
d
d
d yyy
RRIR
“1.5-th order Taylor exp.” Fixed, sparse matrices
Jaroslav Křivánek – Spherical Harmonics Rotation24/40
SH Rotation – Results
L2 error for a unit length input vector
Jaroslav Křivánek – Spherical Harmonics Rotation25/40
Talk Overview
Spherical Harmonics Spherical Harmonics Rotation Previous Techniques Our Rotation Approximation Applications & Results Conclusions
Jaroslav Křivánek – Spherical Harmonics Rotation26/40
Application 1 – Radiance Caching Global illumination: smooth indirect term Sparse computation Interpolation
Jaroslav Křivánek – Spherical Harmonics Rotation27/40
Incoming Radiance Interpolation
Interpolate coefficient vectors 1 and 2
p1
p2p
Jaroslav Křivánek – Spherical Harmonics Rotation28/40
Interpolation on Curved Surfaces
Jaroslav Křivánek – Spherical Harmonics Rotation29/40
Interpolation on Curved Surfaces
Align coordinate frames in interpolation
p
p1
R
Jaroslav Křivánek – Spherical Harmonics Rotation30/40
Radiance Caching Results
Jaroslav Křivánek – Spherical Harmonics Rotation31/40
Radiance Caching Results
Direct illumination
Direct + indirect
Jaroslav Křivánek – Spherical Harmonics Rotation32/40
More radiance caching: Temporal radiance caching, 3:45, room 210
Jaroslav Křivánek – Spherical Harmonics Rotation33/40
Application 2 – Normal Mapping
Original method by [Kautz et al. 2002] Environment map Arbitrary BRDF
Extended with normal mapping Needs per-pixel rotation to align with
the modulated normal Rotation implemented in fragment shader
Jaroslav Křivánek – Spherical Harmonics Rotation34/40
Normal Mapping Results
Rotation Ignored Our Rotation
Jaroslav Křivánek – Spherical Harmonics Rotation35/40
Normal Mapping Results
Rotation Ignored Our Rotation
Jaroslav Křivánek – Spherical Harmonics Rotation36/40
Comparison – Time per rotation (CPU)
DirectX October 2004: 1.8 x slower than Ivanic
0,00
5,00
10,00
15,00
20,00
25,00
30,00
35,00
40,00
0,00
1,00
2,00
3,00
4,00
5,00
6,00
7,00
8,00
Order 6 Order 10
T [s
]
T [s
]
Jaroslav Křivánek – Spherical Harmonics Rotation37/40
Talk Overview
Spherical Harmonics Spherical Harmonics Rotation Previous Techniques Our Rotation Approximation Applications & Results Conclusions
Jaroslav Křivánek – Spherical Harmonics Rotation38/40
Conclusion
Proposed approximate SH rotation Slightly faster than previous technique
SH Rotation Speed
1. Our approximation
2. DX 9.0c (up to order 6)
3. zxzxz-decomposition with unrolled code Lesson learned
Micro-optimization important for fair comparisons
Jaroslav Křivánek – Spherical Harmonics Rotation39/40
Future Work
Fast approximate rotation for wavelets
Jaroslav Křivánek – Spherical Harmonics Rotation40/40
Questions
?
??
?
? ??
?
Code on-line (SH rotation, radiance caching)http://moon.felk.cvut.cz/~xkrivanj/projects/rcaching
Jaroslav Křivánek – Spherical Harmonics Rotation41/40
Appendix – Bibliography [Křivánek et al. 2005] Jaroslav Křivánek, Pascal Gautron, Sumanta
Pattanaik, and Kadi Bouatouch. Radiance caching for efficient global illumination computation. IEEE Transactions on Visualization and Computer Graphics, 11(5), September/October 2005.
[Ivanic and Ruedenberg 1996] Joseph Ivanic and Klaus Ruedenberg. Rotation matrices for real spherical harmonics. direct determination by recursion. J. Phys. Chem., 100(15):6342–6347, 1996.Joseph Ivanic and Klaus Ruedenberg. Additions and corrections : Rotation matrices for real spherical harmonics. J. Phys. Chem. A, 102(45):9099–9100, 1998.
[Choi et al. 1999] Cheol Ho Choi, Joseph Ivanic, Mark S. Gordon, and Klaus Ruedenberg. Rapid and stable determination of rotation matrices between spherical harmonics by direct recursion. J. Chem. Phys., 111(19):8825–8831, 1999.
[Kautz et al. 2002] Jan Kautz, Peter-Pike Sloan, and John Snyder. Fast, arbitrary BRDF shading for low-frequency lighting using spherical harmonics. In Proceedings of the 13th Eurographics workshop on Rendering, pages 291–296. Eurographics Association, 2002.