diff options
author | Hans Goudey <h.goudey@me.com> | 2022-03-14 19:48:11 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2022-03-14 19:48:11 +0300 |
commit | d4e46c13cc92e01489a031a6afe6bafb5af5ca18 (patch) | |
tree | 5c6294d006044d4100500f9e92bce8fea36c8841 /source/blender/blenloader | |
parent | a5578351c38e2b2bb45d940a2fc57354e5fe3a5e (diff) |
Geometry Nodes: Add named attribute nodes behind experimental flag
This commit adds three nodes:
- `Remove Attribute`: Removes an attribute with the given name
- `Named Attribute`: A field input node
- `Store Named Attribute`: Puts results of a field in a named attribute
They are added behind a new experimental feature flag, because further
development of attribute search and name dependency visualization will
happen as separate steps.
Ref T91742
Differential Revision: https://developer.blender.org/D12685
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r-- | source/blender/blenloader/intern/versioning_300.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/source/blender/blenloader/intern/versioning_300.c b/source/blender/blenloader/intern/versioning_300.c index 9afaad04066..eead735b305 100644 --- a/source/blender/blenloader/intern/versioning_300.c +++ b/source/blender/blenloader/intern/versioning_300.c @@ -527,7 +527,7 @@ static void version_geometry_nodes_add_realize_instance_nodes(bNodeTree *ntree) GEO_NODE_TRIM_CURVE, GEO_NODE_REPLACE_MATERIAL, GEO_NODE_SUBDIVIDE_MESH, - GEO_NODE_ATTRIBUTE_REMOVE, + GEO_NODE_LEGACY_ATTRIBUTE_REMOVE, GEO_NODE_TRIANGULATE)) { bNodeSocket *geometry_socket = node->inputs.first; add_realize_instances_before_socket(ntree, node, geometry_socket); @@ -999,7 +999,7 @@ static bool geometry_node_is_293_legacy(const short node_type) /* Maybe legacy: Might need special attribute handling, depending on design. */ case GEO_NODE_SWITCH: case GEO_NODE_JOIN_GEOMETRY: - case GEO_NODE_ATTRIBUTE_REMOVE: + case GEO_NODE_LEGACY_ATTRIBUTE_REMOVE: case GEO_NODE_OBJECT_INFO: case GEO_NODE_COLLECTION_INFO: return false; @@ -2637,5 +2637,14 @@ void blo_do_versions_300(FileData *fd, Library *UNUSED(lib), Main *bmain) */ { /* Keep this block, even when empty. */ + + /* Deprecate the attribute remove node. It was hidden and is replaced by a version without a + * multi-input socket. */ + LISTBASE_FOREACH (bNodeTree *, ntree, &bmain->nodetrees) { + if (ntree->type == NTREE_GEOMETRY) { + version_node_id( + ntree, GEO_NODE_LEGACY_ATTRIBUTE_REMOVE, "GeometryNodeLegacyAttributeRemove"); + } + } } } |