SMOL GAUSSIAN is a practical GPU blur pipeline that scales to very large, smoothly animated radii by combining progressive downsampling, a small separable Gaussian at a lower working resolution, and careful reconstruction back to full size. Radius is converted to sigma (radius/3), the image is repeatedly reduced (ceil-halved per axis) while preserving a one-pixel border and correctly integrating odd-sized pixels, and downsampling kicks in when sigma/scale ≥ 6. The final per-axis Gaussian accounts for variance introduced by down- and up-sampling (subtracting those variances), uses a kernel extending to 4σ with weights tapered to zero between 3σ-4σ to avoid abrupt cutoff on bright HDR highlights, and pairs taps into bilinear samples. Reconstruction uses bilinear up to 2× and cubic B-spline beyond 2× to avoid slope discontinuities, with an optimization that merges two exact 2× reductions into a single 4× step.
Compared to other approaches, this implementation is conceptually similar to Skia’s GPU Gaussian blur but adds more accurate area integration for odd sizes, discrete ceil-halving thresholds, variance compensation, and smoother kernel tails for animated highlights. An extended Dual Kawase supports continuous and anisotropic radii but feels less smooth on HDR and is 2-3× slower in these tests. Separable Gaussian is simple but impractical at huge radii. Measured performance in Chrome shows SMOL GAUSSIAN matches Skia on some GPUs, even getting cheaper as radius grows because the heavy convolution runs on smaller images. An interactive WebGPU playground and source let users compare modes, inspect intermediates, animate/export videos, and benchmark.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.