だから私は3D空間に4つのポイントのセットを持っています。
P1 [0、0、0]
P2 [128、0、0]
P3 [0、128、0]
P4 [128、128、0]
次に、これを正射投影で画面に投影すると、画面スペースに2つのワイヤーフレームの三角形が効果的に表示されます。
次に、2つの三角形で構成されるこの「平面」にテクスチャをマッピングします。正方形のテクスチャを取得し、u、v座標を使用して、テクスチャをこれら2つの三角形にマッピングできます。
問題は、頂点にazコンポーネントを追加しようとすると発生します。画面空間に表示される三角形は多少歪んでいますが、テクスチャマッピングは完全にオフになっています。
たった3点なので、それでもある種のアフィン長方形を形成し、その長方形を次の形式の行列として表すことができるように思えます。
[ab 0] [cd 0] [tx ty 1]
画面空間の3つの2Dポイントを上記の形式の行列に変換する方法について、ヒントやアイデアを教えてもらえますか?
私が調べたすべてのチュートリアルなどは、テクスチャマッピングの大まかな理論を説明してから、OpenGl/DirectXネイティブ関数に実際のマッピングを実行させます。
私は、3つのポイントが与えられた場合に、アフィン行列を使用してその三角形にテクスチャをマッピングできる、より直接的なアプローチを探しています。(スキャンラインレンダリングアプローチを実行していません)
ありがとう!