Ana içeriğe geç
Programlama

Windfoil algoritması 2D vektör çiziminde piksel tabanlı kenar yumuşatma sunuyor

Öne çıkanlar

  • Windfoil, Bézier eğrilerini GPU fragment shader üzerinde tek ışınlı integral ile işliyor.
  • Tiger test dosyasında bant arabelleği boyutu 1,54 MB'tan 0,84 MB'a düşürüldü.
  • Üst üste binen fırça darbelerinde CPU ön işleme ihtiyacını ortadan kaldırıyor.
  • WebGPU ve Deno 2.x desteğiyle açık kaynak olarak yayımlandı.

Geliştirici Matt DesLauriers, ikinci dereceden Bézier eğrilerinden oluşan 2D vektör şekillerini piksel başına analitik kenar yumuşatma (anti-aliasing) ile işleyen Windfoil algoritmasını açık kaynak olarak yayımladı. WebGPU üzerinde fragment shader düzeyinde çalışan yöntem, mevcut Slug algoritmasının getirdiği bazı bellek ve örtüşme sınırlarını aşmayı hedefliyor.

Yapılan testlerde Windfoil'in tek ışınlı integral yaklaşımı, popüler kaplan test SVG dosyasındaki bant arabelleği boyutunu 1,54 MB seviyesinden 0,84 MB'a indirdi. Kendini kesen ve üst üste binen karmaşık fırça darbelerinde CPU tarafındaki ön işleme yükünü ortadan kaldıran algoritma, eğriler üzerinde doğrudan GPU hesaplaması yapılmasını mümkün kılıyor. Yöntem, Skia referansına kıyasla piksel doğruluk testlerinde Slug'a göre daha yakın sonuçlar verdi.

Yaklaşımın ilk taslağı Claude tabanlı bir yapay zeka aracıyla geliştirildi ve ardından optimizasyon süreçlerinden geçirildi. Slug algoritması küçük ölçekli çizimlerde hız avantajını korurken, Windfoil ekranda daha fazla yer kaplayan yakınlaştırılmış sahnelerde öne çıkıyor.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.