質問

複数の防止線の構成をうまく処理するグラフィックシステムを知っている人はいますか?

私は依存図を示しており、ポイントから発せられる曲線をたくさん持っています。これらは、部分的に覆われたピクセルをブレンドするという通常の方法で反アライアを描かれています。したがって、2本のラインがピクセルの同じ半分を占める場合、アンチアリアーシングは50%で満たされたのではなく、75%に充填されます。互いに十分なラインが描かれていると、ピクセルはクランプをブレンドすると、エイリアスラインになります。

アンチグレインジオメトリには、隣接する線に対応するブレンドを計算するためのアルゴリズムがあり、オーバーサンプリングが機能する可能性がありますが、他のアプローチはありますか?

役に立ちましたか?

解決

この形式のライン構成をうまく処理することは遅くなるでしょう(繰延レンダリングアプローチを使用して、各ピクセルに衝突するすべての線を考慮する必要があります)。私はあなたのためにそれをする多くの(もしあれば)図書館がそこにあることを疑います。

ほぼすべての図書館ライブラリで動作する最も迅速かつ最も簡単な方法(およびおそらくあなたのケースの唯一の現実的で費用対効果の高いソリューション)は、それを上回ることです。 、4ピクセルの幅のラインで。これを描画するときにアンチアライアスを無効にします。メインのダウンサイドは、オフスクリーンビットマップに多くのメモリを使用することです。

他のヒント

「視覚的に正しい」アンチアライアスラインを取得する既存のシステムが必要な場合は、いくつかの既存のRendermanに準拠した3Dレンダラーのいずれかを使用してみてください。これらのレンダラーの多くが使用するReyesアルゴリズムは、プリミティブをマイクロポリゴンに分割し、各ピクセル内のいくつかのランダムなポイント位置でサンプリングすることで機能します。したがって、ピクセルの50%をまとめて不明瞭にしている100万のラインがある場合でも、結果の画像値は約50%のカバレッジを示します。 (これは、たとえば、何百万ものアンチアライアスされた毛が、多くのアニメーション映画のキャラクターにどのように描かれているかです。)

もちろん、本格的な3Dレンダラーを使用して2Dラインを描画することは、ハンマーで爪を運転するようなものです。 3Dレンダラーが、従来の2Dレンダラーを使用して単純にスーパーサンプリングするよりも効率的であるためには、かなり病理学的なシナリオが必要です。

私にはわかりません。

ただし、機能するアプローチを知っているという質問に答えるために、ピクセルを正方形であると考えることができます。その後、ピクセルボックスと交差するポリゴンとして描く形状を概算できます。これらのポリゴンをピクセルのボックスに対して、そして互いに互いにクリップすることで、正確なアンチアリアーゼのためにピクセルと交差する各色に関連する領域の非常に良い推定値を得ることができます。もちろん、これは計算が非常に遅く、インタラクティブな描画には適していません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top