Download presentation

Presentation is loading. Please wait.

Published byJavion Hartfield Modified over 2 years ago

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

2
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

3
Demo

4
Real-time Shading with Filtered Importance Sampling Our Approach BRDF proportional sampling Environment map filtering

5
Real-time Shading with Filtered Importance Sampling Related Work A Unified Approach to Prefiltered Environment Maps [ Kautz et al ] Efficient Rendering of Spatial Bi-directional Reflectance Distribution Functions [ McAllister et al ] Efficient Reflectance and Visibility Approximations for Environment Map Rendering [ Green et al ] Interactive Illumination with Coherent Shadow Maps [ Ritschel et al ]

6
Real-time Shading with Filtered Importance Sampling Illumination Integral Ignores visibility [ Kozlowski and Kautz 2007 ] Computationally expensive

7
Real-time Shading with Filtered Importance Sampling Importance Sampling Choose a few random samples Select according to the BRDF

8
Real-time Shading with Filtered Importance Sampling Importance Sampling Result 40 samples per pixel

9
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

10
Real-time Shading with Filtered Importance Sampling Same Sequence Result 40 samples per pixel

11
Real-time Shading with Filtered Importance Sampling Filtered Importance Sampling Filter environment map between samples over hemisphere – Samples distributed by the BRDF Support approximately equivalent to:

12
Real-time Shading with Filtered Importance Sampling Filtering Use MIP-maps Level proportional to log of filter size

13
Real-time Shading with Filtered Importance Sampling Implementation Auto-generated MIP-map Dual paraboloids Single GPU Shader – Sum together filtered samples

14
Real-time Shading with Filtered Importance Sampling Results Sphere – Grace Probe Stochastic Reference No Filtering Our Result

15
Real-time Shading with Filtered Importance Sampling Results Bunny – Ennis Probe Stochastic No Filtering Reference Our Result

16
Real-time Shading with Filtered Importance Sampling Approximations Constant BRDF across filter Isotropic filter shape Tri-linear filtering

17
Real-time Shading with Filtered Importance Sampling RMS Error n=10 n=100 n=1000 Phong Reflection - Ennis Light Probe

18
Real-time Shading with Filtered Importance Sampling Performance 512x512 Sphere

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

20
Questions

21
Additional Slides

22
Real-time Shading with Filtered Importance Sampling Performance

23
Real-time Shading with Filtered Importance Sampling Product of lighting and BRDF – Requires bookkeeping – Too expensive Lighting BRDF Which distribution?

24
Real-time Shading with Filtered Importance Sampling Which distribution? Product of lighting and BRDF Lighting – Too many samples for glossy surfaces BRDF

25
Real-time Shading with Filtered Importance Sampling Which distribution? Product of lighting and BRDF Lighting BRDF – Computationally efficient

26
Real-time Shading with Filtered Importance Sampling Environment Mapping Dual Paraboloid Error Support Region

27
Real-time Shading with Filtered Importance Sampling Environment Mapping Cube Maps – Low distortion – Accelerated by GPU – Decimation/reconstruction filters non-spherical – Introduces Seams

28
Real-time Shading with Filtered Importance Sampling Environment Mapping Latitude/Longitude – Too much distortion at poles

29
Real-time Shading with Filtered Importance Sampling Measured BRDF Data Fast primitive distribution for illustration [ Secord et al ] Efficient BRDF importance sampling using a factored representation [ Lawrence et al ] Probability Trees [ McCool and Harwood 1997 ]

30
Real-time Shading with Filtered Importance Sampling Importance Sampling Random Samples on Unit Square PDF-Proportional Samples on Hemisphere PDF Mapping

31
Real-time Shading with Filtered Importance Sampling Pseudocode float4 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; }

32
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

33
Real-time Shading with Filtered Importance Sampling Ideal Sample Filter Design h – Filter function More expensive than illumination integral

34
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

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google