2020-02-22 15:38:54 +04:00

22 lines
578 B
GLSL

precision highp float;
varying vec2 varTexcoord;
uniform sampler2D mask;
uniform vec4 color;
void main (void)
{
vec3 maskColor = texture2D(mask, varTexcoord.st, 0.0).rgb;
float srcAlpha = color.a * clamp(maskColor.r + maskColor.b, 0.0, 1.0);
vec3 borderColor = vec3(1.0, 1.0, 1.0);
//vec3 finalColor = mix(color.rgb, borderColor, maskColor.g);
vec3 finalColor = mix(color.rgb, vec3(1.0, 1.0, 1.0), maskColor.b);
gl_FragColor.rgb = (finalColor * srcAlpha) / srcAlpha;
gl_FragColor.a = srcAlpha;
gl_FragColor.rgb *= gl_FragColor.a;
}