Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2022-03-16 16:51:11 +0300
committerHans Goudey <h.goudey@me.com>2022-03-16 16:51:11 +0300
commit943b919fe807b53558631bcbc688c2d712d6b0cc (patch)
treec1c141866f50eb1f28e1875195395c8582898cc2 /source/blender/blenkernel/intern/node.cc
parentcb267cec5552c17092a99999e4e352bf266b578f (diff)
Geometry Nodes: Remove legacy node code
This commit removes the implementations of legacy nodes, their type definitions, and related code that becomes unused. Now that we have two releases that included the legacy nodes, there is not much reason to include them still. Removing the code means refactoring will be easier, and old code doesn't have to be tested and maintained. After this commit, the legacy nodes will be undefined in the UI, so 3.0 or 3.1 should be used to convert files to the fields system. The net change is 12184 lines removed! The tooltip for legacy nodes mentioned that we would remove them before 4.0, which was purposefully a bit vague to allow us this flexibility. In a poll in a devtalk post showed that the majority of people were okay with removing the nodes. https://devtalk.blender.org/t/geometry-nodes-backward-compatibility-poll/20199 Differential Revision: https://developer.blender.org/D14353
Diffstat (limited to 'source/blender/blenkernel/intern/node.cc')
-rw-r--r--source/blender/blenkernel/intern/node.cc69
1 files changed, 2 insertions, 67 deletions
diff --git a/source/blender/blenkernel/intern/node.cc b/source/blender/blenkernel/intern/node.cc
index 9a573919165..83eb831b177 100644
--- a/source/blender/blenkernel/intern/node.cc
+++ b/source/blender/blenkernel/intern/node.cc
@@ -532,13 +532,6 @@ void ntreeBlendWrite(BlendWriter *writer, bNodeTree *ntree)
ELEM(node->type, SH_NODE_CURVE_VEC, SH_NODE_CURVE_RGB, SH_NODE_CURVE_FLOAT)) {
BKE_curvemapping_blend_write(writer, (const CurveMapping *)node->storage);
}
- else if ((ntree->type == NTREE_GEOMETRY) &&
- (node->type == GEO_NODE_LEGACY_ATTRIBUTE_CURVE_MAP)) {
- BLO_write_struct_by_name(writer, node->typeinfo->storagename, node->storage);
- NodeAttributeCurveMap *data = (NodeAttributeCurveMap *)node->storage;
- BKE_curvemapping_blend_write(writer, (const CurveMapping *)data->curve_vec);
- BKE_curvemapping_blend_write(writer, (const CurveMapping *)data->curve_rgb);
- }
else if (ntree->type == NTREE_SHADER && (node->type == SH_NODE_SCRIPT)) {
NodeShaderScript *nss = (NodeShaderScript *)node->storage;
if (nss->bytecode) {
@@ -715,18 +708,6 @@ void ntreeBlendReadData(BlendDataReader *reader, bNodeTree *ntree)
BKE_curvemapping_blend_read(reader, (CurveMapping *)node->storage);
break;
}
- case GEO_NODE_LEGACY_ATTRIBUTE_CURVE_MAP: {
- NodeAttributeCurveMap *data = (NodeAttributeCurveMap *)node->storage;
- BLO_read_data_address(reader, &data->curve_vec);
- if (data->curve_vec) {
- BKE_curvemapping_blend_read(reader, data->curve_vec);
- }
- BLO_read_data_address(reader, &data->curve_rgb);
- if (data->curve_rgb) {
- BKE_curvemapping_blend_read(reader, data->curve_rgb);
- }
- break;
- }
case SH_NODE_SCRIPT: {
NodeShaderScript *nss = (NodeShaderScript *)node->storage;
BLO_read_data_address(reader, &nss->bytecode);
@@ -3616,15 +3597,13 @@ void nodeSetActive(bNodeTree *ntree, bNode *node)
LISTBASE_FOREACH (bNode *, tnode, &ntree->nodes) {
tnode->flag &= ~NODE_ACTIVE;
- if ((node->typeinfo->nclass == NODE_CLASS_TEXTURE) ||
- (node->typeinfo->type == GEO_NODE_LEGACY_ATTRIBUTE_SAMPLE_TEXTURE)) {
+ if ((node->typeinfo->nclass == NODE_CLASS_TEXTURE)) {
tnode->flag &= ~NODE_ACTIVE_TEXTURE;
}
}
node->flag |= NODE_ACTIVE;
- if ((node->typeinfo->nclass == NODE_CLASS_TEXTURE) ||
- (node->typeinfo->type == GEO_NODE_LEGACY_ATTRIBUTE_SAMPLE_TEXTURE)) {
+ if ((node->typeinfo->nclass == NODE_CLASS_TEXTURE)) {
node->flag |= NODE_ACTIVE_TEXTURE;
}
}
@@ -4692,45 +4671,10 @@ static void registerGeometryNodes()
{
register_node_type_geo_group();
- register_node_type_geo_legacy_attribute_proximity();
- register_node_type_geo_legacy_attribute_randomize();
- register_node_type_geo_legacy_attribute_remove();
- register_node_type_geo_legacy_attribute_transfer();
- register_node_type_geo_legacy_curve_endpoints();
- register_node_type_geo_legacy_curve_reverse();
- register_node_type_geo_legacy_curve_set_handles();
- register_node_type_geo_legacy_curve_spline_type();
- register_node_type_geo_legacy_curve_subdivide();
- register_node_type_geo_legacy_curve_to_points();
- register_node_type_geo_legacy_delete_geometry();
- register_node_type_geo_legacy_edge_split();
- register_node_type_geo_legacy_material_assign();
- register_node_type_geo_legacy_mesh_to_curve();
- register_node_type_geo_legacy_points_to_volume();
- register_node_type_geo_legacy_raycast();
- register_node_type_geo_legacy_select_by_handle_type();
- register_node_type_geo_legacy_select_by_material();
- register_node_type_geo_legacy_subdivision_surface();
- register_node_type_geo_legacy_volume_to_mesh();
-
register_node_type_geo_accumulate_field();
- register_node_type_geo_align_rotation_to_vector();
register_node_type_geo_attribute_capture();
- register_node_type_geo_attribute_clamp();
- register_node_type_geo_attribute_color_ramp();
- register_node_type_geo_attribute_combine_xyz();
- register_node_type_geo_attribute_compare();
- register_node_type_geo_attribute_convert();
- register_node_type_geo_attribute_curve_map();
register_node_type_geo_attribute_domain_size();
- register_node_type_geo_attribute_fill();
- register_node_type_geo_attribute_map_range();
- register_node_type_geo_attribute_math();
- register_node_type_geo_attribute_mix();
- register_node_type_geo_attribute_separate_xyz();
register_node_type_geo_attribute_statistic();
- register_node_type_geo_attribute_vector_math();
- register_node_type_geo_attribute_vector_rotate();
register_node_type_geo_boolean();
register_node_type_geo_bounding_box();
register_node_type_geo_collection_info();
@@ -4811,12 +4755,6 @@ static void registerGeometryNodes()
register_node_type_geo_mesh_to_curve();
register_node_type_geo_mesh_to_points();
register_node_type_geo_object_info();
- register_node_type_geo_point_distribute();
- register_node_type_geo_point_instance();
- register_node_type_geo_point_rotate();
- register_node_type_geo_point_scale();
- register_node_type_geo_point_separate();
- register_node_type_geo_point_translate();
register_node_type_geo_points_to_vertices();
register_node_type_geo_points_to_volume();
register_node_type_geo_proximity();
@@ -4824,7 +4762,6 @@ static void registerGeometryNodes()
register_node_type_geo_realize_instances();
register_node_type_geo_remove_attribute();
register_node_type_geo_rotate_instances();
- register_node_type_geo_sample_texture();
register_node_type_geo_scale_elements();
register_node_type_geo_scale_instances();
register_node_type_geo_separate_components();
@@ -4855,8 +4792,6 @@ static void registerGeometryNodes()
static void registerFunctionNodes()
{
- register_node_type_fn_legacy_random_float();
-
register_node_type_fn_align_euler_to_vector();
register_node_type_fn_boolean_math();
register_node_type_fn_compare();