OpenGL ES 2.0 では、明らかにできない
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
モデル マトリックスを設定する必要はもうありませんが、 GLSL 仕様では頂点シェーダーでそれらにアクセスする方法が示されているため、これらのマトリックスはまだ何らかの形で組み込まれていると思います。
//
// Matrix state. p. 31, 32, 37, 39, 40.
//
uniform mat4 gl_ModelViewMatrix;
uniform mat4 gl_ProjectionMatrix;
uniform mat4 gl_ModelViewProjectionMatrix;
では、これらの値をシェーダーに渡すにはどうすればよいでしょうか? 私はglUniformMatrix4fv
何とか使用しますか?
OpenGL ES 2.0 プログラミング ガイドのソース コードは、シェーダー部分に役立ちましたが、すべての例は、マトリックス変換をそのままにして、頂点が -1.0 と 1.0 の間にあることを確認しているように見えます。
更新:明らかに、OpenGL ES シェーダー言語はのような事前定義されたエントリをサポートしていないため、唯一の答えは、以下にリンクされているコードで行われているように、 と を使用しgl_ModelViewMatrix
て独自のカスタム モデル/ビュー/投影行列を定義することです。OpenGL Shader Builderがそれらをサポートしているので混乱しましたが、それは OpenGL ES ではなくプレーンな OpenGL です。glGetUniformLocation
glUniformMatrix4fv