1

私はこれにまったく慣れていません。2Dポイントから3Dワールドポイントに光線を作成するには、逆投影行列などを取得する必要があると聞きましたが、OpenglESを使用しているため、メソッドはそれほど多くありません。これを手伝ってくれる定期的なことがあるので。(そして私は単にそれを行う方法がわかりません)このinstedにトリゲノメリック式を使用しています。

負のZ軸を1ステップ下に繰り返すたびに、画面上のY位置(-1から1)に次の値を掛けます。

(-z /(cot(myAngle / 2))

また、X位置も同様ですが、アスペクト比に等しい係数を使用します。
myAngleは、錐台の遠近法の角度です。

これは私にとって本当にうまく機能し、非常に正確な値を取得するので、私が疑問に思うのは、なぜこれを使用する代わりに、射影行列の逆行列を使用していくつかのものを乗算する必要があるのですか?

4

1 に答える 1

1

ほとんどの場合、OpenGl カメラ用の行列が横たわっています。カメラ行列が手元にある場合、逆行列を使用するのは簡単です。また、行列の乗算を実行する方が高速です (コンピューターの速度では非常にわずかです)。そして、フレームごとに膨大な数の計算を行う場合、それが問題になる可能性があります。

興味がある場合は、カメラ クラスを開始するための良い情報を次に示します。 カメラ クラス

およびいくつかのマトリックス リソース

何に取り組んでいるかにもよりますが、「最善の方法」についてはあまり心配しません。コードが何をしているのかを確実に理解し、それを改善し続けたいだけです。

于 2011-05-26T03:02:15.240 に答える