WebGL の glsl には非常に厄介な問題があります。
このシェーダは期待どおりに機能します。
uniform sampler2D tColor;
uniform sampler2D tNormal;
varying vec2 vUv;
void main() {
gl_FragColor = texture2D( tColor, vUv );
}
しかし、これはまったく異なる動作をします:
uniform sampler2D tColor;
uniform sampler2D tNormal;
varying vec2 vUv;
void main() {
vec4 test = texture2D( tNormal, vUv );
gl_FragColor = texture2D( tColor, vUv );
}
tNormal テクスチャにアクセスすると、tColor テクスチャがオーバーライドされます。これはどのように可能ですか?