Lighting Math

The total color, from a single light, is:

color =  diffuse * material_diffuse * light_diffuse
       + specular * material_specular * light_specular
       + material_ambient * light_ambient

diffuse =  surface_normal dot light_direction 

specular =  specularFunction(surface_normal,
                             light_direction,
                             eye_direction,
                             shininess)
next