我对 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 纹理被覆盖。这怎么可能?