570 likes | 986 Views
3 rd International Radiance Workshop 11 - 12 October 2004, Fribourg, Switzerland. Radiance Caching for Efficient Global Illumination Computation. J. Křivánek P. Gautron S. Pattanaik K. Bouatouch. High Quality GI. The Day After Tomorrow, © 2004 20th Century Fox.
E N D
3rd International Radiance Workshop 11 - 12 October 2004, Fribourg, Switzerland Radiance Caching for Efficient Global Illumination Computation J. Křivánek P. Gautron S. Pattanaik K. Bouatouch Radiance Workshop 2004 – Fribourg, Switzerland
High Quality GI The Day After Tomorrow, © 2004 20th Century Fox Shrek 2, © 2004 PDI/DreamWorks Radiance Workshop 2004 – Fribourg, Switzerland
Global Illumination… How? ∫ Li(P, ωi) = Lo(P, ωo) * BRDF(ωo, ωi) *cos(θ)dωi Radiance Workshop 2004 – Fribourg, Switzerland
Monte Carlo ∫ Li(P, ωi) = Lo(P, ωo) * BRDF(ωo, ωi) *cos(θ)dωi No analytical solution Shooting Gathering Radiance Workshop 2004 – Fribourg, Switzerland
Shooting Radiance Workshop 2004 – Fribourg, Switzerland
Shooting Radiance Workshop 2004 – Fribourg, Switzerland
Shooting Final gathering: costly Photon map only for indirect diffuse Distribution ray tracing for non diffuse: noisy Radiance Workshop 2004 – Fribourg, Switzerland
Gathering Radiance Workshop 2004 – Fribourg, Switzerland
Gathering Support for glossy GI Random sampling: noisy High quality: many rays Radiance Workshop 2004 – Fribourg, Switzerland
Irradiance Caching Sparse computation of indirect diffuse lighting Radiance Workshop 2004 – Fribourg, Switzerland
Irradiance Caching Sparse computation of indirect diffuse lighting Radiance Workshop 2004 – Fribourg, Switzerland
Irradiance Caching Sparse computation of indirect diffuse lighting Interpolation Radiance Workshop 2004 – Fribourg, Switzerland
Gradients Why? Without gradients With gradients Images from "Irradiance Gradients", Gregory J. Ward, Paul S. Heckbert Eurographics Workshop on Rendering 1992 Radiance Workshop 2004 – Fribourg, Switzerland
Gradients ni n E = Ei + … Radiance Workshop 2004 – Fribourg, Switzerland
Rotational gradient ni n ni n + (ni x n) Ei r θ E = Ei E = Ei + … Radiance Workshop 2004 – Fribourg, Switzerland
Translational gradient ni n D + (ni x n) E = Ei + D Ei Ei r t Radiance Workshop 2004 – Fribourg, Switzerland
Non diffuse surfaces Irradiance values: indirect diffuse Indirect glossy: distribution ray tracing High quality: many rays Radiance Workshop 2004 – Fribourg, Switzerland
Contributions Extension to indirect glossy lighting BDRF-based selection of record points Low frequency: records High frequency: distribution ray tracing Novel translational gradient Radiance Workshop 2004 – Fribourg, Switzerland
Outline Introduction IC for glossy surfaces Hemispherical data representation Radiance gradients Outgoing radiance computation Results Conclusion Radiance Workshop 2004 – Fribourg, Switzerland
Outline Introduction IC for glossy surfaces Hemispherical data representation Radiance gradients Outgoing radiance computation Results Conclusion Radiance Workshop 2004 – Fribourg, Switzerland
Caching on glossy surfaces Need hemispherical data representation Radiance Workshop 2004 – Fribourg, Switzerland
Caching on glossy surfaces ni n ? Need new gradients Radiance Workshop 2004 – Fribourg, Switzerland
Outline Introduction IC for glossy surfaces Hemispherical data representation Radiance gradients Outgoing radiance computation Results Conclusion Radiance Workshop 2004 – Fribourg, Switzerland
Hemispherical Functions Original Function Piecewise linear approximation Need a more compact and smooth representation Fast computation of integrals Better fitting Radiance Workshop 2004 – Fribourg, Switzerland
Orthogonal Polynomials fi bi(x) f(x) = fi = f(x)bi(x)dx fi gi gi bi(x) g(x) = f(x)g(x)dx = Radiance Workshop 2004 – Fribourg, Switzerland
Application to GI Incident Radiance BRDF dot product Radiance Workshop 2004 – Fribourg, Switzerland
Spherical Harmonics (0,0) (1,-1) (1,0) (1,1) (2,-2) (2,-1) (2,0) (2,1) (2,2) Radiance Workshop 2004 – Fribourg, Switzerland
Hemispherical Harmonics (0,0) (1,-1) (1,0) (1,1) (2,-2) (2,-1) (2,0) (2,1) (2,2) A Novel Hemispherical Basis for Accurate and Efficient Rendering P. Gautron, J. Křivànek, S. Pattanaik, K. Bouatouch, EGSR 04 Radiance Workshop 2004 – Fribourg, Switzerland
Why (Hemi)Spherical harmonics? Ease of use Rotation support Radiance Workshop 2004 – Fribourg, Switzerland
Representation Limitations Bandlimited: "ringing" artifacts Limit to low-frequency BRDFs Radiance Workshop 2004 – Fribourg, Switzerland
Adaptive BRDF Representation Why? High frequency Low frequency "(H)SH-Friendly" Ward BRDF with same parameters Radiance Workshop 2004 – Fribourg, Switzerland
Adaptive BRDF Representation How? BRDF = 4D Function Parabolic Parameterization Radiance Workshop 2004 – Fribourg, Switzerland
Incoming Radiance ∫ λlm (P) = Li(P, ωi)Blm(ωi) d ωi Same principle as Irradiance Caching Radiance Workshop 2004 – Fribourg, Switzerland
Incoming Radiance ∫ λlm (P) = Li(P, ωi)Blm(ωi) d ωi (H)SH Same principle as Irradiance Caching Radiance Workshop 2004 – Fribourg, Switzerland
Outline Introduction IC for glossy surfaces Hemispherical data representation Radiance gradients Outgoing radiance computation Results Conclusion Radiance Workshop 2004 – Fribourg, Switzerland
Radiance Gradients ni n (H)SH Radiance Workshop 2004 – Fribourg, Switzerland
Rotational gradient ni n ni n θ = R (H)SH (H)SH Rotation Matrix Radiance Workshop 2004 – Fribourg, Switzerland
Translational gradient ni n (H)SH D ∂ ∂ 0 , , = (H)SH (H)SH (H)SH ∂ x ∂ y Goal Radiance Workshop 2004 – Fribourg, Switzerland
Translational Gradient Numerical Method p Radiance Workshop 2004 – Fribourg, Switzerland
Translational Gradient p' Δx Numerical Method p Radiance Workshop 2004 – Fribourg, Switzerland
Translational Gradient *Li( )*Blm( ) λlm= Ωk *Li( )*Blm( ) λlm= θk, Φk θk, Φk *Li( )*Blm( ) λ'lm= N N Σ Σ Ω'k *Li( )*Blm( ) λ'lm= θk, Φk θ'k, Φ'k k=1 k=1 ∂ λlm λ'lm-λlm p' p Δx = ∂ x Δx Numerical Method Radiance Workshop 2004 – Fribourg, Switzerland
Translational Gradient ∂ Blm(θk, Φk) ∂ x N N Σ Σ k=1 k=1 Ωk *Li( )*Blm( ) λlm = ∂λlm = ∂ Ωk θk, Φk θk, Φk Blm(θk, Φk) ∂ ∂ 0 , , ∂ x = ∂ x ∂ x ∂ y +Ωk Analytical Method Li(θk, Φk)* Radiance Workshop 2004 – Fribourg, Switzerland
Outline Introduction IC for glossy surfaces Hemispherical data representation Radiance gradients Outgoing radiance computation Results Conclusion Radiance Workshop 2004 – Fribourg, Switzerland
Outgoing Radiance ni n ∂ ∂ dx dy + + (H)SH (H)SH (H)SH ∂ x ∂ y (H)SH Ri = Radiance Workshop 2004 – Fribourg, Switzerland
Outgoing Radiance ni n i S i S Σ Σ ∂ Λi ∂ Λi Λ(P) Ri Λi dx dy = wi(P) + + ∂ x ∂ y wi(P) Radiance Workshop 2004 – Fribourg, Switzerland
Outgoing Radiance Incident Radiance BRDF dot product Radiance Workshop 2004 – Fribourg, Switzerland
Outline Introduction IC for glossy surfaces Hemispherical data representation Radiance gradients Outgoing radiance computation Results Conclusion Radiance Workshop 2004 – Fribourg, Switzerland
Stills comparison Monte Carlo Path Tracing Radiance Caching Rendering time: 155s P4 2.2GHz, 512MB RAM Radiance Workshop 2004 – Fribourg, Switzerland
Stills comparison Monte Carlo Path Tracing Radiance Caching Radiance Workshop 2004 – Fribourg, Switzerland
Video: Cornell Box Radiance Workshop 2004 – Fribourg, Switzerland