Colour RayTracer::CalculateDiffuseLighting(Vector3 &lightNormal, Vector3 &surfaceNormal, Light &light, Material &material) { Colour diffuse; double angle = lightNormal.DotProduct(surfaceNormal); if (angle > 0.0) { diffuse.red = light.GetLightColour().red * material.GetDiffuseColour().red * angle; diffuse.green = light.GetLightColour().red * material.GetDiffuseColour().green * angle; diffuse.blue = light.GetLightColour().red * material.GetDiffuseColour().blue * angle; } return diffuse; }