Android 中 MIX 函数的 OpenGL ES 颜色错误

OpenGL ES color errors with MIX function in Android

在 opengl es 程序中我输入两个纹理并使用片段着色器:

        varying highp vec2 textureCoordinate;
        varying vec2 textureCoordinate2;
        uniform sampler2D inputImageTexture;
        uniform sampler2D inputImageTexture2;
        uniform lowp float intensity;
        void main() {
            highp vec4 newColor = texture2D(inputImageTexture2,textureCoordinate2);
            highp vec4 vColor = texture2D(inputImageTexture, textureCoordinate); 
            newColor.r = newColor.r + vColor.r * (1.0 - newColor.a);
            newColor.g = newColor.g + vColor.g * (1.0 - newColor.a);
            newColor.b = newColor.b + vColor.b * (1.0 - newColor.a);
            gl_FragColor = vec4(mix(vColor.rgb, newColor.rgb, 0.86), newColor.a);
        };

但是结果有一些 "error color",如何解决这个问题?

我自己找到了答案,这是因为我从同一个FBO纹理中写入和读取,现在我改变它并且工作正常!