Realtime Shading with Filtered Importance Sampling Jaroslav Kivnek

  • Slides: 42
Download presentation
Real-time Shading with Filtered Importance Sampling Jaroslav Křivánek Czech Technical University in Prague Mark

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 •

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]

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

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 –

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

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

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 [ Mc. Allister 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

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

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

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 –

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

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

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

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

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

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

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

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

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

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

Anisotropic Filtering Experiments • anisotropic filter approximation Křivánek, Colbert Real-time shading with Filtered Importance Sampling 21

Anisotropic Filtering Experiments • tex 2 Dgrad for anisotropic texture look-up • worse image

Anisotropic Filtering Experiments • tex 2 Dgrad for anisotropic texture look-up • worse image quality – still don’t know why 16 x 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

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 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

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 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

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 –

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

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

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

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 =

FIS Results – BRDF Anisotropy • limited anisotropy 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.

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 Ge. Force 8800 GTX, Intel Core 2 Duo, 512 x

Shadows Performance • NVIDIA Ge. Force 8800 GTX, Intel Core 2 Duo, 512 x 512 Křivánek, Colbert Real-time shading with Filtered Importance Sampling 34

Shadows Performance • NVIDIA Ge. Force 8800 GTX, Intel Core 2 Duo, 512 x

Shadows Performance • NVIDIA Ge. Force 8800 GTX, Intel Core 2 Duo, 512 x 512 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

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

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. 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

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

Additional Slides

Numerical Integration as Signal Reconstruction • integral = DC term • integration by sampling

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

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,

Stochastic Sampling • noise • slower on the GPU 40 samples per pixel Křivánek, Colbert Real-time shading with Filtered Importance Sampling 42