Subversion Repositories AndroidProjects

Rev

Rev 1835 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#ifdef GL_ES
precision mediump float;
#endif

uniform sampler2D uDiffuse;
uniform sampler2D uNormalMap;
uniform float uAlpha;
uniform vec4 uColor;
uniform vec4 uFogColor;

varying vec4 vColor;
varying vec2 vTexCoord;
varying vec3 vLightDir;

void main()
{
        vec4 normal = texture2D(uNormalMap, vTexCoord.xy);
        
        normal = (normal - 0.5) * 2.0;
        
        float lighting = dot(normalize(normal.xyz), normalize(-vLightDir));
        
        vec4 result = texture2D(uDiffuse, vTexCoord.xy) * uColor * vColor;
        
        result.rgb = result.rgb * (1.0-uFogColor.a) + uFogColor.rgb * uFogColor.a;
        
        float l = min(lighting*lighting*5.0, 1.0);
        result.rgb = (result.rgb * 0.2) + (result.rgb * 0.6 * l) + (0.2 * l);   
        
        result.w *= uAlpha;
        gl_FragColor = result;
}