[Bf-blender-cvs] [eb302e2501b] temp-geometry-nodes-instances-api-v2: Fix bug in instance node

Hans Goudey noreply at git.blender.org
Sun Feb 7 07:14:19 CET 2021


Commit: eb302e2501bd7948cd9d8a4de6116ea5a25ceedf
Author: Hans Goudey
Date:   Sat Feb 6 23:17:48 2021 -0600
Branches: temp-geometry-nodes-instances-api-v2
https://developer.blender.org/rBeb302e2501bd7948cd9d8a4de6116ea5a25ceedf

Fix bug in instance node

===================================================================

M	source/blender/nodes/geometry/nodes/node_geo_point_instance.cc

===================================================================

diff --git a/source/blender/nodes/geometry/nodes/node_geo_point_instance.cc b/source/blender/nodes/geometry/nodes/node_geo_point_instance.cc
index 164a6ea2460..c5c25bcb1db 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_point_instance.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_point_instance.cc
@@ -171,12 +171,14 @@ static void add_instances_from_component_transforms(InstancesComponent &instance
   Array<std::optional<InstancedData>> instances_data = get_instanced_data(
       params, src_geometry, size);
 
-  for (const int i : IndexRange(size)) {
-    if (instances_data[i].has_value()) {
-      float4x4 instance_transform;
-      loc_eul_size_to_mat4(instance_transform.values, positions[i], rotations[i], scales[i]);
-      instance_transform = transforms[i] * instance_transform;
-      instances.add_instance(*instances_data[i], instance_transform, ids[i]);
+  for (const float4x4 &transform : transforms) {
+    for (const int i : IndexRange(size)) {
+      if (instances_data[i].has_value()) {
+        float4x4 instance_transform;
+        loc_eul_size_to_mat4(instance_transform.values, positions[i], rotations[i], scales[i]);
+        instance_transform = transform * instance_transform;
+        instances.add_instance(*instances_data[i], instance_transform, ids[i]);
+      }
     }
   }
 }



More information about the Bf-blender-cvs mailing list