1 / 32

A Theory of Monte Carlo Visibility Sampling

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. Motivation.

nani
Download Presentation

A Theory of Monte Carlo Visibility Sampling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 Light Blocker Pixel 1 0 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…

  13. Two Discontinuities: Boxcar 1 • Assume discontinuities in different strata • For very complex visibility, stratification not useful anyway Visibility 0 Strata 1 V 0 Ground truth net visibility = 0.75 + 0.75 = 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 vis00 / 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

  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 x Receiver 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 Uniform Sampling Visibility Spectrum 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 Uniform Jitter Sampling Visibility Spectrum 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 Stratified Uniform Jitter Visible Blocked

  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, 1956-2011

More Related