Fast Approximation to Spherical Harmonics Rotation Jaroslav Křivánek Czech Technical University Jaakko Konttinen University of Central Florida Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jiří Žára Czech Technical University Computer Graphics Group
Presentation Topic Goal Rotate a spherical function represented by Spherical Harmonics Proposed method Approximation through a truncated Taylor expansion Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Spherical Harmonics Basis functions on the sphere Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Spherical Harmonics + + + + Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Spherical Harmonics Image Robin Green, Sony computer Entertainment Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Spherical Harmonics represented by a vector of coefficients: Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Spherical Harmonics Basis functions on the sphere l = 0 l = 1 l = 2 Jaroslav Křivánek – Fast Spherical Harmonics Rotation
SH Rotation – Problem Definition Given coefficients , representing a spherical function find coefficients for directly from coefficients . Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Our Contribution Novel, fast, approximate rotation Based on a truncated Taylor Expansion of the SH rotation matrix 4-6 times faster than [Kautz et al. 2002] O(n2) complexity instead of O(n3) Two applications Global illumination (radiance interpolation) Real-time shading (normal mapping) Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Talk Overview SH rotation Previous Work Our Rotation Application in global illumination Application in real-time shading Conclusions Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Talk Overview SH rotation Previous Work Our Rotation Application in global illumination Application in real-time shading Conclusions Jaroslav Křivánek – Fast Spherical Harmonics Rotation
SH Rotation – Problem Definition Given coefficients , representing a spherical function find coefficients for directly from coefficients . Jaroslav Křivánek – Fast Spherical Harmonics Rotation
SH Rotation Matrix Rotation = linear transformation: Jaroslav Křivánek – Fast Spherical Harmonics Rotation
SH Rotation Given the desired 3D rotation, find the matrix R Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Talk Overview SH rotation Previous Work Our Rotation Application in global illumination Application in real-time shading Conclusions Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Previous Work – Molecular Chemistry [Ivanic and Ruedenberg 1996] Recurrent relations: Rl = f(R1,Rl-1) [Choi et al. 1999] Through complex spherical harmonics Fast for complex harmonics Slow conversion to the real form Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Previous Work – Computer Graphics [Kautz et al. 2002] zxzxz-decomposition By far the fastest previous method Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Previous Work – Summary O(n3) complexity Slow Bottleneck in rendering applications Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Talk Overview SH rotation Previous Work Our Rotation Application in global illumination Application in real-time shading Conclusions Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Our Rotation Fast, approximate rotation Based on replacing the SH rotation matrix by its Taylor expansion 4-6 times faster than [Kautz et al. 2002] Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Rotation Decomposition Decompose the 3D rotation into ZYZ Euler angles: R = RZ(a) RY(b) RZ(g) Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Rotation Decomposition R = RZ(a) RY(b) RZ(g) Rotation around Z is simple and fast Rotation around Y still a problem Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Rotation Around Y [Kautz et al. 2002] Decomposition of Y into X(+90˚), Z, and X(-90˚) R = RZ(a) RX(+90˚) RZ(b) RX(-90˚) RZ(g) Rotation around Z is simple and fast Rotation around X is fixed-angle can be tabulated The RXRZRX-part can still be improved… Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Rotation Around Y – Our Approach Second order truncated Taylor expansion of RY(b) Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Taylor Expansion of RY(b) Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Rotation Procedure – Taylor Expansion Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Rotation Procedure – Taylor Expansion “1.5-th order Taylor expansion” Very sparse matrix Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Full Rotation Procedure Decompose the 3D rotation into ZYZ Euler angles: R = RZ(a) RY(b) RZ(g) Rotate around Z by a Use the “1.5-th order” Taylor expansion to rotate around Y by b Rotate around Z by g Jaroslav Křivánek – Fast Spherical Harmonics Rotation
SH Rotation – Results L2 error for a unit length input vector Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Talk Overview SH rotation Previous Work Our Rotation Application in global illumination Application in real-time shading Conclusion Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Application in GI - Radiance Caching Sparse computation of indirect illumination Interpolation Enhanced with gradients Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Incoming Radiance Interpolation Interpolate coefficient vectors 1 and 2 Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Interpolation on Curved Surfaces Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Interpolation on Curved Surfaces Align coordinate frames in interpolation p1 R p Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Results in Radiance Caching Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Results in Radiance Caching Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Talk Overview SH rotation Previous Work Our Rotation Application in global illumination Application in real-time shading Conclusion Jaroslav Křivánek – Fast Spherical Harmonics Rotation
GPU-based Real-time Shading Original method by [Kautz et al. 2002] Arbitrary BRDFs represented by SH in the local coordinate frame Environment Lighting represented by SH in the global coordinate frame ( ) Lout = Incident Radiance BRDF = coeff. dot product Jaroslav Křivánek – Fast Spherical Harmonics Rotation
GPU-based Real-time Shading (contd.) must be rotated from global to local frame zxzxz - rotation too complicated on CPU Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Our Extension – Normal Mapping Normal modulated by a texture Our rotation approximation Rotation from the un-modulated to the modulated coordinate frame Small rotation angle good accuracy Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Normal Mapping Results Rotation Ignored Our Rotation Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Normal Mapping Results Rotation Ignored Our Rotation Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Normal Mapping Results Rotation Ignored Our Rotation Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Talk Overview SH rotation Previous Work Our Rotation Application in global illumination Application in real-time shading Conclusion Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Conclusion and Future Work Summary Fast, approximate rotation Truncated Taylor Expansion of the SH rotation matrix 4-6 times faster than [Kautz et al. 2002] O(n2) complexity instead of O(n3) Applications in global illumination and real-time shading Future Work Rotation for Wavelets Normal mapping for pre-computed radiance transfer Jaroslav Křivánek – Fast Spherical Harmonics Rotation
Thank You for your Attention ? ? Jaroslav Křivánek – Fast Spherical Harmonics Rotation
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. Jaroslav Křivánek – Fast Spherical Harmonics Rotation