Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2022-03-11 00:42:22 +0300
committerHans Goudey <h.goudey@me.com>2022-03-11 00:42:30 +0300
commitedcb2ad7b3a07f9cd09243cc5fbf5e563e853964 (patch)
tree92fc83f166a9afd2b028d2186085bfe4e62b8e9f
parentfe3a9fcce1e6cfce84139d53efe6ed17a71bcad7 (diff)
Fix: Handle handles reset when realizing with other curve types
The result handle attributes for non-bezier types are zeroed. By mistake though, the entire array was zeroed, not just the area corresponding to that curves source.
-rw-r--r--source/blender/geometry/intern/realize_instances.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/geometry/intern/realize_instances.cc b/source/blender/geometry/intern/realize_instances.cc
index 100146bbf0c..32bad07de4f 100644
--- a/source/blender/geometry/intern/realize_instances.cc
+++ b/source/blender/geometry/intern/realize_instances.cc
@@ -1155,14 +1155,14 @@ static void execute_realize_curve_task(const RealizeInstancesOptions &options,
/* Copy and transform handle positions if necessary. */
if (all_curves_info.create_handle_postion_attributes) {
if (curves_info.handle_left.is_empty()) {
- all_handle_left.fill(float3(0));
+ all_handle_left.slice(dst_point_range).fill(float3(0));
}
else {
copy_transformed_positions(
curves_info.handle_left, task.transform, all_handle_left.slice(dst_point_range));
}
if (curves_info.handle_right.is_empty()) {
- all_handle_right.fill(float3(0));
+ all_handle_right.slice(dst_point_range).fill(float3(0));
}
else {
copy_transformed_positions(