Шейдер WebGL GLSL: доступ к текстуре2D переопределяет другую текстуру

У меня очень неприятная проблема с glsl в WebGL.

Этот шейдер работает так, как ожидалось:

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 переопределяется. Как это возможно?

5
задан Nicol Bolas 14 May 2012 в 20:55
поделиться