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

Upload: cecily-mccoy

Post on 05-Jan-2016

223 views

Category:

Documents


3 download

TRANSCRIPT

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.