Blender Git Commit Log

Git Commits -> Revision bb97284

October 29, 2020, 14:38 (GMT)
Geometry Nodes: refactor Geometry type

A geometry now contains zero or more geometry components.
A geometry component is a subclass off GeometryComponent.
Currently, there is a MeshComponent and PointCloudComponent.

A geometry contains at most one component of each type.
Individual components can be shared between multiple geometries
to avoid unnecessary copies. For that, each component has a user
count that determines when the component will be freed and whether
it is mutable.

Code working with geometries can either work with the components
directly, or use the utility functions on the geometry that cover the
most common operations.

In the future, additional component types can be added. For example,
we'll probably need components for curves and volumes.
Furthermore, something like an InstancesComponent can be added,
which contains points with attributes and references a geometry/object/collection
that is instanced on all the points.

Commit Details:

Full Hash: bb97284f8aa63a87c682b0b3f98c9aff3700a174
Parent Commit: 209e82d
Lines Changed: +592, -305

1 Added Path:

/source/blender/blenlib/BLI_user_counter.hh (+158, -0) (View)

12 Modified Paths:

/source/blender/blenkernel/BKE_geometry.hh (+111, -139) (Diff)
/source/blender/blenkernel/intern/geometry.cc (+260, -100) (Diff)
/source/blender/blenlib/CMakeLists.txt (+1, -0) (Diff)
/source/blender/modifiers/intern/MOD_edgesplit.c (+2, -2) (Diff)
/source/blender/modifiers/intern/MOD_nodes.cc (+2, -3) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_boolean.cc (+4, -7) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_edge_split.cc (+16, -18) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_point_distribute.cc (+8, -12) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_point_instance.cc (+6, -9) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_transform.cc (+5, -5) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_triangulate.cc (+16, -10) (Diff)
/source/blender/nodes/NOD_geometry_exec.hh (+3, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021