equal
  deleted
  inserted
  replaced
  
    
    
    98 		return bg_colour;  | 
    98 		return bg_colour;  | 
    99 	} else { | 
    99 	} else { | 
   100 		Colour acc = Colour();  | 
   100 		Colour acc = Colour();  | 
   101 		Vector3 P = ray.o + ray.dir * nearest_distance; // point of intersection  | 
   101 		Vector3 P = ray.o + ray.dir * nearest_distance; // point of intersection  | 
   102 		Vector3 normal = nearest_shape->normal(P);  | 
   102 		Vector3 normal = nearest_shape->normal(P);  | 
         | 
   103 		// make shapes double sided  | 
         | 
   104 		if (dot(normal, ray.dir) > 0.0)  | 
         | 
   105 			normal = - normal;  | 
   103 		acc = PhongShader_ambient(*nearest_shape->material, P);  | 
   106 		acc = PhongShader_ambient(*nearest_shape->material, P);  | 
   104   | 
   107   | 
   105 		vector<Light*>::iterator light;  | 
   108 		vector<Light*>::iterator light;  | 
   106 		for (light = lights.begin(); light != lights.end(); light++) { | 
   109 		for (light = lights.begin(); light != lights.end(); light++) { | 
   107 			Vector3 jo, L = (*light)->pos - P; // direction vector to light  | 
   110 			Vector3 jo, L = (*light)->pos - P; // direction vector to light  |