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

📄 arXiv: 2610.02468v1 📥 PDF

作者: Matt DesLauriers

分类: cs.GR, cs.CV

发布日期: 2026-10-01


💡 一句话要点

提出Windfoil算法以解决实时可微分矢量图形渲染问题

🎯 匹配领域: 支柱三:空间感知与语义 (Perception & Semantics)

关键词: 实时渲染 可微分渲染 光栅化 Bézier曲线 GPU计算 图形处理 WebGPU 算法优化

📋 核心要点

  1. 现有的光栅化和可微分矢量图形方法在性能和质量上存在不足,难以满足实时渲染需求。
  2. Windfoil算法通过封闭形式评估Bézier轮廓的盒过滤绕数,提供了一种新的解决方案,兼顾光栅化和可微分渲染。
  3. 实验结果显示,Windfoil在保真度上优于Skia和Slug,同时在性能上与Slug相当,优化器在成本和质量上也表现出色。

📝 摘要(中文)

我们提出了Windfoil,这是一种友好的GPU算法,通过以封闭形式评估二次Bézier轮廓的盒过滤绕数,将光栅化和可微分矢量图形视为同一问题的两个方面。该算法在WebGPU中实现,能够在多种环境中运行,包括消费者笔记本电脑上的网页浏览器,并将系统应用于实时2D渲染、高分辨率打印媒体光栅化和可微分渲染器。我们将我们的渲染器与生产级引擎Skia和流行的GPU光栅化算法Slug进行了比较,测量了与参考盒过滤覆盖的保真度。我们的渲染器在性能与Slug相当的情况下,更加接近参考结果。此外,我们还将优化器与DiffVG和Bézier Splatting进行了比较,达到了相同或更好的重建质量,同时每步成本大幅降低,能够以交互速率扩展到数万个形状。

🔬 方法详解

问题定义:本论文旨在解决实时可微分矢量图形渲染中的性能和质量问题。现有方法在处理复杂形状时,往往面临光栅化速度慢和渲染质量不高的挑战。

核心思路:Windfoil算法通过封闭形式计算二次Bézier轮廓的盒过滤绕数,将光栅化与可微分渲染统一为一个问题,从而提高了渲染效率和质量。

技术框架:该算法在WebGPU中实现,主要包括三个模块:轮廓解析、盒过滤计算和渲染输出。首先解析输入的Bézier轮廓,然后计算其盒过滤绕数,最后生成渲染结果。

关键创新:Windfoil的核心创新在于其封闭形式的绕数计算方法,使得光栅化和可微分渲染能够高效结合,显著提高了渲染的保真度和速度。

关键设计:在算法设计中,采用了优化的盒过滤策略和高效的GPU计算方法,确保了在处理数万个形状时仍能保持交互速率。

🖼️ 关键图片

img_0
img_1
img_2

📊 实验亮点

实验结果表明,Windfoil在与Skia和Slug的比较中,渲染保真度更高,且性能与Slug相当。此外,优化器在每步成本上显著降低,能够处理数万个形状,展示了其在交互速率下的优越性。

🎯 应用场景

Windfoil算法具有广泛的应用潜力,特别是在实时图形渲染、游戏开发和高分辨率打印媒体等领域。其高效的渲染能力和可微分特性使得它在计算机视觉、动画制作和图形设计等多个行业中都具有重要的实际价值和未来影响。

📄 摘要(原文)

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.