iPhoneが横向きモードで保持されるようにビューが回転する3Dシーンで「ピッキング」を機能させようとしています。私は OpenGL ES 2.0 を使用しています (したがって、すべてのシェーダー、固定機能のパイプラインはありません)。
レンダリング コード内からアンプロジェクションを実行し、すぐに GL_LINES を使用して結果の光線を描画しています (光線は、画面に初めて触れたときにのみ計算されるため、後でカメラを動かして結果の線をさまざまな角度から観察できます)。 .
私のプロジェクト解除コード/呼び出しは問題ありません (オンラインの gluUnproject の例がたくさんあります)。私の行列反転コードは問題ありません (いくつかの行列については Excel と比較しても)。ただし、結果として得られる光線は、実際に「クリック」した場所から少なくとも 5 ~ 15 度ずれています (シミュレーターでは実際にはクリックであるため、非投影からより多くの精度が期待されます)。
ビューが横向きに回転します (透視投影マトリックスを作成した後、Z 軸を中心に -90 度回転します。縦横比は縦向きのままです)。数学がオフになっている問題はここにあると思います。
特にランドスケープビューでピッキング/アンプロジェクションを行った経験のある人はいますか?