[dali_2.3.19] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / graphics / shaders / model3d-view-nrmmap-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
10 void main()
11 {
12   vec4 texture = texture2D( sDiffuse, vTexCoord );
13   vec3 normal = normalize( texture2D( sNormal, vTexCoord ).xyz * 2.0 - 1.0 );
14   vec4 glossMap = texture2D( sGloss, vTexCoord );
15
16   float lightDiffuse = max( 0.0, dot( normal, normalize(vLightDirection) ) );
17   lightDiffuse = lightDiffuse * 0.5 + 0.5;
18
19   float shininess = pow (max (dot (normalize( vHalfVector ), normal), 0.0), 16.0);
20
21   gl_FragColor = vec4( texture.rgb * uColor.rgb * lightDiffuse + shininess * glossMap.rgb, texture.a * uColor.a);
22 }