precision lowp float;
uniform sampler2D Texture;
uniform sampler2D NormalMap;
uniform float Transparency;
varying vec2 texCoord;
varying vec2 posCoord;

void main() 
{
	vec3 lightPos = vec3(400.0, 200.0, 200.0);
	
	vec3 lVec = normalize(lightPos - vec3(posCoord, 0.0));
	
	vec3 texParam = texture2D(NormalMap, texCoord.st).rgb;
	vec3 normVec;
	if (texParam.x == 0.0 && texParam.y == 0.0 && texParam.z == 0.0)
	{
		normVec = vec3(0.0,0.0,1.0);
	}
	else
	{
		normVec = (texture2D(NormalMap, texCoord.st).rgb - 0.5)* 2.0;
	
	}
	
	vec4 diffuse = vec4(1.0, 1.0, 1.0, 1.0) * max( dot(lVec, normVec), 0.0) * 0.5;
	//vec4 diffuse = vec4(1.0, 1.0, 1.0, 1.0) * 0.5;
	
	vec4 color = texture2D(Texture, texCoord).rgba * 0.5 + texture2D(Texture, texCoord).rgba * diffuse;

	gl_FragColor = vec4(color.rgb, color.a * Transparency);
	
	
	
}