X-Git-Url: https://git.rohieb.name/MicroTrace.git/blobdiff_plain/3e9d9dd0040fc7b578bb49bac41e8292ce16a685..fd7caf7240f13d618697dbbc403142c1dd6057a6:/EyeLightShader.cxx diff --git a/EyeLightShader.cxx b/EyeLightShader.cxx index 8eae610..4f31b84 100644 --- a/EyeLightShader.cxx +++ b/EyeLightShader.cxx @@ -21,9 +21,8 @@ EyeLightShader::EyeLightShader() Vec3f EyeLightShader::Shade(Ray& ray) { - // shade according to cos(theta) - Vec3f r = ray.direction(); - Vec3f n = ray.hit()->GetNormal(ray); - float cos_theta = fabs(r.dot(n) / (r.norm() * n.norm())); - return m_color * cos_theta; + Vec3f N = ray.hit()->GetNormal(ray); + float cos_phi = fabs(ray.direction().dot(N)); + + return m_color * cos_phi; }