### Part III - Applications

< previous part

#### Overview

1. Introduction
2. Frequency Operators
• Travel & Occlusion
• Reflection & Refraction
• Scattering & Absorption
3. Applications
• Upsampling
• Density estimation
• Antialiasing
4. Conclusion

#### Overview

1. Introduction
2. Frequency Operators
• Travel & Occlusion
• Reflection & Refraction
• Scattering & Absorption
3. Applications
• Upsampling
• Density estimation
• Antialiasing
4. Conclusion

#### 'Deferred' Frequency Analysis

• Static analysis: using closed forms

• Compatible with you favorite math toolbox
• Last example with Mathematica

#### 'Deferred' Frequency Analysis

• Need a pre-pass to compute the spectrum
• During G-buffer creation for interactive
• During a sampling pre-pass for offline

#### 'Online' Frequency Analysis

• When closed forms are not possible
• Multiple scattering dominant
• Multiple scenarios but same code (reflexion and refraction)

• Inline frequency analysis in raytracing
                    
Spectrum RayTrace(Ray r){

// Check intersection
hit = Intersect(scene, r);
if(! hit) return Black;

// Interaction with material
Ray new_r = SampleBRDF(hit);
return RayTrace(new_r);
}


>
                    
Spectrum RayTrace(Ray r, Covariance c){

// Check intersection
hit = Intersect(scene, r);
if(! hit) return Black;

// Evaluate covariance at the surface
c.Travel(hit);
c.Projection(hit);

// Interaction with material
Ray new_r = SampleBRDF(hit);

// Compute reflected covariance
c.Reflection(hit);
c.InverseProjection(hit);

return RayTrace(new_r, c);
}



#### Application to Adaptive Sampling & Reconstruction

• Direct application of Nyquist:
• Adapt the sampling rate w/r $B_W$
• Reconstruct using a kernel (usualy Gaussian)

• Share samples across pixels

• Avoid over-sampling when not needed

• However a specific context:
• Reconstruct in pixel space
• Integrate in lens/light/time space

• Algorithm:
1. Compute bandwidth per pixel
2. Sample XYUVT space
3. Integrate in UVT space & reconstruct in XY space

• Example of lens integration
• Operators: Reflection + Travel + Occlusion + Lens
• Adapt the sampling of the lens and in screen space

#### Upsampling

• Dual of reconstruction
• Instead of gather samples for a pixel, splat them
• Equivalent to shade bigger pixels

#### Density Estimation

• Initial radius has a big impact

• At the core of some modern techniques:

• Mathematical insight:
• Density estimation blurs the target result
• Theoretically: $\mbox{bias} \propto \mbox{Laplacian} \times \mbox{radius}^2$

• How to Estimate Laplacian?
• Covariance in Fourier = Hessian!
• Covariance from photons is averaged for each kernel

• Works as well in volumes
• Adapt kernels for the Photon Beams method [Jarosz et al. 2011]
• Covariance must be stored in a 3D grid

#### Results

9.7M beams, 25min render10M beams, 25min render

#### Alternative Methods

• Progressive Hessian estimation

#### Antialiasing Surface Appearance

• Idea: bound the reflectance frequencies
• Adapt variation to screen resolution

Ground truth Nearest evaluation

Image from Mitsuba [Wenzel Jakob]

#### Limitation of Decoupling & Pixel Footprint

• Break with bidirectional path-tracing (BDPT, VCM)
• Light variations must be accounted

• Assume the view and light directions are constant

• Using a 'binary'' footprint
• Doesn't account for the pixel filter
• Limited to single scattering

#### Antialiasing Surface Appearance

• Pixel filter is a kernel applied on the surface!

#### Frequency Analysis Perspective

• This kernel is a low-pass filter on the SV-BRDF:

#### Antialiasing and Global Illumination

• The kernel can account for multiple bounces:

• How can we estimate the kernel in that case?

#### Comparison to Ground Truth Kernel

Kernel after one bounce

#### Bidirectional Antialiasing

$$\Sigma_e \; + \; \Sigma_l \; = \; \Sigma$$

#### Light Sources

• Need Fourier spectrum for each light type
• Analytical forms for point, spot and area
• For envmaps, we need to numerically compute its FFT

#### Textures

• Albedo texture
• FFT Required for 'online' analysis
• For single scattering it is better to decouple from shading

• Roughness texture
• Correlates spatial and angular frequencies
• In practice we only consider spatial

• Mip-level for different windows

#### BRDFs/BSDFs

• Need analytical forms in practice
• Not always the case (microfacets)
• Use conversion to Phong (approximate is good enough)
• Get the Hessian is an alternative [Belcour et al. 2014]

• Measured data (e.g. MERL)

> next part