2

2D三角形のすべての線の走査線を取得するにはどうすればよいでしょうか。

2Dソフトウェアレンダラーの最も基本的な機能であるテクスチャマッピング三角形の機能を実装しようとしています。OpenGLを使用して数えることができるよりも多くの回数これを実行しましたが、自分で実行しようとすると足を引きずっています。

三角形(3つの頂点がそれぞれ[0、1]にクランプされたテクスチャ座標を持つ)を塗りつぶすには、3つのポイント間を線形補間する必要があるという記事がたくさんあります。何?補間は2つのn次元値の間にあると思いました。

ノート; これは3D用ではなく、厳密には2Dであり、すべての三角形は任意です(軸に揃えられていません)。OpenGLと同じように、画面をテクスチャで埋める必要があります。OpenGLをソリューションとして使用することはできません。

4

2 に答える 2

2

優れた回答と説明はここにあります:http ://sol.gfxile.net/tri/index.html

ブレゼンハムアルゴリズムを使用して、辺を描画/検索できます。

于 2012-01-14T19:42:28.573 に答える
1

これを処理する1つの方法は、スキャンラインアルゴリズムを使用する場合、2つのステップで補間することです。まず、三角形のエッジの値を補間し、スキャンラインの描画を開始するときに、そのスキャンラインの開始値と終了値の間を補間します。

2Dで作業しているため、マトリックス変換を使用して、画面座標からテクスチャ座標を取得することもできます。昨日、私はここで同様の質問に答えました。この手法は、数学では基底変換と呼ばれます。

于 2012-01-13T09:37:39.463 に答える