0

私は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シェーダーです。

4

1 に答える 1