 
    halfVector = normalize(VP + eye);
 
-   nDotVP = max(0.0, dot(normal, VP));
-   nDotHV = max(0.0, dot(normal, halfVector));
+   nDotVP = abs(dot(normal, VP));
+   nDotHV = abs(dot(normal, halfVector));
 
    if (nDotVP == 0.0)
    {

 
  vec4 color = gl_FrontLightModelProduct.sceneColor +
    Ambient  * gl_FrontMaterial.ambient +
    Diffuse  * vec4(polygonColor, 1);
  color += Specular * gl_FrontMaterial.specular;
  color = clamp( color, 0.0, 1.0 );
  gl_FragColor = vec4(color.rgb, 1.0);
}

void main() {
	//gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
	shade (normalize(normal), vec3(gl_ModelViewMatrix * vec4(pos, 1)));
}
   float nDotHV;         // normal . light half vector
   float pf;             // power factor

   nDotVP = abs(dot(normal, normalize(vec3 (gl_LightSource[i].position))));
   nDotHV = abs(dot(normal, vec3 (gl_LightSource[i].halfVector)));

   if (nDotVP == 0.0)
   {
