Real-time Shading with Filtered Importance Sampling Jaroslav Křivánek Czech Technical University in Prague Mark Colbert University of Central Florida.
Download ReportTranscript Real-time Shading with Filtered Importance Sampling Jaroslav Křivánek Czech Technical University in Prague Mark Colbert University of Central Florida.
Real-time Shading with Filtered Importance Sampling Jaroslav Křivánek Czech Technical University in Prague Mark Colbert University of Central Florida Motivation • material design interfaces • rendering algorithm to back up the interface • immediate feedback Křivánek, Colbert Real-time shading with Filtered Importance Sampling 2 Goal • image-based lighting (environment maps) – improves material perception [Fleming et al. 2003] images [Fleming et al. 2003] point light natural light Křivánek, Colbert Real-time shading with Filtered Importance Sampling 3 Goal • arbitrary materials – low to high gloss, different BRDF models images by Pat Hanrahan Křivánek, Colbert Real-time shading with Filtered Importance Sampling 4 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 Sampling 5 Desired Results Křivánek, Colbert Real-time shading with Filtered Importance Sampling 6 Related Work • pre-filtered environment maps [ Kautz et al. 2000 ] • frequency-space rendering [ Ramamoorthi et al. 2002 ], [ Ng et al. 2004 ] • Efficient Reflectance and Visibility Approximations for Environment Map Rendering [ Green et al. 2007 ] • Efficient Rendering of Spatial Bi-directional Reflectance Distribution Functions [ McAllister et al. 2002 ] Křivánek, Colbert Real-time shading with Filtered Importance Sampling 7 Overview • • • • • • • • Motivation Goal Related Work Shading Algorithm Theory Real-time Shadows Results Conclusion Křivánek, Colbert Real-time shading with Filtered Importance Sampling 8 BRDF Importance Sampling • standard in MC ray tracing • not used on the GPU Křivánek, Colbert Real-time shading with Filtered Importance Sampling 9 Deterministic Sampling • aliasing 40 samples per pixel Křivánek, Colbert Real-time shading with Filtered Importance Sampling 10 Our Approach • filtered importance sampling – less filtering where samples are denser – more filtering where they are sparser filter size N p 1 N p(wi , wo ) Number of samples Probability density function Křivánek, Colbert Real-time shading with Filtered Importance Sampling 11 Filtering • MIP-maps • level proportional to log of filter size • independent of the BRDF Křivánek, Colbert Real-time shading with Filtered Importance Sampling 12 Filtered Importance Sampling 40 samples per pixel Křivánek, Colbert Real-time shading with Filtered Importance Sampling 13 Overview • • • • • • • • Motivation Goal Related Work Shading Algorithm Theory Real-time Shadows Results Conclusion Křivánek, Colbert Real-time shading with Filtered Importance Sampling 14 Underlying Theory • why theory? – identify approximations – suggest improvements • … sampling & filtering – signal processing Křivánek, Colbert Real-time shading with Filtered Importance Sampling 15 Sampling and Reconstruction alias = integration error DC-term = integral aliased original sample reconstruct Křivánek, Colbert Real-time shading with Filtered Importance Sampling 16 Application to Importance Sampling • problem: non-uniform samples Křivánek, Colbert Real-time shading with Filtered Importance Sampling 17 Conceptual Procedure warp (inverse BRDF IS) pre-filter (=convolve) warp back (BRDF IS) Křivánek, Colbert Real-time shading with Filtered Importance Sampling 18 Practice • isotropic filter approximation Křivánek, Colbert Real-time shading with Filtered Importance Sampling 19 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 20 Anisotropic Filtering Experiments • anisotropic filter approximation Křivánek, Colbert Real-time shading with Filtered Importance Sampling 21 Anisotropic Filtering Experiments • tex2Dgrad for anisotropic texture look-up • worse image quality – still don’t know why 16x anisotropic filter Křivánek, Colbert Real-time shading with Filtered Importance Sampling 22 Overview • • • • • • • • Motivation Goal Related Work Shading Algorithm Theory Real-time Shadows Results Conclusion Křivánek, Colbert Real-time shading with Filtered Importance Sampling 23 Real-time Shadows • environment importance sampling (bright light sources = strongest shadows) Křivánek, Colbert Real-time shading with Filtered Importance Sampling 24 Real-time Shadows • shadow map for each sample Křivánek, Colbert Real-time shading with Filtered Importance Sampling 25 Real-time Shadows • convert to spherical harmonics at each texel visibility function Křivánek, Colbert Real-time shading with Filtered Importance Sampling 26 Real-time Shadows • spatial filtering no filtering after filtering Křivánek, Colbert Real-time shading with Filtered Importance Sampling 27 Real-time Shadows • use for rendering – diffuse • SH coefficient dot product – glossy • attenuate each sample by the visibility Křivánek, Colbert Real-time shading with Filtered Importance Sampling 28 Overview • • • • • • • • Motivation Goal Related Work Shading Algorithm Theory Real-time Shadows Results Conclusion Křivánek, Colbert Real-time shading with Filtered Importance Sampling 29 FIS Results – RMS Reference Filtered Sampling n = 17 100 Samples n=3 5 Samples Environment Sampling Křivánek, Colbert Real-time shading with Filtered Importance Sampling 30 50 Samples FIS Results – Complex Geometry 5 Samples 50 Samples 200 Samples Reference Křivánek, Colbert Real-time shading with Filtered Importance Sampling 31 FIS Results – BRDF Anisotropy • limited anisotropy ax = 0.01 ax = 0.01 ax = 0.01 ax = 0.08 Křivánek, Colbert Real-time shading with Filtered Importance Sampling ax = 0.01 ax = 0.29 32 Error Visual Our Method (16 Samples) Reference (30,000 Samples) Shadows Results SH v. Ref 8 samples 16 samples 64 samples Křivánek, Colbert Real-time shading with Filtered Importance Sampling 33 Shadows Performance • NVIDIA GeForce 8800 GTX, Intel Core2 Duo, 512x512 Křivánek, Colbert Real-time shading with Filtered Importance Sampling 34 Shadows Performance • NVIDIA GeForce 8800 GTX, Intel Core2 Duo, 512x512 polygon count Křivánek, Colbert Real-time shading with Filtered Importance Sampling 35 Video Křivánek, Colbert Real-time shading with Filtered Importance Sampling 36 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 Sampling 37 Acknowledgements • Dan Sýkora • Petr Olšák • Czech Ministry of Education – “Center for Computer Graphics” • Aktion grant • US National Science Foundation Křivánek, Colbert Real-time shading with Filtered Importance Sampling 38 Additional Slides 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 Sampling 40 Anti-aliasing by Pre-filtering band-limit sample Křivánek, Colbert Real-time shading with Filtered Importance Sampling reconstruct 41 Stochastic Sampling • noise • slower on the GPU 40 samples per pixel Křivánek, Colbert Real-time shading with Filtered Importance Sampling 42