Download presentation
Presentation is loading. Please wait.
Published byDonna Cook Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.