anchor.diff:    //                computeLight(vPosition, vNormal, 0.0, 0.0, uLight2) + 
     //                computeLight(vPosition, vNormal, 0.0, 0.0, uLight3);
   
  -  vec3 lighting = phong2(vPosition, vNormal, uLight0);
  +  vec3 lighting = phong3(vPosition, vNormal, uLight0);
   
     gl_FragColor = vec4(lighting, 1.0);
   }
  
positive.code: 
  vec3 phong2(vec4 position, vec4 normal, lightSource ls) {
  
  
    vec3 eyePosition = normalize(uCameraPosition);
    vec3 lightPosition = normalize(ls.position);
    vec3 P = normalize(position.xyz);
  
negative.code:   return ambient + diffuse + specular;
  }
  
  vec3 phong3(vec4 position, vec4 normal, lightSource ls) {
    vec3 N = normalize(normal.xyz);
    vec3 P = normalize(position.xyz);
    vec3 L = normalize(ls.position - position.xyz);
    
    //ambient term
    vec3 ambient = ls.ambient;
    //diffuse term
    float diffuseAngle = max(dot(N, L), 0.0);
    vec3 diffuse = ls.color * diffuseAngle;
    //specular term
    vec3 specular = vec3(0.0, 0.0, 0.0);
    if(diffuseAngle > 0.0){
      vec3 V = normalize(uCameraPosition - position.xyz);
      vec3 H = 
      specular = ls.color * pow(max(dot(N, H), 0.0), ls.shininess); 
    }
    return ambient + diffuse + specular;
  }
  
  
  """;
  
  