私はロードしたモデル(Blenderの猿の顔)をモデル空間からワールド空間へvboに移すためにモデル行列だけを使用しています。しかし、モデルは信じられないほどゆがんでいます(無限に伸ばす)、なぜこれが起こっているのか困惑しています。OpenGL - Matrix Logic Error
This videoは、問題をはっきりと表示しようとする試みとして、y軸の周りを常に回転するモデルを示しています。私はロードされたOBJモデルが有効であることを確信しています。溶岩テクスチャがモデルに結合されて見やすくなりました。
ビデオには、私が頂点シェーダーに送信している現在のマトリックスを表示したコンソールも表示されます。
{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 10, 0, 0, 0, 1}
を私と信じている:
|1 0 0 0 |
|0 1 0 0 |
|0 0 1 10|
|0 0 0 1 |
浮遊++ Cの次の配列として私の頂点シェーダに送られ、次の行列がのでメモリにおいて、マトリックスは、行優先順で表され私の数学では初心者の誤りです。モデルだけを見るだけで気付くことができる明らかなエラーはありますか?
「MVP」は、ビデオおよび位置で見られる結果の行列であるgl_Position = mvp * vec4(position, 1.0);
が処理されているモデルの現在の頂点の位置を(含まれています。私の頂点シェーダ(GLSL)で、私は次のコード行を使用しますモデル空間で)。これらの歪みがなぜ発生しているのか分かりません。プログラムの別の面でエラーになる可能性があります(コードが十分ではないなど)。
行方向行列を送信するときに 'traspose'フラグを使用しますか? – BeyelerStudios
私の例では'10 'の値は4番目の列で、4番目の列ではないので、モデルが見えなくなりました。これは正しく覚えていればOpenGLの命令に反しています。 – Harrand
いいえ、あなたのデータがクリップ空間の単位立方体内になく、クリップされていることを意味します – BeyelerStudios