From 87d3c2788e287b1e8811053dab07573f9696a2f3 Mon Sep 17 00:00:00 2001 From: vonhyou Date: Wed, 20 Mar 2024 16:53:55 -0400 Subject: [PATCH] fix area light illumination --- src/Light.cc | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/Light.cc b/src/Light.cc index c2f5fe0..ce29101 100644 --- a/src/Light.cc +++ b/src/Light.cc @@ -57,11 +57,10 @@ Vector3f AreaLight::illumination(const HitRecord &hit, Vector3f u = p4 - p1; Vector3f v = p2 - p1; - Vector3f color = Vector3f::Zero(); - if (useCenter) { - color += PointLight(*this, getCenter()).illumination(hit, geometries); + return PointLight(*this, getCenter()).illumination(hit, geometries); } else { + Vector3f color = Vector3f::Zero(); for (int y = 0; y < gridSize; ++y) for (int x = 0; x < gridSize; ++x) { Vector3f contribution = @@ -69,7 +68,6 @@ Vector3f AreaLight::illumination(const HitRecord &hit, .illumination(hit, geometries); color += contribution; } + return color / gridSize / gridSize; } - - return color / gridSize / gridSize; }