Home | History | Annotate | Download | only in OGLES2
      1 uniform sampler2D sTexture;
      2 uniform sampler2D sNormalMap;
      3 uniform bool bUseDot3;
      4 
      5 varying mediump vec2 TexCoord;
      6 varying mediump vec3 Light;
      7 
      8 void main()
      9 {
     10 	if(bUseDot3)
     11 	{
     12 		/*
     13 			Note:
     14 			In the normal map red = y, green = x, blue = z which is why when we get the normal
     15 			from the texture we use the swizzle .grb so the colours are mapped to the correct
     16 			co-ordinate variable.
     17 		*/
     18 
     19 		mediump vec3 fNormal = texture2D(sNormalMap, TexCoord).grb;
     20 		mediump float fNDotL = dot((fNormal - 0.5) * 2.0, Light);
     21 		
     22 		gl_FragColor = texture2D(sTexture, TexCoord) * fNDotL;
     23     }
     24     else
     25 		gl_FragColor = texture2D(sTexture, TexCoord) * Light.x;
     26 }
     27