Real-time Shading with Filtered Importance Sampling Jaroslav Křivánek Czech Technical University in Prague Mark Colbert University of Central Florida
material design interfaces rendering algorithm to back up the interface immediate feedback Křivánek, Colbert Real-time shading with Filtered Importance Sampling2 Motivation
3 Goal image-based lighting (environment maps) –improves material perception [Fleming et al. 2003] point light natural light images [Fleming et al. 2003]
Křivánek, Colbert Real-time shading with Filtered Importance Sampling4 Goal arbitrary materials –low to high gloss, different BRDF models images by Pat Hanrahan
Křivánek, Colbert Real-time shading with Filtered Importance Sampling5 Goal dynamic materials, geometry, lighting –no pre-computation production pipeline friendly –minimal code base / single GPU shader real-time shadows (env. map) –not necessarily
Křivánek, Colbert Real-time shading with Filtered Importance Sampling6 Desired Results
Křivánek, Colbert Real-time shading with Filtered Importance Sampling7 Related Work pre-filtered environment maps [ Kautz et al ] frequency-space rendering [ Ramamoorthi et al ], [ Ng et al ] Efficient Reflectance and Visibility Approximations for Environment Map Rendering [ Green et al ] Efficient Rendering of Spatial Bi-directional Reflectance Distribution Functions [ McAllister et al ]
Křivánek, Colbert Real-time shading with Filtered Importance Sampling8 Overview Motivation Goal Related Work Shading Algorithm Theory Real-time Shadows Results Conclusion
Křivánek, Colbert Real-time shading with Filtered Importance Sampling9 BRDF Importance Sampling standard in MC ray tracing not used on the GPU
Křivánek, Colbert Real-time shading with Filtered Importance Sampling10 Deterministic Sampling aliasing 40 samples per pixel
Křivánek, Colbert Real-time shading with Filtered Importance Sampling11 Our Approach filtered importance sampling –less filtering where samples are denser –more filtering where they are sparser ),( 1 sizefilter oi pN
Křivánek, Colbert Real-time shading with Filtered Importance Sampling12 Filtering MIP-maps level proportional to log of filter size independent of the BRDF
Křivánek, Colbert Real-time shading with Filtered Importance Sampling13 Filtered Importance Sampling 40 samples per pixel
Křivánek, Colbert Real-time shading with Filtered Importance Sampling14 Overview Motivation Goal Related Work Shading Algorithm Theory Real-time Shadows Results Conclusion
Křivánek, Colbert Real-time shading with Filtered Importance Sampling15 Underlying Theory why theory? –identify approximations –suggest improvements … sampling & filtering –signal processing
sample Křivánek, Colbert Real-time shading with Filtered Importance Sampling 16 Sampling and Reconstruction aliased original reconstruct alias = integration error DC-term = integral
Křivánek, Colbert Real-time shading with Filtered Importance Sampling17 Application to Importance Sampling problem: non-uniform samples
Křivánek, Colbert Real-time shading with Filtered Importance Sampling18 Conceptual Procedure warp (inverse BRDF IS) pre-filter (=convolve) warp back (BRDF IS)
Křivánek, Colbert Real-time shading with Filtered Importance Sampling 19 Practice isotropic filter approximation
Křivánek, Colbert Real-time shading with Filtered Importance Sampling20 Approximations isotropic filter shape constant BRDF / PDF ratio across filter support tri-linear filtering (MIP-map)
Křivánek, Colbert Real-time shading with Filtered Importance Sampling 21 Anisotropic Filtering Experiments anisotropic filter approximation
Křivánek, Colbert Real-time shading with Filtered Importance Sampling 22 tex2Dgrad for anisotropic texture look-up worse image quality – still don’t know why Anisotropic Filtering Experiments 16x anisotropic filter
Křivánek, Colbert Real-time shading with Filtered Importance Sampling23 Overview Motivation Goal Related Work Shading Algorithm Theory Real-time Shadows Results Conclusion
Křivánek, Colbert Real-time shading with Filtered Importance Sampling24 environment importance sampling (bright light sources = strongest shadows) Real-time Shadows
Křivánek, Colbert Real-time shading with Filtered Importance Sampling25 shadow map for each sample Real-time Shadows
Křivánek, Colbert Real-time shading with Filtered Importance Sampling26 convert to spherical harmonics at each texel visibility function Real-time Shadows
spatial filtering Křivánek, Colbert Real-time shading with Filtered Importance Sampling27 no filteringafter filtering
Křivánek, Colbert Real-time shading with Filtered Importance Sampling28 use for rendering –diffuse SH coefficient dot product –glossy attenuate each sample by the visibility Real-time Shadows
Křivánek, Colbert Real-time shading with Filtered Importance Sampling 29 Overview Motivation Goal Related Work Shading Algorithm Theory Real-time Shadows Results Conclusion
Křivánek, Colbert Real-time shading with Filtered Importance Sampling30 FIS Results – RMS Environment Sampling Filtered SamplingReference n = 3 5 Samples n = Samples
Křivánek, Colbert Real-time shading with Filtered Importance Sampling31 FIS Results – Complex Geometry 5 Samples50 Samples 200 SamplesReference 50 Samples
Křivánek, Colbert Real-time shading with Filtered Importance Sampling32 FIS Results – BRDF Anisotropy limited anisotropy x = 0.01 x = 0.08 x = 0.01 x = 0.29 x = 0.01
Křivánek, Colbert Real-time shading with Filtered Importance Sampling33 Shadows Results Reference (30,000 Samples) Our Method (16 Samples) Visual Error SH v. Ref8 samples16 samples64 samples
NVIDIA GeForce 8800 GTX, Intel Core2 Duo, 512x512 Křivánek, Colbert Real-time shading with Filtered Importance Sampling34 Shadows Performance
NVIDIA GeForce 8800 GTX, Intel Core2 Duo, 512x512 Křivánek, Colbert Real-time shading with Filtered Importance Sampling 35 Shadows Performance polygon count
Křivánek, Colbert Real-time shading with Filtered Importance Sampling36 Video
Křivánek, Colbert Real-time shading with Filtered Importance Sampling37 Conclusion glossy surface shading –practical, relatively accurate, no pre-computation –signal processing theory shadows –fast but very approximate –no pre-computation implementation details: GPU Gems 3 Code: graphics.cs.ucf.edu/gpusampling/
Křivánek, Colbert Real-time shading with Filtered Importance Sampling38 Acknowledgements Dan Sýkora Petr Olšák Czech Ministry of Education –“Center for Computer Graphics” Aktion grant US National Science Foundation
Additional Slides
Křivánek, Colbert Real-time shading with Filtered Importance Sampling40 Numerical Integration as Signal Reconstruction integral = DC term integration by sampling 1.sample the function 2.reconstruct the DC term insufficient sampling -> aliasing alias may affect the DC term -> error anti-aliasing – pre-filtering
Křivánek, Colbert Real-time shading with Filtered Importance Sampling41 Anti-aliasing by Pre-filtering reconstruct sample band-limit
Křivánek, Colbert Real-time shading with Filtered Importance Sampling 42 Stochastic Sampling noise slower on the GPU 40 samples per pixel