varying vec2 v_texCoord;
varying vec4 v_fragmentColor;

uniform vec3 u_changeColor;
uniform vec3 u_baseColor;
uniform sampler2D u_texture;

void main()
{
    vec4 c = texture2D(u_texture, v_texCoord);
    if (c.r == 0.0 && c.g == 0.0 && c.b == 0.0 && c.a == 0.0) {
        gl_FragColor = v_fragmentColor * c;
    }else{
        vec4 changeColor = vec4(u_changeColor, c.a);
        vec4 baseColor = vec4(u_baseColor, 1.0);
        changeColor.r = changeColor.r * c.a;
        changeColor.g = changeColor.g * c.a;
        changeColor.b = changeColor.b * c.a;
        gl_FragColor = changeColor * baseColor;
    }
}
