forked from blender/blender
davidhaver-WIP-realize-depth #3
@ -269,7 +269,7 @@ struct GatherTasksInfo {
|
||||
|
||||
|
||||
/** Instance components to merge for output geometry. */
|
||||
Vector<const bke::InstancesComponent *> instances_components_to_merge;
|
||||
Vector<const bke::GeometryComponent *> instances_components_to_merge;
|
||||
/** Base transform for each instance component. */
|
||||
Vector<float4x4> instances_components_transforms;
|
||||
|
||||
@ -655,8 +655,8 @@ static void gather_realize_tasks_recursive(GatherTasksInfo &gather_info,
|
||||
}
|
||||
case bke::GeometryComponent::Type::Instance: {
|
||||
if (current_depth == target_depth) {
|
||||
const auto &instances_component = static_cast<const bke::InstancesComponent *>(component);
|
||||
gather_info.instances_components_to_merge.append(instances_component);
|
||||
// const auto &instances_component = static_cast<const bke::InstancesComponent *>(component);
|
||||
gather_info.instances_components_to_merge.append(component);
|
||||
gather_info.instances_components_transforms.append(base_transform);
|
||||
}
|
||||
else{
|
||||
@ -1678,20 +1678,21 @@ bke::GeometrySet realize_instances(bke::GeometrySet geometry_set,
|
||||
}
|
||||
gather_realize_tasks_recursive(gather_info, 0, -1, geometry_set, transform, attribute_fallbacks);
|
||||
|
||||
Vector<bke::GeometrySet> geometries_to_merge;
|
||||
Vector<const bke::GeometryComponent *> component_to_merge;
|
||||
for (const auto &instances_component : gather_info.instances_components_to_merge) {
|
||||
// Assuming InstancesComponent is implicitly convertible to GeometryComponent
|
||||
const bke::GeometryComponent *geometry_component = static_cast<const bke::GeometryComponent *>(instances_component);
|
||||
component_to_merge.append(geometry_component);
|
||||
// Create a new GeometrySet and add the geometry component to it
|
||||
bke::GeometrySet new_geometry_se;
|
||||
new_geometry_se.add(*geometry_component);
|
||||
// Vector<bke::GeometrySet> geometries_to_merge;
|
||||
// Vector<const bke::GeometryComponent *> component_to_merge;
|
||||
// for (const auto &instances_component : gather_info.instances_components_to_merge) {
|
||||
// // Assuming InstancesComponent is implicitly convertible to GeometryComponent
|
||||
// const bke::GeometryComponent *geometry_component = static_cast<const bke::GeometryComponent *>(instances_component);
|
||||
// component_to_merge.append(geometry_component);
|
||||
// // Create a new GeometrySet and add the geometry component to it
|
||||
// bke::GeometrySet new_geometry_se;
|
||||
// new_geometry_se.add(*geometry_component);
|
||||
|
||||
// Add the new GeometrySet to the Vector
|
||||
geometries_to_merge.append(new_geometry_se);
|
||||
}
|
||||
join_transform_instance_components(component_to_merge, gather_info.instances_components_transforms, new_geometry_set);
|
||||
// // Add the new GeometrySet to the Vector
|
||||
// geometries_to_merge.append(new_geometry_se);
|
||||
// }
|
||||
|
||||
join_transform_instance_components(gather_info.instances_components_to_merge, gather_info.instances_components_transforms, new_geometry_set);
|
||||
// new_geometry_set = geometry::join_geometries(geometries_to_merge, options.propagation_info);
|
||||
|
||||
execute_realize_pointcloud_tasks(options,
|
||||
|
Loading…
Reference in New Issue
Block a user