WebGLのglslで非常に不安な問題があります。WebGL GLSLシェーダ:texture2Dにアクセスすると他のテクスチャがオーバーライドされます
uniform sampler2D tColor;
uniform sampler2D tNormal;
varying vec2 vUv;
void main() {
gl_FragColor = texture2D(tColor, vUv);
}
をしかし、この1つは別の総振る舞い:
このシェーダは、期待どおりに動作
uniform sampler2D tColor;
uniform sampler2D tNormal;
varying vec2 vUv;
void main() {
vec4 test = texture2D(tNormal, vUv);
gl_FragColor = texture2D(tColor, vUv);
}
をtNormalテクスチャにアクセスすることにより、TColorのテクスチャが上書きされます。これはどのように可能ですか?
できません。あなたのクライアント側のコード(テクスチャ、シェーダ、バインディングなど)を置いて、間違ったことがないことを確認できますか? – Tim
あなたはこれをどのプラットフォームで見ていますか? ChromeのANGLE/OpenGL、FF、Win、Macなど?あなたのカラーテクスチャがレンダリングターゲットにバインドされていないことを確かめていますか? – MikaelEmtinger