void main() { vec4 P = gl_ModelViewMatrix*gl_Vertex; vec4 E = gl_ProjectionMatrixInverse*vec4(0,0,-1,0); vec3 V = normalize(E.xyz*P.w-P.xyz*E.w); vec3 N = normalize(gl_NormalMatrix*gl_Normal); /* accumulate light contribution */ gl_FrontColor = vec4(0); for(int i=0; i 0.) { gl_FrontColor += gl_LightSource[i].diffuse * diff; gl_FrontColor += gl_LightSource[i].specular * max(pow(dot(N,H),gl_FrontMaterial.shininess),0.); } } gl_TexCoord[0] = gl_TextureMatrix[0]*gl_MultiTexCoord0; gl_Position = ftransform(); }