+ All Categories
Home > Documents > Real-time Shading with Filtered Importance Sampling

Real-time Shading with Filtered Importance Sampling

Date post: 25-Jan-2016
Category:
Upload: fionn
View: 28 times
Download: 3 times
Share this document with a friend
Description:
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. Goal. - PowerPoint PPT Presentation
Popular Tags:
42
Real-time Shading with Real-time Shading with Filtered Importance Filtered Importance Sampling Sampling Jaroslav Jaroslav Křivánek Křivánek Czech Technical University in Czech Technical University in Prague Prague Mark Colbert Mark Colbert University of Central Florida University of Central Florida
Transcript
Page 1: Real-time Shading with  Filtered Importance Sampling

Real-time Shading with Real-time Shading with Filtered Importance SamplingFiltered Importance Sampling

Jaroslav Jaroslav KřivánekKřivánekCzech Technical University in PragueCzech Technical University in PragueMark ColbertMark ColbertUniversity of Central FloridaUniversity of Central Florida

Page 2: Real-time Shading with  Filtered Importance Sampling

• material design interfaces

• rendering algorithm to back up the interface

• immediate feedback

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 22

MotivationMotivation

Page 3: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 33

GoalGoal

• image-based lighting (environment maps)– improves material perception [Fleming et al. 2003]

point light natural light

images [Fleming et al. 2003]

Page 4: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 44

GoalGoal

• arbitrary materials– low to high gloss, different BRDF models

images by Pat Hanrahan

Page 5: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 55

GoalGoal

• dynamic materials, geometry, lighting– no pre-computation

• production pipeline friendly– minimal code base / single GPU shader

• real-time shadows (env. map)– not necessarily

Page 6: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 66

Desired ResultsDesired Results

Page 7: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 77

Related WorkRelated 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 ]

Page 8: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 88

OverviewOverview

• Motivation• Goal• Related Work• Shading Algorithm• Theory• Real-time Shadows• Results• Conclusion

Page 9: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 99

BRDF Importance SamplingBRDF Importance Sampling

• standard in MC ray tracing

• not used on the GPU

Page 10: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 1010

Deterministic SamplingDeterministic Sampling

• aliasing

40 samples per pixel

Page 11: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 1111

Our ApproachOur Approach

• filtered importance sampling– less filtering where samples are denser– more filtering where they are sparser

),(

1 sizefilter

oipN

Page 12: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 1212

FilteringFiltering

• MIP-maps• level proportional to

log of filter size• independent

of the BRDF

Page 13: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 1313

Filtered Importance SamplingFiltered Importance Sampling

40 samples per pixel

Page 14: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 1414

OverviewOverview

• Motivation• Goal• Related Work• Shading Algorithm• Theory• Real-time Shadows• Results• Conclusion

Page 15: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 1515

Underlying TheoryUnderlying Theory

• why theory? – identify approximations – suggest improvements

• … sampling & filtering– signal processing

Page 16: Real-time Shading with  Filtered Importance Sampling

sample

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 1616

Sampling and ReconstructionSampling and Reconstruction

aliasedoriginal

reconstruct

alias = integration error

DC-term = integral

Page 17: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 1717

Application to Importance SamplingApplication to Importance Sampling

• problem: non-uniform samples

Page 18: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 1818

Conceptual ProcedureConceptual Procedurewarp

(inverse BRDF IS)

pre-filter (=convolve)

warp back(BRDF IS)

Page 19: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 1919

PracticePractice

• isotropic filter approximation

Page 20: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 2020

ApproximationsApproximations

• isotropic filter shape• constant BRDF / PDF ratio across filter support• tri-linear filtering (MIP-map)

Page 21: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 2121

Anisotropic Filtering ExperimentsAnisotropic Filtering Experiments

• anisotropic filter approximation

Page 22: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 2222

• tex2Dgrad for anisotropic texture look-up• worse image quality – still don’t know why

Anisotropic Filtering ExperimentsAnisotropic Filtering Experiments

16x anisotropic filter

Page 23: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 2323

OverviewOverview

• Motivation• Goal• Related Work• Shading Algorithm• Theory• Real-time Shadows• Results• Conclusion

Page 24: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 2424

• environment importance sampling (bright light sources = strongest shadows)

Real-time ShadowsReal-time Shadows

Page 25: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 2525

• shadow map for each sample

Real-time ShadowsReal-time Shadows

Page 26: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 2626

• convert to spherical harmonics at each texel

visibility function

Real-time ShadowsReal-time Shadows

Page 27: Real-time Shading with  Filtered Importance Sampling

Real-time ShadowsReal-time Shadows

• spatial filtering

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 2727

no filtering after filtering

Page 28: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 2828

• use for rendering

– diffuse• SH coefficient dot product

– glossy• attenuate each sample by the visibility

Real-time ShadowsReal-time Shadows

Page 29: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 2929

OverviewOverview

• Motivation• Goal• Related Work• Shading Algorithm• Theory• Real-time Shadows• Results• Conclusion

Page 30: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 3030

FIS Results – RMSFIS Results – RMS

Environment Sampling Filtered SamplingReference

n =

35

Sam

ples

n =

17

100

S

ampl

es

Page 31: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 3131

FIS Results – Complex GeometryFIS Results – Complex Geometry

5 Samples 50 Samples

200 Samples Reference

50 S

ampl

es

Page 32: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 3232

FIS Results – BRDF AnisotropyFIS Results – BRDF Anisotropy

• limited anisotropy

x = 0.01x = 0.08

x = 0.01x = 0.29

x = 0.01x = 0.01

Page 33: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 3333

Shadows ResultsShadows ResultsRe

fere

nce

(30,

000

Sam

ples

)O

ur Method

(16 Samples)

Visu

alEr

ror

SH v. Ref 8 samples 16 samples 64 samples

Page 34: Real-time Shading with  Filtered Importance Sampling

• NVIDIA GeForce 8800 GTX, Intel Core2 Duo, 512x512

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 3434

Shadows PerformanceShadows Performance

Page 35: Real-time Shading with  Filtered Importance Sampling

• NVIDIA GeForce 8800 GTX, Intel Core2 Duo, 512x512

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 3535

Shadows PerformanceShadows Performance

polygon countpolygon count

Page 36: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 3636

Video

Page 37: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 3737

ConclusionConclusion

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

Page 38: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 3838

AcknowledgementsAcknowledgements

• Dan Sýkora• Petr Olšák• Czech Ministry of Education

– “Center for Computer Graphics”• Aktion grant• US National Science Foundation

Page 39: Real-time Shading with  Filtered Importance Sampling

Additional SlidesAdditional Slides

Page 40: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 4040

Numerical Integration as Numerical Integration as Signal ReconstructionSignal Reconstruction

• integral = DC term• integration by sampling

1.sample the function2.reconstruct the DC term

• insufficient sampling -> aliasing• alias may affect the DC term -> error• anti-aliasing – pre-filtering

Page 41: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 4141

Anti-aliasing by Pre-filteringAnti-aliasing by Pre-filtering

reconstruct

sample

band-limit

Page 42: Real-time Shading with  Filtered Importance Sampling

KřKřiivánek, vánek, ColbertColbertReal-time shading with Filtered Importance SamplingReal-time shading with Filtered Importance Sampling 4242

Stochastic SamplingStochastic Sampling

• noise• slower on the

GPU

40 samples per pixel


Recommended