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

Download Report

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

A Theory of Monte Carlo
Visibility Sampling
Ravi Ramamoorthi
John Anderson
Mark Meyer
Derek Nowrouzezahrai
UC Berkeley
Pixar (now at Google)
Pixar
Disney Research Zurich
University of Montreal
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
Monte Carlo Soft Shadows
Light
Pixel
Experiment: Sampling Strategies
circle light
uniform jitter
RMS 6.6%
Experiment: Sampling Strategies
circle light
Circle
stratified
RMS 8.3%
Experiment: Sampling Strategies
square light
uniform jitter
RMS 13.4%
Experiment: Sampling Strategies
square light
stratified
RMS 10.4%
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
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]
Linear Lights: Discontinuities
Light
Blocker
Pixel
1
0
Discontinuity
Visibility
Single Discontinuity: Two Discontinuities: Many Discontinuities:
Heaviside Function Boxcar Function
Many Box Functions
Single Discontinuity: Uniform Sampling
 Error of Uniform Sampling
 Error depends only on stratum of discontinuity
 Error depends only on discontinuity location

1
Worst-Case, Variance (N = samples) 2N
 Depends only on sample placement in stratum
Visibility at Pixel
Uniform Sampling
Absolute Error
1
12N 2
Single Discontinuity: Errors
Sample Location
End-pts of stratum
e.g., QMC Halton
Random (Jittered)
Stratified Sampling
Center (Uniform)
Worst-Case
1
N
1
N
1
2N
RMS Error
1
3N
1
6N
1
12N
Variance
1
3N 2
1
6N 2
1
12N 2
 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…
Two Discontinuities: Boxcar
Visibility
1
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 vis 00 / 01 / 10 / 11 = 0,1,2, low variance
 Assume discontinuities in different strata
 For very complex visibility, stratification not useful anyway
Two Discontinuities: Errors
Sampling Method Worst-Case RMS Error Variance
Stratified
Uniform Jitter
Uniform
2
N
1
N
1
N
1
3N
1
6N
1
6N
1
3N 2
1
6N 2
1
6N 2
 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
Linear Light: Uniform
Error Image (scaled up)
Uniform 16 samples
3.97% RMS Error (best)
Uniform causes banding
Linear Light: Uniform Jitter
Error Image (scaled up)
Uniform Jitter 16 samples
4.21% RMS Error
No banding, low error
Linear Light: Stratified
Error Image (scaled up)
Stratified 16 samples
5.36% RMS Error (worst)
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
Blocker
x
Receiver
Ωx
x
Visibility Spatial Domain Fourier Domain
Fourier Analysis: Uniform Sampling
Ωy
Ωy
Ωy
=
Ä
Ωx
Ωx
Visibility Spectrum
Uniform Sampling
Ωx
Sampled Visibility
 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
Fourier Analysis: Uniform Jitter
Ωy
Ωy
Ωy
=
Ä
Ωx
Ωx
Ωx
Visibility Spectrum Uniform Jitter Sampling Sampled Visibility
 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
Planar Area Lights
 Apply linear 1D analysis to each “scanline” of 2D light
 But possible bad correlation between scanlines
Samples Correlated
Uniform Jitter
Blocked
Samples De-Correlated
Stratified
Visible
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
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
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
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
Grids: Circle Light: Stratified 20
Grids: Circle Light: Uniform Jitter 20
Grids: Circle Light: Halton, Warp 25
Grids: Circle and Gaussian Lights
 Comparable gain across all sample counts
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
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
To Jim Arvo, 1956-2011