Commit: 5c718884b72b35e5350382f193d6883c4b87c2ec
Author: Weizhen Huang
Date: Thu Nov 24 17:04:38 2022 +0100
Branches: soc-2022-many-lights-sampling
https://developer.blender.org/rB5c718884b72b35e5350382f193d6883c4b87c2ec
Fix normalized vector used when computing `closest_point`
===================================================================
M intern/cycles/kernel/light/tree.h
===================================================================
diff --git a/intern/cycles/kernel/light/tree.h
b/intern/cycles/kernel/light/tree.h
index dc7c1b3219a..f80935efd58 100644
--- a/intern/cycles/kernel/light/tree.h
+++ b/intern/cycles/kernel/light/tree.h
@@ -290,7 +290,7 @@ ccl_device void light_tree_emitter_importance(KernelGlobals
kg,
/* TODO: better measure for single emitter */
if (in_volume_segment) {
const float3 D = N_or_D;
- const float3 closest_point = P + D * dot(point_to_centroid, D);
+ const float3 closest_point = P + distance * dot(point_to_centroid, D) * D;
/* minimal distance of the ray to the cluster */
min_distance = len(centroid - closest_point);
max_distance = min_distance;
@@ -367,7 +367,7 @@ ccl_device void light_tree_node_importance(KernelGlobals kg,
if (in_volume_segment) {
const float3 D = N_or_D;
- const float3 closest_point = P + D * dot(point_to_centroid, D);
+ const float3 closest_point = P + distance * dot(point_to_centroid, D)
* D;
/* minimal distance of the ray to the cluster */
distance = len(centroid - closest_point);
point_to_centroid = centroid - P;
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs