Commit: ba398d54c6164acd4ca8e560a247a512004fc4f9
Author: Brecht Van Lommel
Date: Wed Nov 16 17:33:15 2022 +0100
Branches: soc-2022-many-lights-sampling
https://developer.blender.org/rBba398d54c6164acd4ca8e560a247a512004fc4f9
Fix CUDA build error after recent changes
===================================================================
M intern/cycles/kernel/light/tree.h
===================================================================
diff --git a/intern/cycles/kernel/light/tree.h
b/intern/cycles/kernel/light/tree.h
index 5e2e1503ba5..ab4cbac326e 100644
--- a/intern/cycles/kernel/light/tree.h
+++ b/intern/cycles/kernel/light/tree.h
@@ -456,9 +456,8 @@ ccl_device int
light_tree_cluster_select_emitter(KernelGlobals kg,
const ccl_global
KernelLightTreeNode *knode,
ccl_private float *pdf_factor)
{
- float2 importance;
- float2 selected_importance = zero_float2();
- float2 total_importance = zero_float2();
+ float selected_importance[2] = {0.0f, 0.0f};
+ float total_importance[2] = {0.0f, 0.0f};
int selected_index = -1;
/* Mark emitters with zero importance. Used for resevoir when total minimum
importance = 0 */
@@ -471,6 +470,7 @@ ccl_device int
light_tree_cluster_select_emitter(KernelGlobals kg,
for (int i = 0; i < knode->num_prims; i++) {
int current_index = -knode->child_index + i;
/* maximum importance = importance[0], mininum importance = importance[1]
*/
+ float importance[2];
light_tree_emitter_importance<in_volume_segment>(
kg, P, N_or_D, t, has_transmission, current_index, importance[0],
importance[1]);
@@ -510,18 +510,15 @@ ccl_device int
light_tree_cluster_select_emitter(KernelGlobals kg,
rand);
has_importance >>= 1;
}
- light_tree_emitter_importance<in_volume_segment>(kg,
- P,
- N_or_D,
- t,
- has_transmission,
- selected_index,
- selected_importance[0],
- importance[1]);
+
+ float discard;
+ light_tree_emitter_importance<in_volume_segment>(
+ kg, P, N_or_D, t, has_transmission, selected_index,
selected_importance[0], discard);
}
}
- *pdf_factor = average(selected_importance / total_importance);
+ *pdf_factor = 0.5f * (selected_importance[0] / total_importance[0] +
+ selected_importance[1] / total_importance[1]);
return selected_index;
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs