Windfoil delivers fast and accurate vector graphics rendering on GPUs

Windfoil: Closed-Form Coverage for Real-Time and Differentiable Vector Graphics

GraphicsComputer Vision and Pattern Recognition

Summary

Drawing smooth shapes on screens usually involves complex calculations and approximations that can be slow or less accurate. The authors created Windfoil, a new method that exactly measures how much of the shape covers each pixel using math formulas made for GPUs. This method works quickly enough for real-time uses and also helps with tasks that need precise shape edits. Windfoil matches or beats existing tools in quality and speed while running on common devices like web browsers.

What this means in practice

  • For graphics software developers: Create fast and precise rendering engines for scalable vector graphics in applications and web browsers using GPU acceleration.
  • For game developers: Implement high-fidelity 2D shape rendering that maintains performance comparable to existing GPU rasterisers suitable for games.
  • For graphic design tool developers: Build interactive vector graphic editors with differentiable rendering for better shape optimization and editing workflows.$Commercial implications: Enables new commercial design software offering faster, higher-quality vector editing powered by GPU-accelerated differentiable rendering.

Authors

Matt DesLauriers

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.