precision highp float;
varying highp vec2 textureCoordinate;
uniform sampler2D inputTexture;//结果图
uniform sampler2D inputTexture2;//src
uniform sampler2D inputTexture3;//mask
uniform float ratio;
void main()
{
    vec4 color = texture2D(inputTexture, textureCoordinate);
    vec4 sourceColor = texture2D(inputTexture2, textureCoordinate);
    vec4 maskColor = texture2D(inputTexture3, vec2(textureCoordinate.x, 1.0 - textureCoordinate.y));
    gl_FragColor = mix(sourceColor, color,  maskColor.a * ratio);
}