1

3D レンダリング用に正しい遠近法でテクスチャをマッピングしたいと考えています。重心座標を使用して、三角形の面上の点を見つけています。単純なアフィン変換によって、標準的で奇妙に見える結果が得られました。これは私の視点を修正するために行ったことですが、歪みを大きくしただけのようです:

3 つの三角形の頂点 v1 v2 v3

頂点座標は v_.x v_.y v_.z

テクスチャ座標は v_.u v_.v

頂点に対応する重心座標は b1 b2 b3

正しいテクスチャ座標 U と V を取得しようとしています

z=b1/v1.z + b2/v2.z + b3/v3.z

U=(b1*v1.u/v1.z + b2*v2.u/v2.z + b3*v3.u/v3.z) / z

V=(b1*v1.v/v1.z + b2*v2.v/v2.z + b3*v3.v/v3.z) / z

これはうまくいくはずですよね?なぜこれが機能しないのですか?

編集: このページの応答は便利に見えますが、w 座標が何であるかはわかりません。多分誰かがそれを説明できれば、私の問題も解決するでしょう。http://www.gamedev.net/topic/593669-perspective-correct-barycentric-coordinates/

注: 私のタグは最初はすべて間違っていました。これは修正されました。

4

1 に答える 1

1

さて、これは私が自分で解決することができました。画面空間のz座標で割っていました。解決策は、代わりに同種のw座標で除算することです。

まあ、それは理解するのに時間がかかりました。

于 2012-09-11T01:13:49.503 に答える