示例#1
0
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;
}