GraphiteEditor / GraphiteEditor/Graphite

Vello renders image with a half-pixel offset

オープン
#3,018 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る
Graphics
主要言語
Rust
スター
27.2k
フォーク
1.3k
平均マージ
20時間 5分
マージ済み PR(30日)
57

説明

Drag an image into the viewport and view it at 100% scale. Toggle the Vello renderer on and off. Notice that it shifts down and left when Vello is active, and that it becomes blurry in the Vello version because anti-aliasing is applied to do the shifting. Also at slightly different from screenspace-aligned integer scales, we have the bottom and right edges wrap and appear as a 1px strip along the top and left edges.

https://github.com/user-attachments/assets/8e4a4916-61ca-49c5-aed5-062d72cbc271

My hypothesis is that between SVG and Vello, one assumes pixel coordinates are at the center of a pixel vs. the top left of the pixel.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

画像をビューポートにドラッグし、100%のスケールで表示して、Vello rendererを切り替えることで問題を再現します。SVGとVelloのレンダリングパスを比較し、ピクセル座標の規約と整数に近いスケールでの挙動に注目します。画像が整列したまま鮮明に表示され、1pxのエッジストリップが折り返されなければ完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
rust
領域
computer-graphics
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。