8

ベクトルパスを三角形/四角形の面で構成されるストロークパスに変換するための優れたアルゴリズムを知っている人はいますか? 理想的には、ラウンド ライン ジョインを使用します。

基本的に、パスに沿った距離に応じて変化する値に基づいた色の太いパスを描画しようとしています。パスを三角形/四角形に変換し、パスに沿った距離を 1d テクスチャ座標として提供してテクスチャ マッピングし、三角形の角の色を取得して補間するために使用できると考えています。これを行う方法について、ひどく見えず、アンチエイリアスできる他の提案をいただければ幸いです。

現在、レンダリングにAGGを使用していますが、依存関係が多すぎない場合は、代替手段を使用できます。レンダリングに使用されるバックエンドはそれほど重要ではないと思います。AGG はパスをストロークできますが、VertexSource インターフェイスは x/y 座標以外の追加の頂点情報を許可しません。さらに、通常の conv_stroke を使用している場合、カラー マッピングをラスタライザーに取得することはできません。

4

2 に答える 2

3

これに対する解決策を探している人にとって、私はこれが役に立つと思いました: https ://keithp.com/~keithp/talks/cairo2003.pdf

したがって、正多角形を線で効果的に畳み込み、メッシュを生成できます。三角形を出力するには、PDFで概説されているよりも少し複雑なアルゴリズムが必要ですが、実際にはそれを拡張するのはそれほど難しくありません。

agg :: span_gouraud_rgbaのラインに沿ってAGGのカスタムスパンジェネレーターを作成することもできますが、代わりにテクスチャマッピングを効果的に実行します。

于 2011-08-16T08:48:19.117 に答える
3

これは、パスをなでるメカニズムを理解するためのもう 1 つの優れたリソースです。

于 2015-02-26T16:21:56.797 に答える