Refraction is fully there, with magic fresnel!

This commit is contained in:
Godzil
2020-02-22 01:27:48 +00:00
parent e45dbad59e
commit 51a6bbebb9
9 changed files with 126 additions and 3 deletions

View File

@@ -104,6 +104,14 @@ Tuple World::shadeHit(Computation comps, uint32_t depthCount)
Tuple reflected = this->reflectColour(comps, depthCount);
Tuple refracted = this->refractedColour(comps, depthCount);
if ((comps.object->material.reflective > 0) && (comps.object->material.transparency > 0))
{
double reflectance = comps.schlick();
return surface + reflected * reflectance + refracted * (1 - reflectance);
}
return surface + reflected + refracted;
}