Commit: 7d33edcf369ca6136680cfbd4e6415cd66e16c94 Author: RiverIntheSky Date: Thu Dec 1 23:58:00 2022 +0100 Branches: soc-2022-many-lights-sampling https://developer.blender.org/rB7d33edcf369ca6136680cfbd4e6415cd66e16c94
Fix `theta - theta_o - theta_u = theta_e = 0` considered invisible =================================================================== M intern/cycles/kernel/light/tree.h =================================================================== diff --git a/intern/cycles/kernel/light/tree.h b/intern/cycles/kernel/light/tree.h index eba03e93cb9..95a7fa0ed79 100644 --- a/intern/cycles/kernel/light/tree.h +++ b/intern/cycles/kernel/light/tree.h @@ -125,12 +125,12 @@ ccl_device void light_tree_importance(const float3 N_or_D, /* minimum angle an emitter’s axis would form with the direction to the shading point, * cos(theta') in the paper */ float cos_min_outgoing_angle; - if ((cos_theta > cos_theta_u) || (cos_theta_minus_theta_u > cos_theta_o)) { - /* theta - theta_o - theta_u < 0 */ + if ((cos_theta >= cos_theta_u) || (cos_theta_minus_theta_u >= cos_theta_o)) { + /* theta - theta_o - theta_u <= 0 */ kernel_assert((fast_acosf(cos_theta) - bcone.theta_o - fast_acosf(cos_theta_u)) < 5e-4f); cos_min_outgoing_angle = 1.0f; } - else if ((cos_theta > cos_theta_u) || (bcone.theta_o + bcone.theta_e > M_PI_F) || + else if ((bcone.theta_o + bcone.theta_e > M_PI_F) || (cos_theta_minus_theta_u > cos(bcone.theta_o + bcone.theta_e))) { /* theta' = theta - theta_o - theta_u < theta_e */ kernel_assert( _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs