Real-time Shading with Filtered Importance Sampling Mark Colbert University of Central Florida...

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

Transcript of Real-time Shading with Filtered Importance Sampling Mark Colbert University of Central Florida...

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

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

Demo

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

Real-time Shading with Filtered Importance Sampling

Our Approach• BRDF proportional sampling• Environment map filtering

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

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

Real-time Shading with Filtered Importance Sampling

Importance Sampling Result

40 samples per pixel

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

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

Real-time Shading with Filtered Importance Sampling

Same Sequence Result

40 samples per pixel

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

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

Real-time Shading with Filtered Importance Sampling

Performance512x512 Sphere

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

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

Questions

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

Additional Slides

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

Real-time Shading with Filtered Importance Sampling

Performance

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

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

Real-time Shading with Filtered Importance Sampling

Environment Mapping• Dual Paraboloid

Error

Support Region

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

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

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 Mark Colbert University of Central Florida Jaroslav Křivánek Czech Technical University in Prague.

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),(),(