Blender Git Commit Log

Git Commits -> Revision 4599cea

Revision 4599cea by Jacques Lucke (master)
May 4, 2021, 08:16 (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: 4599cea15dcf7563bfbcb8be148ef5f89cf2dddd
Parent Commit: e6bf272
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)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021