varying vec4 ambient, diffuse; varying vec3 normal, lightdir, halfvector; void main() { //transform the normal normal = gl_NormalMatrix * gl_Normal; //determine the light direction lightdir = normalize(gl_LightSource[0].position.xyz); halfvector = normalize(gl_LightSource[0].halfVector.xyz); //compute diffuse and ambient terms diffuse = gl_FrontMaterial.diffuse * gl_LightSource[0].diffuse; ambient = gl_FrontMaterial.ambient * (gl_LightSource[0].ambient + gl_LightModel.ambient); gl_Position = ftransform(); //gl_TexCoord[0] = gl_MultiTexCoord0; }