#version 300 es
precision mediump float;
precision highp int;

uniform mediump sampler2D u_texture;
uniform mediump sampler2D u_maskTexture;

in highp vec2 v_texCoord;
in highp vec2 v_maskCoord;
layout(location = 0) out highp vec4 FragColor;
in highp vec4 v_color;

void main()
{
    highp vec4 texColor = texture(u_texture, v_texCoord);
    highp vec4 maskColor = texture(u_maskTexture, v_maskCoord);
    FragColor = vec4((texColor.xyz * maskColor.w) * v_color.w, texColor.w * maskColor.w) * v_color;
}

