Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida...

41
Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik versity 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 Universit ComputerGraphicsGroup

Transcript of Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida...

Page 1: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

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

Page 2: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

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

Page 3: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation3/40

Unfortunate Finding

Our technique is only MARGINALLY FASTER than a previous technique.

Page 4: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

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.

Page 5: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation5/40

Talk Overview

Spherical Harmonics Spherical Harmonics Rotation Previous Techniques Our Rotation Approximation Applications & Results Conclusions

Page 6: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation6/40

Talk Overview

Spherical Harmonics Spherical Harmonics Rotation Previous Techniques Our Rotation Approximation Applications & Results Conclusions

Page 7: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation7/40

Spherical Harmonics Basis functions on the sphere

Page 8: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation8/40

Spherical Harmonics

)(L 00c +

22c 1

2c 02c+ + +

12c 22c+

01c 11c+ + 11c +

Page 9: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

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

Page 10: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation10/40

Talk Overview

Spherical Harmonics Spherical Harmonics Rotation Previous Techniques Our Rotation Approximation Applications & Results Conclusions

Page 11: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation11/40

SH Rotation – Problem Definition

Given coefficients , representing a spherical

function

find coefficients for directly from coefficients .

Page 12: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

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

Page 13: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation13/40

Talk Overview

Spherical Harmonics Spherical Harmonics Rotation Previous Techniques Our Rotation Approximation Applications & Results Conclusions

Page 14: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

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

Page 15: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

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

Page 16: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

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()

Page 17: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

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

Page 18: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

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

Page 19: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation19/40

zxzxz-decomposition [Kautz et al. 02]

Optimized implementation – unrolled code

4-6 x faster

Page 20: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation20/40

Talk Overview

Spherical Harmonics Spherical Harmonics Rotation Previous Techniques Our Rotation Approximation Applications & Results Conclusions

Page 21: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

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

Page 22: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation22/40

Taylor Expansion of RY()

)0(2

)0()(2

22

d

d

d

d yyy

RRIR

Page 23: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

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

Page 24: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation24/40

SH Rotation – Results

L2 error for a unit length input vector

Page 25: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation25/40

Talk Overview

Spherical Harmonics Spherical Harmonics Rotation Previous Techniques Our Rotation Approximation Applications & Results Conclusions

Page 26: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation26/40

Application 1 – Radiance Caching Global illumination: smooth indirect term Sparse computation Interpolation

Page 27: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation27/40

Incoming Radiance Interpolation

Interpolate coefficient vectors 1 and 2

p1

p2p

Page 28: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation28/40

Interpolation on Curved Surfaces

Page 29: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation29/40

Interpolation on Curved Surfaces

Align coordinate frames in interpolation

p

p1

R

Page 30: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation30/40

Radiance Caching Results

Page 31: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation31/40

Radiance Caching Results

Direct illumination

Direct + indirect

Page 32: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation32/40

More radiance caching: Temporal radiance caching, 3:45, room 210

Page 33: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

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

Page 34: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation34/40

Normal Mapping Results

Rotation Ignored Our Rotation

Page 35: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation35/40

Normal Mapping Results

Rotation Ignored Our Rotation

Page 36: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

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

]

Page 37: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation37/40

Talk Overview

Spherical Harmonics Spherical Harmonics Rotation Previous Techniques Our Rotation Approximation Applications & Results Conclusions

Page 38: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

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

Page 39: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation39/40

Future Work

Fast approximate rotation for wavelets

Page 40: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

Jaroslav Křivánek – Spherical Harmonics Rotation40/40

Questions

?

??

?

? ??

?

Code on-line (SH rotation, radiance caching)http://moon.felk.cvut.cz/~xkrivanj/projects/rcaching

Page 41: Fast Approximation to Spherical Harmonics Rotation Sumanta Pattanaik University of Central Florida Kadi Bouatouch IRISA / INRIA Rennes Jaroslav Křivánek.

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.