uniform sampler2D Texture; uniform sampler2D NormalMap; uniform int NormalMapExists; varying vec2 texCoord; varying int activeLightCount; varying vec3 camVec; varying vec3 lightVec[8]; void main() { vec3 norm; vec4 ambient; vec4 diffuse; vec4 specular; vec3 cVec = normalize(camVec); vec3 lVec; vec3 TexRGB = texture2D(Texture, texCoord.st).rgb; if (NormalMapExists == 0) { norm = vec3(0.0,0.0,1.0); } else { norm = (texture2D(NormalMap, texCoord.st).rgb - 0.5) * 2.0; } float shineFactor = 15.0 * pow(max(dot(cVec, norm),0.0),gl_FrontMaterial.shininess) / (129.0 - gl_FrontMaterial.shininess); gl_FragColor = vec4(0.0,0.0,0.0,1.0); for (int i=0; i