私はopenGLで作業しており、最終的にいくつかのシェーダーをいじっています。
このトラを画面に表示しようとしたときに問題が発生しました。私は何も見えませんでした。だから私は冗談を言って、私の数学をひっくり返すことにしました
Model * CameraView * CameraProjection を逆方向に実行した CameraProjection * CameraView * Model
答えが同じではないことは明らかでした。しかし、コードを実行すると、モデルが必要なことを正確に実行して画面に表示されました。
私の側では、シェーダーですべての適切な配置計算を行うマトリックスを渡すだけです。
私が使用している3つのマトリックスは次のとおりです。
モデル世界の位置
1.0, 0.0, -0.03, 0.0,
0.0, 1.0, 0.0, 0.0,
0.03, 0.0, 1.0, 0.0,
1.0, -3.0, -10.0, 1
カメラ ビュー
1.0, 0.0, 0.0, 0.0,
0.0, 1.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0
カメラ投影
2.37, 0.0, 0.0, 0.0,
0.0, 3.17, 0.0, 0.0,
0.0, 0.0, -1.0, -1.0,
0.0, 0.0, -0.02, 0.0
私の結果行列は次のとおりです:( 皆さんがそれらを実行したくない場合に備えて)
MVP
2.38, 0.0, 0.0, 0.0,
0.0, 3.17, -0.03, -0.03,
0.02, -0.095, -1.0, -1.0,
2.38, -9.51, 36.1, 36.1
PVM
2.38, 0.0, -0.017, 0.0,
0.02, 3.17, 3.17, 0.0,
-0.82, 3.33, 35.03, -1.0,
0.0, 0.0, 0.0, 0.0
数学は実際にシェーダーで計算されます。それはopenGLシェーダーです。