Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Theory of Monte Carlo Visibility Sampling

Similar presentations


Presentation on theme: "A Theory of Monte Carlo Visibility Sampling"— Presentation transcript:

1 A Theory of Monte Carlo Visibility Sampling
Ravi Ramamoorthi UC Berkeley John Anderson Pixar (now at Google) Mark Meyer Pixar Derek Nowrouzezahrai Disney Research Zurich University of Montreal

2 Motivation Soft shadows critical in high quality rendering
Monte Carlo sampling of visibility most common Which (non-adaptive) sampling patterns are better? Theory of Monte Carlo visibility sampling Focus on (binary) visibility only; not general rendering

3 Monte Carlo Soft Shadows
Light Pixel

4 Experiment: Sampling Strategies
circle light uniform jitter RMS 6.6%

5 Experiment: Sampling Strategies
circle light stratified RMS 8.3% Circle

6 Experiment: Sampling Strategies
square light uniform jitter RMS 13.4%

7 Experiment: Sampling Strategies
square light stratified RMS 10.4%

8 Contributions Theory of Visibility Sampling for Linear Lights
Uniform Jitter Sampling Lowest error at center of stratum (uniform sampling) Can avoid banding, keep low error with uniform jitter 2D Pixel-Light Fourier Analysis Planar Area Lights

9 Previous Work Early MC Sampling [Cook 86, Mitchell 87,96, HK 94]
Empirical Study Linear Lights [Ouellette & Fiume 01] Adaptive Sampling [Mitchell 91, Guo98] Adaptive Filtering [Hachisuka 08, …, this session] Shadow Coherence [Agrawala et al. 00, Egan et al. 11] Can leverage our approach Signal Processing and Frequency Analysis Space-Angle [Durand et al. 05] Sheared Visibility Spectrum [Egan et al. 11] Fourier Analysis of MC [Ouellete & Fiume 01, Durand 11]

10 Linear Lights: Discontinuities
Blocker Pixel 1 Discontinuity Visibility Single Discontinuity: Heaviside Function Two Discontinuities: Boxcar Function Many Discontinuities: Many Box Functions

11 Single Discontinuity: Uniform Sampling
Error of Uniform Sampling Error depends only on stratum of discontinuity Error depends only on discontinuity location Worst-Case, Variance (N = samples) Depends only on sample placement in stratum Visibility at Pixel Uniform Sampling Absolute Error

12 Single Discontinuity: Errors
Uniform Sampling is optimal (but bands, bias) Reduces variance by factor of 2 vs. stratified Benefits of uniform without banding? Stratified best unbiased method for 1 discontinuity, but… Sample Location Worst-Case RMS Error Variance End-pts of stratum e.g., QMC Halton Random (Jittered) Stratified Sampling Center (Uniform)

13 Two Discontinuities: Boxcar
1 Visibility Assume discontinuities in different strata For very complex visibility, stratification not useful anyway Strata 1 V Ground truth net visibility = = 1.5 Uniform Sampling: net visibility = 1+1 = 2, biased Stratified Sampling: net vis 00 / 01 / 10 / 11 = 0,1,2, high variance Uniform Jitter: net vis 00 / 01 / 10 / 11 = 0,1,2, low variance

14 Two Discontinuities: Errors
Uniform Jitter exploits correlation of discontinuities Error stays the same as in the single discontinuity case While other methods (stratified) double the variance Multiple discontinuities: separate into individual box functions Uniform Jitter has same variance as uniform Optimal with no bias or banding Sampling Method Worst-Case RMS Error Variance Stratified Uniform Jitter Uniform

15 Linear Light: Uniform Error Image (scaled up) Uniform 16 samples
3.97% RMS Error (best) Uniform causes banding

16 Linear Light: Uniform Jitter
Error Image (scaled up) Uniform Jitter 16 samples 4.21% RMS Error No banding, low error

17 Linear Light: Stratified
Error Image (scaled up) Stratified 16 samples 5.36% RMS Error (worst)

18 2D Pixel Light Fourier Analysis
Fourier analysis for fixed depth blocker Shadow spectrum line in pixel-light space Wedge if blockers at multiple depths [Egan 2011] Builds on [Egan 2011] and Fourier analysis of Monte Carlo [Durand 2011] but full pixel-light theory y Light y Ωy Occlusion Blocker x Receiver x Ωx Visibility Spatial Domain Fourier Domain

19 Fourier Analysis: Uniform Sampling
Sampling pattern same for all x in uniform sampling Fourier spectrum on vertical line, spacing depends on N Product of visibility and sampling: Fourier convolution Errors (only) when aliases touch spatial axis Banding since error concentrated in specific frequencies Ωy Ωy Ωy Ωx Ωx Ωx Visibility Spectrum Uniform Sampling Sampled Visibility

20 Fourier Analysis: Uniform Jitter
Sampling pattern uniform spaced but jittered at each x Fourier spectrum dots for replicas become horizontal lines Fourier convolution: Central spectrum plus noise Errors diffused to entire spatial axis No banding: error not concentrated in specific frequencies Ωy Ωy Ωy Ωx Ωx Ωx Visibility Spectrum Uniform Jitter Sampling Sampled Visibility

21 Planar Area Lights Apply linear 1D analysis to each “scanline” of 2D light But possible bad correlation between scanlines Samples Correlated Samples De-Correlated Uniform Jitter Stratified Blocked Visible

22 Frequency Analysis: Shape of Light
For one pixel, Fourier spectrum of visibility, light Uniform Jitter is a regular comb pattern Simple visibility lies on a line (assume horizontal) Ωy Ωx

23 Frequency Analysis: Shape of Light
Integral of product of visibility and sampling pattern True in spatial or Fourier domain Ground Truth is constant (0 frequency) term only Errors when significant spectral overlap Ωy Ωx

24 Frequency Analysis: Shape of Light
Smooth lights (e.g., Gaussian, circular) Multiply light by Gaussian same as multiply sampling pattern Fourier: Convolve sampling pattern by Gaussian Overlap now only along horizontal line, not full pattern Ωy Ωx

25 Implementation Simple shaders in RenderMan (general RIB files)
NVIDIA Optix for real-time applications Sampling patterns in closest hit kernel Practical Result: Uniform Jitter best published method to our knowledge for circle, linear lights

26 Grids: Circle Light: Stratified 20

27 Grids: Circle Light: Uniform Jitter 20

28 Grids: Circle Light: Halton, Warp 25

29 Grids: Circle and Gaussian Lights
Comparable gain across all sample counts

30 Conclusion Comprehensive Theory of MC Visibility Sampling
Linear (1D) Lights: Uniform Jitter is optimal Circular or Gaussian Light: Uniform Jitter is better Square Light: Uniform Jitter worse than Stratified Halton, blue noise do not perform better Introduce new Statistical and Fourier approaches Best sampling pattern depends on shape of light Can choose linear or circular instead of square lights Practical gains of 20%-40% for almost no effort Future analyses of Monte Carlo patterns Optimal pattern for planar lights still an open question

31 Acknowledgments Rob Cook for inspiration, discussing 2D pixel-light
Fredo Durand for notes on Fourier Monte Carlo Kevin Egan, Florian Hecht, Christophe Hery, Juan Buhler for scenes in the paper Li-Yi Wei and Christophe Hery for discussions of blue noise and sampling methods respectively Anonymous reviewers for many helpful suggestions

32 To Jim Arvo,

33 Tentacles: Very Complex Visibility
All methods (including pure random) perform the same Circle Light: Stratified 20 samples Uniform Jitter: 20 samples

34 Tentacles: Very Complex Visibility
Error vs Samples: Circle Light Error vs Samples: Square Light


Download ppt "A Theory of Monte Carlo Visibility Sampling"

Similar presentations


Ads by Google