All projects

Graphics & Games · 2018

Screen-Space Soft Shadows

Interactive soft shadows using axis-aligned filtering of ray-traced occlusion, built with NVIDIA OptiX.

As part of CSE 274: Selected Topics in Graphics at UCSD in winter 2018, a course about sampling and reconstruction of visual appearance, we explored reconstruction of interactive soft shadows. For the practical part of the course we implemented the paper Axis-Aligned Filtering for Interactive Sampled Soft Shadows.

In this method:

  • Soft shadows are rendered by applying a spatially varying screen-space Gaussian blur, where the amount of blurring is determined by analyzing the frequencies of the occlusion spectrum.
  • The soft shadow rendering equation is solved by Monte Carlo sampling of points on a planar light source.
  • Adaptive sampling makes sure regions with high uncertainty get more samples, reducing overall noise.

Our results:

  • Interactive frame rates of about 5 to 30 FPS on an NVIDIA GTX 970.
  • No temporal noise, although complex geometry (such as the flower) causes some visible smudging in the penumbras.

Our implementation uses NVIDIA’s OptiX framework for real-time ray tracing. A more detailed write-up is available on the project page.