Explore the Full Program of SIGGRAPH Asia 2025!
Close

Presentation

Automatic Sampling for Discontinuities in Differentiable Shaders
DescriptionWe present a novel method to differentiate integrals of discontinuous
functions, which are common in inverse graphics, computer vision, and machine
learning applications.
Previous methods either require specialized routines to sample the discontinuous
boundaries of predetermined primitives, or use reparameterization techniques that suffer
from high variance.
In contrast, our method handles general discontinuous functions, expressed as shader programs, without requiring manually specified boundary sampling routines.
We achieve this through a program transformation that converts discontinuous functions into piecewise constant ones, enabling efficient boundary sampling through a novel segment snapping technique, and accurate derivatives at the boundary by simply comparing values on both sides of the discontinuity.
Our method handles both explicit boundaries (polygons, ellipses, Bezier curves) and implicit ones (neural networks, noise-based functions, swept surfaces).
We demonstrate that our system supports a wide range of applications, including painterly rendering, raster image fitting, constructive solid geometry, swept surfaces, mosaicing, and ray marching.