[Bf-blender-cvs] [2c7b7161f2d] soc-2022-many-lights-sampling: Fix wrong distant light bounding cone angles
Weizhen Huang
noreply at git.blender.org
Mon Nov 28 18:14:01 CET 2022
Commit: 2c7b7161f2df0015b1ed63aee693983bf95d953c
Author: Weizhen Huang
Date: Mon Nov 28 18:13:24 2022 +0100
Branches: soc-2022-many-lights-sampling
https://developer.blender.org/rB2c7b7161f2df0015b1ed63aee693983bf95d953c
Fix wrong distant light bounding cone angles
===================================================================
M intern/cycles/kernel/light/tree.h
M intern/cycles/scene/light_tree.cpp
===================================================================
diff --git a/intern/cycles/kernel/light/tree.h b/intern/cycles/kernel/light/tree.h
index 9b4462387c3..9ffb4c22697 100644
--- a/intern/cycles/kernel/light/tree.h
+++ b/intern/cycles/kernel/light/tree.h
@@ -259,8 +259,7 @@ ccl_device void light_tree_emitter_importance(KernelGlobals kg,
}
if (klight->type == LIGHT_DISTANT) {
/* Treating it as a disk light 1 unit away */
- cos_theta_u = fast_cosf(theta_o);
- theta_o = 0.0f;
+ cos_theta_u = fast_cosf(kemitter->theta_e);
max_distance = 1.0f / cos_theta_u;
}
else {
diff --git a/intern/cycles/scene/light_tree.cpp b/intern/cycles/scene/light_tree.cpp
index 90f5ae43260..6db2b29c4fd 100644
--- a/intern/cycles/scene/light_tree.cpp
+++ b/intern/cycles/scene/light_tree.cpp
@@ -173,8 +173,8 @@ LightTreePrimitive::LightTreePrimitive(Scene *scene, int prim_id, int object_id)
strength *= lamp->get_average_radiance() * M_PI_F;
}
else if (type == LIGHT_DISTANT) {
- bcone.theta_o = tanf(0.5f * lamp->get_angle());
- bcone.theta_e = 0;
+ bcone.theta_o = 0;
+ bcone.theta_e = 0.5f * lamp->get_angle();
}
if (lamp->get_shader()) {
More information about the Bf-blender-cvs
mailing list