Real-time Shading with Filtered Importance Sampling Jaroslav Křivánek Czech Technical University in Prague Mark Colbert University of Central Florida.

Download Report

Transcript 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