davidhaver-WIP-realize-depth #3

Closed
David-Haver wants to merge 65 commits from David-Haver/blender-old:davidhaver-WIP-realize-depth into WIP-realize-depth

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
Showing only changes of commit 0a6dc9dec5 - Show all commits

View File

@ -2,6 +2,7 @@
* *
* SPDX-License-Identifier: GPL-2.0-or-later */ * SPDX-License-Identifier: GPL-2.0-or-later */
#include "GEO_join_geometries.hh"
#include "GEO_realize_instances.hh" #include "GEO_realize_instances.hh"
#include "DNA_collection_types.h" #include "DNA_collection_types.h"
@ -247,6 +248,12 @@ struct GatherTasksInfo {
const AllCurvesInfo &curves; const AllCurvesInfo &curves;
bool create_id_attribute_on_any_component = false; bool create_id_attribute_on_any_component = false;
/** Selection for top-level instances to realize. */
IndexMask selection;
/** Depth to realize instances for each selected top-level instance. */
const VArray<int> &depths;
/** /**
* Under some circumstances, temporary arrays need to be allocated during the gather operation. * Under some circumstances, temporary arrays need to be allocated during the gather operation.
* For example, when an instance attribute has to be realized as a different data type. This * For example, when an instance attribute has to be realized as a different data type. This
@ -1542,6 +1549,8 @@ bke::GeometrySet realize_instances(bke::GeometrySet geometry_set,
all_meshes_info, all_meshes_info,
all_curves_info, all_curves_info,
create_id_attribute, create_id_attribute,
options.selection,
options.depths,
temporary_arrays}; temporary_arrays};
const float4x4 transform = float4x4::identity(); const float4x4 transform = float4x4::identity();
InstanceContext attribute_fallbacks(gather_info); InstanceContext attribute_fallbacks(gather_info);