uniform float effect0;
varying vec3 position;
varying vec4 diffuse,ambientGlobal, ambient,normal;
varying vec3 lightDir,halfVector;
varying float dist;
uniform sampler2D tex;

void main() {
	vec3 n,halfV,viewV,ldir;
	float NdotL,NdotHV;
	vec4 color;
	vec4 tcolor = texture2D(tex,gl_TexCoord[0].st);
	vec4 ambient = vec4(0.25,0.22,0.2,1.0);
	float att;

	n = normalize(normal.xyz);

	NdotL = max(dot(n,normalize(lightDir)),0.0);
		att = 1.0 / (gl_LightSource[0].constantAttenuation +
				gl_LightSource[0].linearAttenuation * dist +
				gl_LightSource[0].quadraticAttenuation * dist * dist);
		color += att * (diffuse * NdotL + ambient);
		halfV = normalize(halfVector);

		NdotHV = max(dot(n,halfV),0.0);
		color += att * gl_FrontMaterial.specular * gl_LightSource[0].specular * pow(NdotHV,128.0/*gl_FrontMaterial.shininess*/);



	gl_FragData[0] = mix(color,tcolor,0.5);
	gl_FragData[0].a = 1.0;
	gl_FragData[1] = normal;
}
