Apply PreMultipliedAlpha on BorderlineColor
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / graphics / shaders / npatch-visual-mask-shader.frag
1 varying mediump vec2 vTexCoord;
2 varying mediump vec2 vMaskTexCoord;
3 uniform sampler2D sTexture;
4 uniform sampler2D sMask;
5 uniform lowp vec4 uColor;
6 uniform lowp vec3 mixColor;
7 uniform lowp float preMultipliedAlpha;
8 uniform mediump float auxiliaryImageAlpha;
9
10 void main()
11 {
12   // Where mask image is transparent, all of background image must show through.
13   // where mask image is opaque, only mask should be shown
14   // where mask is translucent, less of background should be shown.
15   // auxiliaryImageAlpha controls how much of mask is visible
16
17   mediump vec4 color = texture2D( sTexture, vTexCoord );
18   mediump vec4 mask= texture2D( sMask, vMaskTexCoord );
19
20   mediump vec3 mixedColor = color.rgb * mix( 1.0-mask.a, 1.0, 1.0-auxiliaryImageAlpha)
21                             + mask.rgb*mask.a * auxiliaryImageAlpha;
22   gl_FragColor = vec4(mixedColor,1.0) * uColor * vec4( mixColor, 1.0 );
23 }