Apply PreMultipliedAlpha on BorderlineColor
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / graphics / shaders / mesh-visual-normal-map-shader.frag
1 precision mediump float;
2 varying mediump vec2 vTexCoord;
3 varying mediump vec3 vLightDirection;
4 varying mediump vec3 vHalfVector;
5 uniform sampler2D sDiffuse;
6 uniform sampler2D sNormal;
7 uniform sampler2D sGloss;
8 uniform lowp vec4 uColor;
9 uniform lowp vec3 mixColor;
10 uniform lowp float preMultipliedAlpha;
11
12 void main()
13 {
14   vec4 texture = texture2D( sDiffuse, vTexCoord );
15   vec3 normal = normalize( texture2D( sNormal, vTexCoord ).xyz * 2.0 - 1.0 );
16   vec4 glossMap = texture2D( sGloss, vTexCoord );
17   vec4 visualMixColor = vec4( mixColor, 1.0 );
18
19   float lightDiffuse = max( 0.0, dot( normal, normalize( vLightDirection ) ) );
20   lightDiffuse = lightDiffuse * 0.5 + 0.5;
21
22   float shininess = pow ( max ( dot ( normalize( vHalfVector ), normal ), 0.0 ), 16.0 );
23
24   gl_FragColor = vec4( texture.rgb * uColor.rgb * visualMixColor.rgb * lightDiffuse + shininess * glossMap.rgb, texture.a * uColor.a * visualMixColor.a );
25 }