私は OpenGL の初心者で、いくつかのテストを実行しようとしています。GLSL Sandbox Gallexyで利用できるフラグメント シェーダーがたくさんあるので、コードを再利用して GLES でそれらを試してみたいと思います。しかし、ほとんどのシェーダーでは機能しないようです。
私が実行しようとしたシェーダーの中で、なぜかGLESで動作したのはこれだけでした。そのためには、シェーダーの時間依存性を排除する必要がありました。
WebGL と GLES では一部の変数名が異なるようです。もしそうなら、正確にはどれですか?そうでない場合、前者から後者への翻訳の手順は正確には何ですか?
黒い画面のみを表示する単純なフラグメント シェーダーの例。私の特定のケースでは、この最小限の頂点シェーダーに沿って実行しています。
precision mediump float;
uniform mat4 uMVPMatrix;
attribute vec4 aPosition;
attribute vec2 aTextureCoord;
varying vec2 vTextureCoord;
void main() {
vTextureCoord = aTextureCoord;
gl_Position = uMVPMatrix * aPosition;
}