Add preliminary support for material emissivity.
Not yet sure it work as I intended.
This commit is contained in:
@@ -25,6 +25,7 @@ Colour Material::lighting(Light light, Tuple point, Tuple eyeVector, Tuple norma
|
||||
|
||||
Tuple effectiveColour = pointColor * light.intensity;
|
||||
Tuple ambientColour = Colour(0, 0, 0);
|
||||
Tuple emissiveColour = Colour(0, 0, 0);
|
||||
Tuple diffuseColour = Colour(0, 0, 0);
|
||||
Tuple specularColour = Colour(0, 0, 0);
|
||||
Tuple finalColour = Colour(0, 0, 0);
|
||||
@@ -33,6 +34,8 @@ Colour Material::lighting(Light light, Tuple point, Tuple eyeVector, Tuple norma
|
||||
|
||||
ambientColour = effectiveColour * this->ambient;
|
||||
|
||||
emissiveColour = pointColor * this->emissive;
|
||||
|
||||
if (!inShadow)
|
||||
{
|
||||
lightDotNormal = lightVector.dot(normalVector);
|
||||
@@ -60,7 +63,7 @@ Colour Material::lighting(Light light, Tuple point, Tuple eyeVector, Tuple norma
|
||||
}
|
||||
}
|
||||
}
|
||||
finalColour = ambientColour + diffuseColour + specularColour;
|
||||
finalColour = emissiveColour + ambientColour + diffuseColour + specularColour;
|
||||
|
||||
return Colour(finalColour.x, finalColour.y, finalColour.z);
|
||||
}
|
||||
Reference in New Issue
Block a user