1 radiance workshop 2004 – fribourg, switzerland radiance caching for efficient global...
Post on 01-Apr-2015
216 Views
Preview:
TRANSCRIPT
Radiance Workshop 2004 – Fribourg, Switzerland 1
Radiance Caching for Efficient Global Illumination Computation
J. Křivánek P. Gautron
S. Pattanaik K. Bouatouch
3rd International Radiance Workshop
11 - 12 October 2004, Fribourg, Switzerland
Radiance Workshop 2004 – Fribourg, Switzerland 2
High Quality GI
The Day After Tomorrow, © 2004 20th Century Fox
Shrek 2, © 2004 PDI/DreamWorks
Radiance Workshop 2004 – Fribourg, Switzerland 3
Global Illumination… How?
Lo(P, ωo) ∫ Li(P, ωi)= * BRDF(ωo, ωi) *cos(θ)dωi
Radiance Workshop 2004 – Fribourg, Switzerland 4
Monte Carlo
Shooting Gathering
Lo(P, ωo) ∫ Li(P, ωi)= * BRDF(ωo, ωi) *cos(θ)dωi
No analytical solution
Radiance Workshop 2004 – Fribourg, Switzerland 5
Shooting
Radiance Workshop 2004 – Fribourg, Switzerland 6
Shooting
Radiance Workshop 2004 – Fribourg, Switzerland 7
Shooting
Final gathering: costly
Photon map only for indirect diffuse
Distribution ray tracing for non diffuse: noisy
Radiance Workshop 2004 – Fribourg, Switzerland 8
Gathering
Radiance Workshop 2004 – Fribourg, Switzerland 9
Gathering
Random sampling: noisy
High quality: many rays
Support for glossy GI
Radiance Workshop 2004 – Fribourg, Switzerland 10
Irradiance Caching
Sparse computation of indirect diffuse lighting
Radiance Workshop 2004 – Fribourg, Switzerland 11
Irradiance CachingSparse computation of indirect diffuse lighting
Radiance Workshop 2004 – Fribourg, Switzerland 12
Irradiance Caching
Interpolation
Sparse computation of indirect diffuse lighting
Radiance Workshop 2004 – Fribourg, Switzerland 13
GradientsWhy?
Without gradients With gradients
Images from "Irradiance Gradients", Gregory J. Ward, Paul S. HeckbertEurographics Workshop on Rendering 1992
Radiance Workshop 2004 – Fribourg, Switzerland 14
Gradients
ni
n
E = Ei + …
Radiance Workshop 2004 – Fribourg, Switzerland 15
Rotational gradient
ni
n
ni
n
θ
E = Ei + (ni x n)r Ei
E = Ei + …
Radiance Workshop 2004 – Fribourg, Switzerland 16
Translational gradient
ni
n
D
E = Ei + (ni x n)r Ei
+ Dt Ei
Radiance Workshop 2004 – Fribourg, Switzerland 17
Non diffuse surfaces
Indirect glossy: distribution ray tracing
High quality: many rays
Irradiance values: indirect diffuse
Radiance Workshop 2004 – Fribourg, Switzerland 18
Contributions
BDRF-based selection of record points
Novel translational gradient
Extension to indirect glossy lighting
Low frequency: records
High frequency: distribution ray tracing
Radiance Workshop 2004 – Fribourg, Switzerland 19
Outline
Introduction
IC for glossy surfaces
Hemispherical data representation
Radiance gradients
Outgoing radiance computation
Results
Conclusion
Radiance Workshop 2004 – Fribourg, Switzerland 20
Outline
Introduction
IC for glossy surfaces
Hemispherical data representation
Radiance gradients
Outgoing radiance computation
Results
Conclusion
Radiance Workshop 2004 – Fribourg, Switzerland 21
Caching on glossy surfaces
Need hemispherical data representation
Radiance Workshop 2004 – Fribourg, Switzerland 22
Caching on glossy surfaces
ni
n
?
Need new gradients
Radiance Workshop 2004 – Fribourg, Switzerland 23
Outline
Introduction
IC for glossy surfaces
Hemispherical data representation
Radiance gradients
Outgoing radiance computation
Results
Conclusion
Radiance Workshop 2004 – Fribourg, Switzerland 24
Hemispherical Functions
Original Function Piecewise linear approximation
Need a more compact and smoothrepresentation
Better fitting Fast computation of integrals
Radiance Workshop 2004 – Fribourg, Switzerland 25
Orthogonal Polynomials
fi = f(x)bi(x)dx f(x) = fi bi(x)
g(x) = gi bi(x) f(x)g(x)dx = fi gi
Radiance Workshop 2004 – Fribourg, Switzerland 26
Application to GI
Incident Radiance BRDF
dot product
Radiance Workshop 2004 – Fribourg, Switzerland 27
Spherical Harmonics
(0,0)
(1,-1)
(2,-2) (2,-1) (2,0) (2,1) (2,2)
(1,0) (1,1)
Radiance Workshop 2004 – Fribourg, Switzerland 28
Hemispherical Harmonics
(0,0)
(1,-1)
(2,-2) (2,-1) (2,0) (2,1) (2,2)
(1,0) (1,1)
A Novel Hemispherical Basis for Accurate and Efficient RenderingP. Gautron, J. Křivànek, S. Pattanaik, K. Bouatouch, EGSR 04
Radiance Workshop 2004 – Fribourg, Switzerland 29
Why (Hemi)Spherical harmonics?
Ease of use
Rotation support
Radiance Workshop 2004 – Fribourg, Switzerland 30
Representation Limitations
Bandlimited: "ringing" artifacts
Limit to low-frequency BRDFs
Radiance Workshop 2004 – Fribourg, Switzerland 31
Adaptive BRDF Representation
Low frequency"(H)SH-Friendly"
High frequency
Why?
Ward BRDF with same parameters
Radiance Workshop 2004 – Fribourg, Switzerland 32
Adaptive BRDF RepresentationHow?
BRDF = 4D FunctionParabolic Parameterization
Radiance Workshop 2004 – Fribourg, Switzerland 33
Incoming Radiance
λlm (P) = Li(P, ωi)Bl
m(ωi) d ωi∫
Same principle as Irradiance Caching
Radiance Workshop 2004 – Fribourg, Switzerland 34
Incoming Radiance
λlm (P) = Li(P, ωi)Bl
m(ωi) d ωi∫
Same principle as Irradiance Caching
(H)SH
Radiance Workshop 2004 – Fribourg, Switzerland 35
Outline
Introduction
IC for glossy surfaces
Hemispherical data representation
Radiance gradients
Outgoing radiance computation
Results
Conclusion
Radiance Workshop 2004 – Fribourg, Switzerland 36
Radiance Gradients
ni
n
(H)SH
Radiance Workshop 2004 – Fribourg, Switzerland 37
Rotational gradient
ni
n
Rotation Matrix
(H)SH
(H)SH= R
ni
n
θ
Radiance Workshop 2004 – Fribourg, Switzerland 38
Translational gradient
D
ni
n
(H)SH
Goal
(H)SH =∂ (H)SH
∂ x, ∂ (H)SH
∂ y, 0
Radiance Workshop 2004 – Fribourg, Switzerland 39
Translational GradientNumerical Method
p
Radiance Workshop 2004 – Fribourg, Switzerland 40
Translational GradientNumerical Method
p Δx p'
Radiance Workshop 2004 – Fribourg, Switzerland 41
Translational GradientNumerical Method
p Δx p'
∂ λlm
∂ x =λ'lm - λl
m
Δx
λlm = *Li( )*Bl
m( )
λ'lm = *Li( )*Blm( )
*Li( )*Blm( )θk, ΦkΩkΣ
k=1
N
λlm =
λ'lm = *Li( )*Blm( )Ω'kΣ
k=1
N
θk, Φk
θk, Φk θ'k, Φ'k
Radiance Workshop 2004 – Fribourg, Switzerland 42
Translational GradientAnalytical Method
*Li ( )*Blm( )θk, ΦkΩkΣ
k=1
N
λlm = θk, Φk
=∂∂ x
, ∂∂ y
, 0
Σk=1
N
∂ λlm =
∂ xLi (θk, Φk)*
+Ωk ∂ x
∂ Blm(θk, Φk)
∂ Ωk
∂ xBl
m(θk, Φk)
Radiance Workshop 2004 – Fribourg, Switzerland 43
Outline
Introduction
IC for glossy surfaces
Hemispherical data representation
Radiance gradients
Outgoing radiance computation
Results
Conclusion
Radiance Workshop 2004 – Fribourg, Switzerland 44
Outgoing Radiance
ni
n
(H)SH (H
)SHRi= dx+ ∂
∂ x(H)SH
+∂∂ y
(H)SH
dy
Radiance Workshop 2004 – Fribourg, Switzerland 45
Outgoing Radiance
ni
n
=Λ(P)
Ridx+
∂ Λi
∂ xΣi S
Λi dy∂ Λi
∂ y+ wi(P)
Σi S
wi(P)
Radiance Workshop 2004 – Fribourg, Switzerland 46
Outgoing Radiance
Incident Radiance BRDF
dot product
Radiance Workshop 2004 – Fribourg, Switzerland 47
Outline
Introduction
IC for glossy surfaces
Hemispherical data representation
Radiance gradients
Outgoing radiance computation
Results
Conclusion
Radiance Workshop 2004 – Fribourg, Switzerland 48
Stills comparison
P4 2.2GHz, 512MB RAM
Monte Carlo Path Tracing Radiance Caching
Rendering time: 155s
Radiance Workshop 2004 – Fribourg, Switzerland 49
Stills comparison
Monte Carlo Path Tracing
Radiance Caching
Radiance Workshop 2004 – Fribourg, Switzerland 50
Video: Cornell Box
Radiance Workshop 2004 – Fribourg, Switzerland 51
Video: Flamingo
Radiance Workshop 2004 – Fribourg, Switzerland 52
Outline
Introduction
IC for glossy surfaces
Hemispherical data representation
Radiance gradients
Outgoing radiance computation
Results
Conclusion
Radiance Workshop 2004 – Fribourg, Switzerland 53
Conclusion
Extension of irradiance caching to radiance caching
Definition of new translational gradient
Quality improvement
Efficiency improvement
Independent from distribution
Independent from basis functions
Radiance Workshop 2004 – Fribourg, Switzerland 54
Future Work
"All-frequency" hemispherical representation
Hardware support
Radiance Workshop 2004 – Fribourg, Switzerland 55
Any Questions ?
Rendered using Radiance Caching
top related