4

私は使用しています

worldview_inverse * (projection_inverse * vector)

画面空間座標をワールド空間座標に変換します。私はそれを仮定しました

(x,y,1,1)

遠平面上の点に変換されますが、

(x,y,-1,1)

近い平面上の点に変換し、線を接続すると、線と交差する視錐台内のすべてのオブジェクトを照会できます。変換後、結果のポイントをそれぞれの .w コンポーネントで割ります。これはファー プレーンでは機能しますが、ニア プレーン上のポイントはどういうわけかワールド空間の原点に変換されます。

これは、逆投影に入力している 1 の w コンポーネントに関係していると思います。通常、投影後ではなく投影前の 1 であり、逆投影を行っているためです。私は何を間違っていますか?

4

1 に答える 1