Blender Git Loki
Git Commits -> Revision 0bbeb24
Revision 0bbeb24 by Jacques Lucke (cycles_texture_cache) May 6, 2021, 09:25 (GMT) |
Geometry Nodes: refactor instances component The main goal of this refactor is to not store Object/Collection pointers for every individual instance. Instead instances now store a handle for the referenced data. The actual Object/Collection pointers are stored in a new `InstanceReference` class. This refactor also allows for some better optimizations further down the line, because one does not have to search through all instances anymore to find what data is instanced. Furthermore, this refactor makes it easier to support instancing `GeometrySet` or any other data that has to be owned by the `InstancesComponent`. Differential Revision: https://developer.blender.org/D11125 |
Commit Details:
Full Hash: 0bbeb24fe6645ada7277de2e93430ad6e6d588d7
Parent Commit: ee37819
Committed By: Stefan Werner
Lines Changed: +268, -167
11 Modified Paths:
/source/blender/blenkernel/BKE_geometry_set.h (+0, -13) (Diff)
/source/blender/blenkernel/BKE_geometry_set.hh (+87, -11) (Diff)
/source/blender/blenkernel/intern/geometry_component_instances.cc (+49, -35) (Diff)
/source/blender/blenkernel/intern/geometry_set_instances.cc (+37, -25) (Diff)
/source/blender/blenkernel/intern/object_dupli.cc (+20, -16) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.cc (+18, -12) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_collection_info.cc (+3, -5) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc (+24, -7) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_object_info.cc (+3, -2) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_point_instance.cc (+26, -40) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_transform.cc (+1, -1) (Diff)
/source/blender/blenkernel/BKE_geometry_set.hh (+87, -11) (Diff)
/source/blender/blenkernel/intern/geometry_component_instances.cc (+49, -35) (Diff)
/source/blender/blenkernel/intern/geometry_set_instances.cc (+37, -25) (Diff)
/source/blender/blenkernel/intern/object_dupli.cc (+20, -16) (Diff)
/source/blender/editors/space_spreadsheet/spreadsheet_data_source_geometry.cc (+18, -12) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_collection_info.cc (+3, -5) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_join_geometry.cc (+24, -7) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_object_info.cc (+3, -2) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_point_instance.cc (+26, -40) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_transform.cc (+1, -1) (Diff)