Presentation is loading. Please wait.

Presentation is loading. Please wait.

Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi.

Similar presentations


Presentation on theme: "Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi."— Presentation transcript:

1 Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi Bouatouch IRISA, INRIA Rennes Jiří Žára Czech Technical University in Prague and

2 Jaroslav Křivánek – Radiance Caching 2/123 Presentation Topic Dissertation Title Radiance Caching for Global Illumination Computation on Glossy Surfaces Goal Global Illumination Computation on Glossy Surfaces Method Radiance Caching

3 Jaroslav Křivánek – Radiance Caching 3/123 Summary of Contributions Main contribution Radiance caching algorithm [Křivánek et al. 2005a] More contributions Translational radiance gradient computation [Křivánek et al. 2005a], [Křivánek et al. 2005b] Fast spherical harmonics rotation [Křivánek et al. 2005c] Adaptive refinement for radiance caching [to be submitted] Solution of practical problems in radiance and irradiance caching [to be submitted]

4 Jaroslav Křivánek – Radiance Caching 4/123 Goal Dissertation Title Radiance Caching for Global Illumination Computation on Glossy Surfaces Goal Global Illumination Computation on Glossy Surfaces Method Radiance Caching

5 Jaroslav Křivánek – Radiance Caching 5/123 Global Illumination? Part of Image synthesis, or rendering

6 Jaroslav Křivánek – Radiance Caching 6/123 Rendering Create an image… …of a scene.

7 Jaroslav Křivánek – Radiance Caching 7/123 Different Approaches to Rendering Non-photorealistic rendering Artistic styles Technical sketches Stress some information Photo-realistic rendering Goal: images like reality Method: simulate the light transport OUR TOPIC

8 Jaroslav Křivánek – Radiance Caching 8/123 Photo-Realistic Rendering How much light? For each visible point p in the scene Compute the amount of light energy reflected towards the camera

9 Jaroslav Křivánek – Radiance Caching 9/123 Where Does the Light Come From? At p, the light comes from Light sources (=direct) Reflected from scene surfaces (= indirect) p

10 Jaroslav Křivánek – Radiance Caching 10/123 Global vs. Local Illumination Direct Illumination only Light bounces ONCE on the way from source to camera Global Illumination Global = Direct + indirect Light transport between scene surfaces Many bounces Images © PDI/Dreamworks

11 Jaroslav Křivánek – Radiance Caching 11/123 Global Illumination Global = Direct + Indirect Direct is (relatively) easy to compute We focus on indirect

12 Jaroslav Křivánek – Radiance Caching 12/123 Goal Dissertation Title Radiance Caching for Global Illumination Computation on Glossy Surfaces Goal Indirect Illumination Computation on Glossy Surfaces Method Radiance Caching

13 Jaroslav Křivánek – Radiance Caching 13/123 Goal Dissertation Title Radiance Caching for Global Illumination Computation on Glossy Surfaces Goal Indirect Illumination Computation on Glossy Surfaces with Low-Frequency Reflectance Method Radiance Caching

14 Jaroslav Křivánek – Radiance Caching 14/123 Surface Reflectance Described by the Bidirectional Reflectance Distribution Function (BRDF) BRDF at a point Function of two directions: Incoming  i Outgoing  o Ratio: outgoing radiance / incoming irradiance

15 Jaroslav Křivánek – Radiance Caching 15/123 BRDF Types Diffuse (Lambertian) View independent Specular Mirror-like Glossy Something “in between” Many different reflectance behaviors High frequency – sharp reflections Low frequency – blurry reflections We focus on low-frequency glossy BRDFs

16 Jaroslav Křivánek – Radiance Caching 16/123 Various BRDFs Image courtesy Wojciech Matusik Low-frequency High-frequency Image [Ngan2005]

17 Jaroslav Křivánek – Radiance Caching 17/123 Glossy Surfaces with Low-Frequency Reflectance Functions

18 Jaroslav Křivánek – Radiance Caching 18/123 BRDF in Light Transport Light arrives at p Gets reflected (BRDF) Arrives at the camera Reflection at p - BRDF

19 Jaroslav Křivánek – Radiance Caching 19/123 Formal Description of Reflection Illumination integral

20 Jaroslav Křivánek – Radiance Caching 20/123 Goal Indirect Illumination on Glossy Surfaces with Low-Frequency BRDFs How Evaluate the illumination integral at each visible point But why? Is it important? YES!

21 Jaroslav Křivánek – Radiance Caching 21/123 Why Indirect Illumination on Glossy Surfaces? With indirectWithout indirect

22 Jaroslav Křivánek – Radiance Caching 22/123 Why Indirect Illumination on Glossy Surfaces? Important for correct material perception With indirect (looks like metal) Without indirect (looks like plastic)

23 Jaroslav Křivánek – Radiance Caching 23/123 Goal Dissertation Title Radiance Caching for Global Illumination Computation on Glossy Surfaces Goal Indirect Illumination Computation on Glossy Surfaces with Low-Frequency BRDFs Method Previous work Radiance Caching

24 Jaroslav Křivánek – Radiance Caching 24/123 Method Dissertation Title Radiance Caching for Global Illumination Computation on Glossy Surfaces Goal Indirect Illumination Computation on Glossy Surfaces with Low-Frequency BRDFs Method Previous work Radiance Caching

25 Jaroslav Křivánek – Radiance Caching 25/123 Previous Work – Radiosity Radiosity methods Finite Elements Method applied to light transport Originally only for diffuse surface Extended to Glossy Surfaces, e.g., [Immel and Hanrahan 1986], [Sillion et al. 1991], [Auperle et al. 1993] Not practical for many reasons Problems with subdivision into elements High memory consumption Cannot produce high quality images by itself (need final gathering)

26 Jaroslav Křivánek – Radiance Caching 26/123 Previous Work – Monte Carlo Monte Carlo methods e.g. [Cook et al. 1984], [Kajiya 1986], [Veach 1997] Pros More general than radiosity Lower memory consumption Cons Produce image noise Slow convergence rate

27 Jaroslav Křivánek – Radiance Caching 27/123 Previous Work – Monte Carlo 40 samples per pixel Image: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/

28 Jaroslav Křivánek – Radiance Caching 28/123 Previous Work – Monte Carlo 100 samples per pixel Image: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/

29 Jaroslav Křivánek – Radiance Caching 29/123 Previous Work – Monte Carlo 300 samples per pixel Image: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/

30 Jaroslav Křivánek – Radiance Caching 30/123 Previous Work – Monte Carlo 600 samples per pixel Image: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/

31 Jaroslav Křivánek – Radiance Caching 31/123 Previous Work – Monte Carlo 1200 samples per pixel Image: Jason Lawrence, http://www.cs.princeton.edu/gfx/proj/brdf/

32 Jaroslav Křivánek – Radiance Caching 32/123 Previous Work – Monte Carlo Variance Reduction: BRDF Importance sampling Works very well for high-frequency BRDFs Does not help much for low-frequency BRDFs  Radiance caching complements importance sampling

33 Jaroslav Křivánek – Radiance Caching 33/123 Previous Work – Photon Mapping Photon map [Wann Jensen 2001] crude representation of indirect illumination Final gathering is needed Radiance caching works for final gathering  Radiance caching complements photon mapping

34 Jaroslav Křivánek – Radiance Caching 34/123 Previous Work – Interpolation If illumination changes slowly, one can interpolate Techniques suitable for glossy surfaces Radiosity methods are based on interpolation [Bala et al. 1999] Only for deterministic ray tracing [Smyk et al. 2005] Costly re-projection of radiance samples [Durand et al. 2005] Image-based technique, does not produce good results yet

35 Jaroslav Křivánek – Radiance Caching 35/123 Previous Work – Interpolation Irradiance caching [Ward et al. 88, Ward and Heckbert 1992] Basis for our algorithm Diffuse term only Radiance caching extends this algorithm for the use on glossy surfaces

36 Jaroslav Křivánek – Radiance Caching 36/123 Method Dissertation Title Radiance Caching for Global Illumination Computation on Glossy Surfaces Goal Indirect Illumination Computation on Glossy Surfaces with Low-Frequency BRDFs Method Previous work Radiance Caching

37 Jaroslav Křivánek – Radiance Caching 37/123 Method Dissertation Title Radiance Caching for Global Illumination Computation on Glossy Surfaces Goal Indirect Illumination Computation on Glossy Surfaces with Low-Frequency BRDFs Method Previous work Radiance Caching

38 Jaroslav Křivánek – Radiance Caching 38/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

39 Jaroslav Křivánek – Radiance Caching 39/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

40 Jaroslav Křivánek – Radiance Caching 40/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

41 Jaroslav Křivánek – Radiance Caching 41/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

42 Jaroslav Křivánek – Radiance Caching 42/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

43 Jaroslav Křivánek – Radiance Caching 43/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

44 Jaroslav Křivánek – Radiance Caching 44/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

45 Jaroslav Křivánek – Radiance Caching 45/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

46 Jaroslav Křivánek – Radiance Caching 46/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

47 Jaroslav Křivánek – Radiance Caching 47/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

48 Jaroslav Křivánek – Radiance Caching 48/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

49 Jaroslav Křivánek – Radiance Caching 49/123 Motivation Indirect lighting on glossy surfaces with low- frequency BRDFs is rather smooth

50 Jaroslav Křivánek – Radiance Caching 50/123 Radiance Caching Scheme Sparse computation of indirect illumination Interpolation Enhanced with gradients

51 Jaroslav Křivánek – Radiance Caching 51/123 Radiance Caching Scheme Scene Radiance Cache p1p1 Radiance cache lookup Cache Miss! Sample hemisphere Project onto (hemi)spherical harmonics p1p1 Store in cache L o = ∫ · BRDF(p 1 ) · cos θ dω Lo(p1)Lo(p1) p2p2 Radiance cache lookup L o (p 2 )= ∫ · BRDF(p 2 ) · cos θ dω Lo(P2)Lo(P2)

52 Jaroslav Křivánek – Radiance Caching 52/123 Radiance Caching Scheme

53 Jaroslav Křivánek – Radiance Caching 53/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

54 Jaroslav Křivánek – Radiance Caching 54/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

55 Jaroslav Křivánek – Radiance Caching 55/123 Incoming Radiance Representation = L i (  ) Directional distribution of incoming radiance at a point Function on the hemisphere Requirements Allows rotation Fast evaluation of illumination integral Smooth (no aliasing) Compact

56 Jaroslav Křivánek – Radiance Caching 56/123 Incoming Radiance Representation Spherical harmonics

57 Jaroslav Křivánek – Radiance Caching 57/123 Incoming Radiance Representation Hemipherical harmonics [Gautron et al. 2004]

58 Jaroslav Křivánek – Radiance Caching 58/123 Incoming Radiance Representation represented by a vector of coefficients:

59 Jaroslav Křivánek – Radiance Caching 59/123 Incoming Radiance Representation Given L, how to find the coefficients? Projection (of L onto the basis)

60 Jaroslav Křivánek – Radiance Caching 60/123 Incoming Radiance Representation Projection integral computed with Monte Carlo quadrature Hemisphere sampling Sum over all cells Incoming radiance from the sampled direction Multiplied by the basis function

61 Jaroslav Křivánek – Radiance Caching 61/123 Incoming Radiance Representation Why the harmonics? Efficient rotation !!! Smooth representation Low memory consumption Easy to use

62 Jaroslav Křivánek – Radiance Caching 62/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

63 Jaroslav Křivánek – Radiance Caching 63/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

64 Jaroslav Křivánek – Radiance Caching 64/123 Interpolation How to interpolate a function? Interpolate coefficient vectors  1 and  2 p1p1 p2p2 p

65 Jaroslav Křivánek – Radiance Caching 65/123 Interpolation for each coefficient vector used in interpolation do 1. Adjust by translational gradient 2. Rotate to align coordinate frame 3. Update the weighted average

66 Jaroslav Křivánek – Radiance Caching 66/123 Interpolation Align coordinate frames in interpolation pp1p1 R

67 Jaroslav Křivánek – Radiance Caching 67/123 Interpolation Weighted average Weight w i (p) borrowed from [Ward88] Records used for interpolation: a … user defined allowed approximation error

68 Jaroslav Křivánek – Radiance Caching 68/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

69 Jaroslav Křivánek – Radiance Caching 69/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

70 Jaroslav Křivánek – Radiance Caching 70/123 Outgoing Radiance Computation L o (p,  o ) is the final product Given by the Illumination Integral i.e. Integrate x BRDF is interpolated BRDF is known

71 Jaroslav Křivánek – Radiance Caching 71/123 Outgoing Radiance Computation Incident RadianceBRDF = coeff. dot product  BRDF represented by (hemi)spherical harmonics Orthonormal basis ()

72 Jaroslav Křivánek – Radiance Caching 72/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

73 Jaroslav Křivánek – Radiance Caching 73/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

74 Jaroslav Křivánek – Radiance Caching 74/123 Why Gradients? Reality p1p1 p With radiance caching p1p1 p Li(p1)Li(p1) L i (p 1 ) != L i (p) Wrong extrapolation = Li(p)= Li(p)

75 Jaroslav Křivánek – Radiance Caching 75/123 Wrong Extrapolation How does L i (p) change with p? First approximation: Translational radiance gradient Our contribution New radiance gradient computation methods

76 Jaroslav Křivánek – Radiance Caching 76/123 Wrong Extrapolation

77 Jaroslav Křivánek – Radiance Caching 77/123 Corrected with Gradients

78 Jaroslav Křivánek – Radiance Caching 78/123 Gradient Computation Two new methods proposed 1. Solid angle-based [Krivanek et al. 2005a] 2. Stratification-based [Krivanek et al. 2005b] Better results (=smoother interpolation) Will be described in what follows

79 Jaroslav Křivánek – Radiance Caching 79/123 Gradient Computation Coefficients – hemisphere sampling Gradients – the same hemisphere sampling Something like

80 Jaroslav Křivánek – Radiance Caching 80/123 Previous Work – Polygonal Emitters [Arvo 1994] Irradiance Jacobian due to partially occluded polygonal emitters of constant radiosity [Holzschuch and Sillion 1995] Polygonal emitters of arbitrary radiosity

81 Jaroslav Křivánek – Radiance Caching 81/123 Previous Work – Hemisphere Sampling [Ward and Heckbert 1992] “Irradiance gradients” Specifically for irradiance Cosine-proportional, uniformly weighted samples over the hemisphere We extend this to uniformly distributed, arbitrarily weighted samples [Annen et al. 2004] Equivalent to our solid angle-based gradient Works mostly fine, except when there is occlusion in the sampled environment Stratification-based grad. improves the quality of this

82 Jaroslav Křivánek – Radiance Caching 82/123 Our Gradient Computation 1. Compute gradient from each hemisphere cell 2. Sum it all together

83 Jaroslav Křivánek – Radiance Caching 83/123 Gradient Computation for One Cell

84 Jaroslav Křivánek – Radiance Caching 84/123 Translation along L pp’ Wall movement

85 Jaroslav Křivánek – Radiance Caching 85/123 Gradient Computation for One Cell Wall movement  cell area changes Cell area change  solid angle changes Solid angle change  incoming radiance changes

86 Jaroslav Křivánek – Radiance Caching 86/123 Gradient Computation – Putting it all Together Sum incoming radiance changes from all cells Use the basis functions H as a weighting factor Basis functions do not change with displacement Cell area change Incoming radiance change Weight by the basis function Sum together

87 Jaroslav Křivánek – Radiance Caching 87/123 Gradient Computation – Results Solid-angle based grad.Stratification-based grad.

88 Jaroslav Křivánek – Radiance Caching 88/123 Gradient Computation – Results Stratification-based grad.Solid-angle based grad.

89 Jaroslav Křivánek – Radiance Caching 89/123 Gradient Computation – Results Solid-angle based grad.

90 Jaroslav Křivánek – Radiance Caching 90/123 Gradient Computation – Results Stratification-based grad.

91 Jaroslav Křivánek – Radiance Caching 91/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

92 Jaroslav Křivánek – Radiance Caching 92/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

93 Jaroslav Křivánek – Radiance Caching 93/123 SH Rotation – Summary Novel, fast, approximate rotation Based on a truncated Taylor Expansion of the SH rotation matrix 4-6 times faster than [Kautz et al. 2002] Accurate enough for the use in radiance caching Application in real-time shading

94 Jaroslav Křivánek – Radiance Caching 94/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

95 Jaroslav Křivánek – Radiance Caching 95/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

96 Jaroslav Křivánek – Radiance Caching 96/123 Adaptive Radiance Caching If rate of change of illumination is high and not enough records  interpolation artifacts

97 Jaroslav Křivánek – Radiance Caching 97/123 Adaptive Radiance Caching Adaptive caching prevents interpolation artifacts

98 Jaroslav Křivánek – Radiance Caching 98/123 Adaptive Radiance Caching Current record density criterion Borrowed from irradiance caching Designed for diffuse indirect term Based solely on the scene geometry Might fail for glossy term

99 Jaroslav Křivánek – Radiance Caching 99/123 Adaptive Radiance Caching Rate of change of illumination on glossy surfaces depends on Actual illumination conditions BRDF sharpness Viewing direction Record density criterion would be too complicated We propose adaptive criterion Based on a simple perceptual metric

100 Jaroslav Křivánek – Radiance Caching 100/123 Adaptive Radiance Caching Our approach If discontinuity detected in the overlap area Decrease radius p1p1 p2p2 p If | L1(p) – L2(p) | >  then decrease radius Based on the Weber law

101 Jaroslav Křivánek – Radiance Caching 101/123 Adaptive Caching – Results Without adaptive caching – interpolation artifacts

102 Jaroslav Křivánek – Radiance Caching 102/123 Adaptive Caching – Results With adaptive caching – smooth interpolation

103 Jaroslav Křivánek – Radiance Caching 103/123 Adaptive Caching – Results

104 Jaroslav Křivánek – Radiance Caching 104/123 Adaptive Caching – Results Non-adaptive caching

105 Jaroslav Křivánek – Radiance Caching 105/123 Adaptive Caching – Results Adaptive caching

106 Jaroslav Křivánek – Radiance Caching 106/123 Adaptive Caching – Results

107 Jaroslav Křivánek – Radiance Caching 107/123 Adaptive Caching – Results Adaptation to BRDF sharpness

108 Jaroslav Křivánek – Radiance Caching 108/123 Adaptive Caching – Results Adaptation to BRDF sharpness

109 Jaroslav Křivánek – Radiance Caching 109/123 Adaptive Caching – Results Adaptation to BRDF sharpness

110 Jaroslav Křivánek – Radiance Caching 110/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

111 Jaroslav Křivánek – Radiance Caching 111/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

112 Jaroslav Křivánek – Radiance Caching 112/123 Results Direct vs. Indirect illumination video Radiance caching vs. Monte Carlo video

113 Jaroslav Křivánek – Radiance Caching 113/123 Results – Radiance Caching vs. Monte Carlo

114 Jaroslav Křivánek – Radiance Caching 114/123 Results – Radiance Caching vs. Monte Carlo

115 Jaroslav Křivánek – Radiance Caching 115/123 Results Walt Disney Hall video

116 Jaroslav Křivánek – Radiance Caching 116/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

117 Jaroslav Křivánek – Radiance Caching 117/123 Radiance Caching – Overview Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

118 Jaroslav Křivánek – Radiance Caching 118/123 Conclusions Main contribution: Radiance Caching Ray tracing based algorithm for computing indirect illumination on glossy surfaces with low-frequency BRDFs Extends irradiance caching [Ward et al. 1988], [Ward and Heckbert 1992] Allows interpolation on surfaces with view- dependent BRDF

119 Jaroslav Křivánek – Radiance Caching 119/123 Conclusions …Radiance Caching Compared to radiosity More general and robust lower memory consumption Compared to pure Monte Carlo Faster Suppresses noise

120 Jaroslav Křivánek – Radiance Caching 120/123 Conclusions More contributions 1. Two new methods for translational radiance gradient computation 2. Fast spherical harmonics rotation 3. Adaptive refinement for radiance caching 4. Solution of practical problems in radiance and irradiance caching Solve sub-problems of radiance caching 1. and 2. can be used for other purposes

121 Jaroslav Křivánek – Radiance Caching 121/123 Future Work Much to do to arrive at images like this one…

122 Jaroslav Křivánek – Radiance Caching 122/123 Future Work Adaptive hemisphere sampling Use of localized basis for incoming radiance representation (e.g. wavelets) Sample only important part of the hemisphere Use frequency analysis of light transport [Durand et al. 2005] to Design a better interpolation error criterion of radiance caching Classify transport path and choose the most suitable means for solving each class

123 Jaroslav Křivánek – Radiance Caching 123/123 Thank You for your Attention ? ?

124 Jaroslav Křivánek – Radiance Caching 124/123 Bibliography [Křivánek et al. 2005a]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. [Křivánek et al. 2005b]Jaroslav Křivánek, Pascal Gautron, Kadi Bouatouch, and Sumanta Pattanaik. Improved radiance gradient computation. In SCCG ’05: Proceedings of the 21th spring conference on Computer graphics. ACM Press, 2005. [Křivánek et al. 2005c]Jaroslav Křivánek, Jaakko Konttinen, Sumanta Pattanaik, and Kadi Bouatouch. Fast approximation to spherical harmonic rotation. Technical Report 1728, IRISA, Rennes, France, July 2005. [Gautron et al. 2004]Pascal Gautron, Jaroslav Křivánek, Kadi Bouatouch, and Sumanta N. Pattanaik. Radiance cache splatting: A GPU-friendly global illumination algorithm. In Rendering Techniques 2005, Eurographics Symposium on Rendering, June 2005.

125 Jaroslav Křivánek – Radiance Caching 125/123 Bibliography [Immel et al. 1986]David S. Immel, Michael F. Cohen, and Donald P. Greenberg. A radiosity method for non-diffuse environments. In SIGGRAPH ’86 Proceedings, pages 133–142, New York, NY, USA, 1986. ACM Press. [Sillion et al. 1991]François Sillion, James R. Arvo, Spehne H. Westin, and Donald P. Greenberg. A global illumination solution for general reflectance distributions. In SIGGRAPH ’91 Proceedings, pages 187–196, New York, NY, USA, 1991. ACM Press. [Auperle and Hanrahan 1993]Larry Aupperle and Pat Hanrahan. A hierarchical illumination algorithm for surfaces with glossy reflection. In SIGGRAPH ’93 Proceedings, pages 155–162, New York, NY, USA, 1993. ACM Press. [Cook et al. 1984]Robert L. Cook, Thomas Porter, and Loren Carpenter. Distributed ray tracing. In SIGGRAPH ’84 Proceedings, pages 137–145, 1984.

126 Jaroslav Křivánek – Radiance Caching 126/123 Bibliography [Kajiya 1986]James T. Kajiya. The rendering equation. In SIGGRAPH ’86 Proceedings, pages 143–150, New York, NY, USA, 1986. ACM Press. [Veach 1997]Eric Veach. Robust Monte Carlo Methods for Light Transport Simulation. PhD thesis, Stanford Universty, December 1997. [Bala et al. 1999]Kavita Bala, Julie Dorsey, and Seth Teller. Radiance interpolants for accelerated bounded-error ray tracing. ACM Trans. Graph., 18(3):213–256, 1999. [Smyk et al. 2005]Miłosław Smyk, Shin ichi Kinuwaki, Roman Durikovic, and Karol Myszkowski. Temporally coherent irradiance caching for high quality animation rendering. Computer Graphics Forum (Proceedings of EUROGRAPHICS ’05), 24(3), 2005.

127 Jaroslav Křivánek – Radiance Caching 127/123 Bibliography [Durand et al. 2005]Frédo Durand, Nicolas Holzschuch, Cyril Soler, Eric Chan, and François X. Sillion. A frequency analysis of light transport. ACM Trans. Graph. (Proceedings of SIGGRAPH 2005), 24(3):1115–1126, 2005. [Ward et al. 1988]Gregory J. Ward, Francis M. Rubinstein, and Robert D. Clear. A ray tracing solution for diffuse interreflection. In SIGGRAPH ’88 Proceedings, pages 85–92, New York, NY, USA, 1988. ACM Press. [Ward and Heckbert 1992]Gregory J. Ward and Paul S. Heckbert. Irradiance gradients. In Proceedings of the Third Eurographics Workshop on Rendering, pages 85–98, 1992. [Arvo 1994] James Arvo. The irradiance Jacobian for partially occluded polyhedral sources. In SIGGRAPH ’94 Proceedings, pages 343–350, New York, NY, USA, 1994. ACM Press.

128 Jaroslav Křivánek – Radiance Caching 128/123 Bibliography [Holzschuch and Sillion 1995]Nicolas Holzschuch and François Sillion. Accurate computation of the radiosity gradient with constant and linear emitters. In Sixth Eurographics Workshop on Rendering, June 1995. [Annen et al. 2004]Thomas Annen, Jan Kautz, Frédo Durand, and Hans-Peter Seidel. Spherical harmonic gradients for mid-range illumination. In Proceedings of the Eurographics Symposium on Rendering 2004, pages 331–336. Eurographics Association, 2004. [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.

129 Jaroslav Křivánek – Radiance Caching 129/123 Bibliography [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 13 th Eurographics workshop on Rendering, pages 291–296. Eurographics Association, 2002.

130 Jaroslav Křivánek – Radiance Caching 130/123 Appendix – Fast Spherical Harmonics Rotation Caching scheme Incoming radiance representation Interpolation Outgoing radiance computation Gradient computation Fast spherical harmonics rotation Adaptive radiance caching Results Conclusions

131 Jaroslav Křivánek – Radiance Caching 131/123 Why Rotation? Align coordinate frames in interpolation pp1p1 R

132 Jaroslav Křivánek – Radiance Caching 132/123 SH Rotation – Problem Definition Given a spherical function, represented by coefficients , find coefficients , representing.

133 Jaroslav Křivánek – Radiance Caching 133/123 SH Rotation Matrix SH invariant w.r.t. the rotation Given a 3D rotation, find the matrix R

134 Jaroslav Křivánek – Radiance Caching 134/123 SH Rotation – Previous Work Molecular Chemistry [Ivanic and Ruedenberg 1996] [Choi et al. 1999] Computer Graphics [Kautz et al. 2002] O(n 3 ) complexity Slow Bottleneck of interpolation

135 Jaroslav Křivánek – Radiance Caching 135/123 SH Rotation – Our Contribution Fast, approximate rotation [Křivánek et al. 2005c] Based on replacing the SH rotation matrix by its Taylor expansion 4-6 times faster than [Kautz et al. 2002]

136 Jaroslav Křivánek – Radiance Caching 136/123 Rotation Procedure Decompose the 3D rotation into ZYZ Euler angles: R = R Z (  ) R Y (  ) R Z (  ) Rotation around Z is simple and fast Rotation around Y still a problem

137 Jaroslav Křivánek – Radiance Caching 137/123 Rotation Procedure – Taylor Expansion

138 Jaroslav Křivánek – Radiance Caching 138/123 Rotation Procedure – Taylor Expansion

139 Jaroslav Křivánek – Radiance Caching 139/123 Rotation Procedure – Taylor Expansion “1.5-th order Taylor expansion” Very sparse matrix

140 Jaroslav Křivánek – Radiance Caching 140/123 Rotation Procedure 1. Decompose the 3D rotation into ZYZ Euler angles: R = R Z (  ) R Y (  ) R Z (  ) 2. Rotate around Z by  3. Use the “1.5-th order” Taylor expansion to rotate around Y by  4. Rotate around Z by 

141 Jaroslav Křivánek – Radiance Caching 141/123 SH Rotation – Results L2 error for a unit length input vector

142 Jaroslav Křivánek – Radiance Caching 142/123 SH Rotation – Results

143 Jaroslav Křivánek – Radiance Caching 143/123 SH Rotation – Results


Download ppt "Radiance Caching for Global Illumination Computation on Glossy Surfaces A dissertation prepared by Jaroslav Křivánek under the joint supervision of Kadi."

Similar presentations


Ads by Google