real-time shading with filtered importance sampling
DESCRIPTION
Real-time Shading with Filtered Importance Sampling. Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague. Motivation. Dynamic BRDF and lighting Applications Material design Gaming Production pipeline friendly Single GPU shader - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/1.jpg)
Real-time Shading with Filtered Importance Sampling
Mark ColbertUniversity of Central Florida
Jaroslav KřivánekCzech Technical University in Prague
![Page 2: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/2.jpg)
Real-time Shading with Filtered Importance Sampling
Motivation• Dynamic BRDF and lighting• Applications– Material design– Gaming
• Production pipeline friendly– Single GPU shader– No precomputation– Minimal code base
![Page 3: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/3.jpg)
Demo
![Page 4: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/4.jpg)
Real-time Shading with Filtered Importance Sampling
Our Approach• BRDF proportional sampling• Environment map filtering
![Page 5: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/5.jpg)
Real-time Shading with Filtered Importance Sampling
Related Work• A Unified Approach to
Prefiltered Environment Maps[ Kautz et al. 2000 ]
• Efficient Rendering of Spatial Bi-directional Reflectance Distribution Functions[ McAllister et al. 2002 ]
• Efficient Reflectance and Visibility Approximations for Environment Map Rendering [ Green et al. 2007 ]
• Interactive Illumination with Coherent Shadow Maps[ Ritschel et al. 2007 ]
![Page 6: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/6.jpg)
Real-time Shading with Filtered Importance Sampling
Illumination Integral
• Ignores visibility[ Kozlowski and Kautz 2007 ]
• Computationally expensive
![Page 7: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/7.jpg)
Real-time Shading with Filtered Importance Sampling
Importance Sampling
• Choose a few random samples• Select according to the BRDF
![Page 8: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/8.jpg)
Real-time Shading with Filtered Importance Sampling
Importance Sampling Result
40 samples per pixel
![Page 9: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/9.jpg)
Real-time Shading with Filtered Importance Sampling
Random Numbers on the GPU• Relatively expensive – Random numbers per pixel (computation)– Random number textures (memory/indirection)
• Quasi-random sequence– Good sample distribution (no clumping)– Use same sequence for each pixel
![Page 10: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/10.jpg)
Real-time Shading with Filtered Importance Sampling
Same Sequence Result
40 samples per pixel
![Page 11: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/11.jpg)
Real-time Shading with Filtered Importance Sampling
Filtered Importance Sampling
• Filter environment mapbetween samples over hemisphere– Samples distributed by the BRDF
• Support approximately equivalent to:
![Page 12: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/12.jpg)
Real-time Shading with Filtered Importance Sampling
Filtering• Use MIP-maps• Level proportional to
log of filter size
![Page 13: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/13.jpg)
Real-time Shading with Filtered Importance Sampling
Implementation• Auto-generated MIP-map• Dual paraboloids• Single GPU Shader– Sum together filtered samples
![Page 14: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/14.jpg)
Real-time Shading with Filtered Importance Sampling
ResultsSphere – Grace Probe
Stoc
hasti
c
Refe
renc
e
No
Filte
ring
Our
Res
ult
![Page 15: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/15.jpg)
Real-time Shading with Filtered Importance Sampling
ResultsBunny – Ennis Probe
Stoc
hasti
c
No
Filte
ring
Refe
renc
e
Our
Res
ult
![Page 16: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/16.jpg)
Real-time Shading with Filtered Importance Sampling
Approximations• Constant BRDF across filter• Isotropic filter shape• Tri-linear filtering
![Page 17: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/17.jpg)
Real-time Shading with Filtered Importance Sampling
RMS Error
n=10
n=100
n=1000
Phong Reflection - Ennis Light Probe
![Page 18: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/18.jpg)
Real-time Shading with Filtered Importance Sampling
Performance512x512 Sphere
![Page 19: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/19.jpg)
Real-time Shading with Filtered Importance Sampling
Conclusions• Real-time glossy surface
reflections• Signal Processing Theory• Practical• Affords new interfaces• For more information:
GPU Gems 3• Download the code now!– graphics.cs.ucf.edu/gpusampling/
![Page 20: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/20.jpg)
Questions
![Page 21: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/21.jpg)
Additional Slides
![Page 22: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/22.jpg)
Real-time Shading with Filtered Importance Sampling
Performance
![Page 23: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/23.jpg)
Real-time Shading with Filtered Importance Sampling
• Product of lighting and BRDF– Requires bookkeeping– Too expensive
• Lighting• BRDF
Which distribution?
![Page 24: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/24.jpg)
Real-time Shading with Filtered Importance Sampling
Which distribution?• Product of lighting and BRDF• Lighting– Too many samples for glossy surfaces
• BRDF
![Page 25: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/25.jpg)
Real-time Shading with Filtered Importance Sampling
Which distribution?• Product of lighting and BRDF• Lighting• BRDF– Computationally efficient
![Page 26: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/26.jpg)
Real-time Shading with Filtered Importance Sampling
Environment Mapping• Dual Paraboloid
Error
Support Region
![Page 27: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/27.jpg)
Real-time Shading with Filtered Importance Sampling
Environment Mapping• Cube Maps– Low distortion– Accelerated by GPU– Decimation/reconstruction
filters non-spherical– Introduces Seams
![Page 28: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/28.jpg)
Real-time Shading with Filtered Importance Sampling
Environment Mapping• Latitude/Longitude– Too much distortion at poles
![Page 29: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/29.jpg)
Real-time Shading with Filtered Importance Sampling
Measured BRDF Data• Fast primitive distribution for illustration
[ Secord et al. 2002 ]
• Efficient BRDF importance sampling using a factored representation[ Lawrence et al. 2004 ]
• Probability Trees[ McCool and Harwood 1997 ]
![Page 30: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/30.jpg)
Real-time Shading with Filtered Importance Sampling
Importance Sampling
10
1
0
Random Sampleson Unit Square
PDF-Proportional Samples on Hemisphere
PDF Mapping
![Page 31: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/31.jpg)
Real-time Shading with Filtered Importance Sampling
Pseudocodefloat4 FilteredIS(float3 viewing : TEXCOORD1
uniform sampler2D env) : COLOR{ float4 c = 0; // sample loop for (int k=0; k < N; k++) { float2 xi = quasi_random_seq(k); float3 u = sample_material(xi); float pdf = p(u, viewing); float lod = compute_lod(u, pdf);
float3 L = tex2Dlod(env,float4(u, lod)); c += L*f(u,viewing)/pdf; } return c/N;}
![Page 32: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/32.jpg)
Real-time Shading with Filtered Importance Sampling
Filter Support
• Ideal• Isotropic approximation– Assume sample points are perfectly stratified– Implies area of 1 sample = 1 / N– Use Jacobian approximation for warping
function (Inverted PDF)– Support region of sample 1 / p(i, o) N
![Page 33: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/33.jpg)
Real-time Shading with Filtered Importance Sampling
Ideal Sample Filter Design
• h – Filter function• More expensive than
illumination integral
dhp
fLS k
ok
okiok )(
),(
cos),()(),(
![Page 34: Real-time Shading with Filtered Importance Sampling](https://reader036.vdocuments.net/reader036/viewer/2022081520/5681520f550346895dc05200/html5/thumbnails/34.jpg)
Real-time Shading with Filtered Importance Sampling
Approximate Sample Filter
• Estimate for sample • BRDF PDF– PDF is normalized BRDF– Near constant over single sample
• Low frequency cosine approximation– Use multiple samples to estimate effect
dhLp
fS ki
ok
kokok )()(
),(
cos),(),(