[Bf-blender-cvs] [9a9873acc7c] soc-2022-many-lights-sampling: Fix: many lights oversamples area light outside of spread

Jeffrey Liu noreply at git.blender.org
Sat Jul 23 19:06:39 CEST 2022


Commit: 9a9873acc7c550554cd3f621ca613a60551238d7
Author: Jeffrey Liu
Date:   Sat Jul 23 13:05:11 2022 -0400
Branches: soc-2022-many-lights-sampling
https://developer.blender.org/rB9a9873acc7c550554cd3f621ca613a60551238d7

Fix: many lights oversamples area light outside of spread

This issue was caused by the light tree construction assuming the
emission profile of the area light would be equal to a constant value.
This is resolved by setting it equal to half of the spread.

===================================================================

M	intern/cycles/scene/light_tree.cpp

===================================================================

diff --git a/intern/cycles/scene/light_tree.cpp b/intern/cycles/scene/light_tree.cpp
index e05b1ca029f..4aed50c6f4f 100644
--- a/intern/cycles/scene/light_tree.cpp
+++ b/intern/cycles/scene/light_tree.cpp
@@ -178,7 +178,7 @@ OrientationBounds LightTreePrimitive::calculate_bcone(Scene *scene) const
     }
     else if (type == LIGHT_AREA) {
       bcone.theta_o = 0;
-      bcone.theta_e = M_PI_2_F;
+      bcone.theta_e = lamp->get_spread() * 0.5f;
     }
     else {
       /* This should never be reached during construction. */



More information about the Bf-blender-cvs mailing list