Windfoil: Closed-Form Coverage for Real-Time and Differentiable Vector Graphics
Organizations: Creative Computing Institute University of the Arts London London, United Kingdom
Abstract
We present Windfoil, a GPU-friendly algorithm that treats rasterisation and differentiable vector graphics as two sides of the same problem by evaluating the box-filtered winding number of quadratic Bézier contours in closed form. We implement this in WebGPU, allowing it to run across a range of environments, including a web browser on a consumer laptop, and apply the system to real-time 2D rendering, high-resolution rasterisation for print media, and a differentiable renderer. We compare our renderer against Skia, a production-grade engine, and Slug, a popular GPU rasterisation algorithm for games and real-time applications, measuring fidelity to a reference box-filtered coverage. Our renderer matches the reference more closely than either, at performance comparable to Slug. We also compare our optimiser against DiffVG and Bézier Splatting, where it reaches equivalent or better reconstruction quality at a fraction of the per-step cost, scaling to tens of thousands of shapes at interactive rates.
Figures & tables
| Ground Truth |
| (a) Ground Truth | (b) Ground Truth | (c) Windfoil | (d) Windfoil | (e) Slug | (f) Skia | (g) Figma |
| Windfoil (box) | Windfoil (tent) | Windfoil (cubic B-spline) | Skia | Figma | Photoshop |
| final PSNR (dB) | PSNR (dB) | optimise time (s) | parity speed-up | ||||||||||
| Benchmark | Opt. size | Budget | Windfoil | DiffVG | Bézier | DiffVG | Bézier | Windfoil | DiffVG | Bézier | DiffVG | Bézier | |
| Equal step budget | |||||||||||||
| Kodak (24) | 512 | 800 steps | 26.60 | 26.41 | 22.80 | 2.57 | 269 | 23.0 | |||||
| Färlev | 256 | 800 steps | 21.24 | 21.24 | 19.80 | 1.22 | 138 | 17.2 | — | ||||
| Färlev | 512 | 800 steps | 21.83 | 21.79 | 20.73 | 1.85 | 220 | 22.3 | |||||
| Färlev | 4096 | 800 steps | 26.77 | 21.31 | 22.61 | 10.1 | 1658 | 132 | |||||
| fishing boats in the harbour | a Paris café | a Tokyo street | a ballerina | a Ferris wheel |
Differentiable Rendering
Differentiable rendering makes image formation and its gradients computable, enabling visual scenes and graphics to be optimized from observations.
See all 50 papers