diff --git a/scripts/startup/bl_ui/node_add_menu_geometry.py b/scripts/startup/bl_ui/node_add_menu_geometry.py index 1674a2fd2d1..2fac2c01750 100644 --- a/scripts/startup/bl_ui/node_add_menu_geometry.py +++ b/scripts/startup/bl_ui/node_add_menu_geometry.py @@ -525,11 +525,9 @@ class NODE_MT_gn_mesh_operations_base(node_add_menu.NodeMenu): self.node_operator(layout, "GeometryNodeFlipFaces") self.node_operator(layout, "GeometryNodeMeshBoolean") self.node_operator(layout, "GeometryNodeMeshToCurve") - if context.preferences.experimental.use_new_volume_nodes: - self.node_operator(layout, "GeometryNodeMeshToDensityGrid") + self.node_operator(layout, "GeometryNodeMeshToDensityGrid") self.node_operator(layout, "GeometryNodeMeshToPoints") - if context.preferences.experimental.use_new_volume_nodes: - self.node_operator(layout, "GeometryNodeMeshToSDFGrid") + self.node_operator(layout, "GeometryNodeMeshToSDFGrid") self.node_operator(layout, "GeometryNodeMeshToVolume") self.node_operator(layout, "GeometryNodeScaleElements") self.node_operator(layout, "GeometryNodeSplitEdges") @@ -611,14 +609,12 @@ class NODE_MT_gn_point_base(node_add_menu.NodeMenu): def draw(self, context): layout = self.layout self.node_operator(layout, "GeometryNodeDistributePointsInVolume") - if context.preferences.experimental.use_new_volume_nodes: - self.node_operator(layout, "GeometryNodeDistributePointsInGrid") + self.node_operator(layout, "GeometryNodeDistributePointsInGrid") self.node_operator(layout, "GeometryNodeDistributePointsOnFaces") layout.separator() self.node_operator(layout, "GeometryNodePoints") self.node_operator(layout, "GeometryNodePointsToCurves") - if context.preferences.experimental.use_new_volume_nodes: - self.node_operator(layout, "GeometryNodePointsToSDFGrid") + self.node_operator(layout, "GeometryNodePointsToSDFGrid") self.node_operator(layout, "GeometryNodePointsToVertices") self.node_operator(layout, "GeometryNodePointsToVolume") layout.separator() @@ -891,11 +887,10 @@ class NODE_MT_gn_volume_base(node_add_menu.NodeMenu): def draw(self, context): layout = self.layout - if context.preferences.experimental.use_new_volume_nodes: - self.draw_menu(layout, path="Volume/Read") - self.draw_menu(layout, path="Volume/Sample") - self.draw_menu(layout, path="Volume/Write") - layout.separator() + self.draw_menu(layout, path="Volume/Read") + self.draw_menu(layout, path="Volume/Sample") + self.draw_menu(layout, path="Volume/Write") + layout.separator() self.draw_menu(layout, path="Volume/Operations") self.draw_menu(layout, path="Volume/Primitives") @@ -953,12 +948,11 @@ class NODE_MT_gn_volume_operations_base(node_add_menu.NodeMenu): def draw(self, context): layout = self.layout self.node_operator(layout, "GeometryNodeVolumeToMesh") - if context.preferences.experimental.use_new_volume_nodes: - self.node_operator(layout, "GeometryNodeGridToMesh") - self.node_operator(layout, "GeometryNodeSDFGridBoolean") - self.node_operator(layout, "GeometryNodeFieldToGrid") - self.node_operator(layout, "GeometryNodeGridPrune") - self.node_operator(layout, "GeometryNodeGridVoxelize") + self.node_operator(layout, "GeometryNodeGridToMesh") + self.node_operator(layout, "GeometryNodeSDFGridBoolean") + self.node_operator(layout, "GeometryNodeFieldToGrid") + self.node_operator(layout, "GeometryNodeGridPrune") + self.node_operator(layout, "GeometryNodeGridVoxelize") self.draw_assets_for_catalog(layout, self.menu_path) diff --git a/scripts/startup/bl_ui/space_userpref.py b/scripts/startup/bl_ui/space_userpref.py index 0d19c0cc28b..d673e91cc7f 100644 --- a/scripts/startup/bl_ui/space_userpref.py +++ b/scripts/startup/bl_ui/space_userpref.py @@ -2932,7 +2932,6 @@ class USERPREF_PT_experimental_new_features(ExperimentalPanel, Panel): ( ({"property": "use_extended_asset_browser"}, ("blender/blender/projects/10", "Pipeline, Assets & IO Project Page")), - ({"property": "use_new_volume_nodes"}, ("blender/blender/issues/103248", "#103248")), ({"property": "use_shader_node_previews"}, ("blender/blender/issues/110353", "#110353")), ({"property": "use_geometry_nodes_lists"}, ("blender/blender/issues/140918", "#140918")), ), diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h index 79cb4b928ad..798261c540b 100644 --- a/source/blender/makesdna/DNA_userdef_types.h +++ b/source/blender/makesdna/DNA_userdef_types.h @@ -239,10 +239,9 @@ typedef struct UserDef_Experimental { char use_new_curves_tools; char use_extended_asset_browser; char use_sculpt_texture_paint; - char use_new_volume_nodes; char use_shader_node_previews; char use_geometry_nodes_lists; - char _pad[5]; + char _pad[6]; } UserDef_Experimental; #define USER_EXPERIMENTAL_TEST(userdef, member) (((userdef)->experimental).member) diff --git a/source/blender/makesrna/intern/rna_userdef.cc b/source/blender/makesrna/intern/rna_userdef.cc index 4d7058be6f8..5a85f91a78d 100644 --- a/source/blender/makesrna/intern/rna_userdef.cc +++ b/source/blender/makesrna/intern/rna_userdef.cc @@ -7405,10 +7405,6 @@ static void rna_def_userdef_experimental(BlenderRNA *brna) "Forces all linked data to be considered as directly linked. Workaround for current " "issues/limitations in BAT (Blender studio pipeline tool)"); - prop = RNA_def_property(srna, "use_new_volume_nodes", PROP_BOOLEAN, PROP_NONE); - RNA_def_property_ui_text( - prop, "New Volume Nodes", "Enables visibility of the new Volume nodes in the UI"); - prop = RNA_def_property(srna, "use_shader_node_previews", PROP_BOOLEAN, PROP_NONE); RNA_def_property_ui_text( prop, "Shader Node Previews", "Enables previews in the shader node editor"); diff --git a/source/blender/nodes/geometry/node_geometry_util.cc b/source/blender/nodes/geometry/node_geometry_util.cc index 9b0a1aabc94..69cd9b191ed 100644 --- a/source/blender/nodes/geometry/node_geometry_util.cc +++ b/source/blender/nodes/geometry/node_geometry_util.cc @@ -40,13 +40,6 @@ void search_link_ops_for_tool_node(GatherLinkSearchOpParams ¶ms) } } -void search_link_ops_for_volume_grid_node(GatherLinkSearchOpParams ¶ms) -{ - if (USER_EXPERIMENTAL_TEST(&U, use_new_volume_nodes)) { - nodes::search_link_ops_for_basic_node(params); - } -} - namespace enums { const EnumPropertyItem *attribute_type_type_with_socket_fn(bContext * /*C*/, diff --git a/source/blender/nodes/geometry/node_geometry_util.hh b/source/blender/nodes/geometry/node_geometry_util.hh index c923635532d..034eaeb8da9 100644 --- a/source/blender/nodes/geometry/node_geometry_util.hh +++ b/source/blender/nodes/geometry/node_geometry_util.hh @@ -46,7 +46,6 @@ namespace blender::nodes { bool check_tool_context_and_error(GeoNodeExecParams ¶ms); void search_link_ops_for_tool_node(GatherLinkSearchOpParams ¶ms); -void search_link_ops_for_volume_grid_node(GatherLinkSearchOpParams ¶ms); void get_closest_in_bvhtree(bke::BVHTreeFromMesh &tree_data, const VArray &positions, diff --git a/source/blender/nodes/geometry/nodes/node_geo_distribute_points_in_grid.cc b/source/blender/nodes/geometry/nodes/node_geo_distribute_points_in_grid.cc index 2eaedafbf6a..b6d3e015815 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_distribute_points_in_grid.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_distribute_points_in_grid.cc @@ -264,7 +264,6 @@ static void node_register() ntype.declare = node_declare; ntype.geometry_node_execute = node_geo_exec; ntype.draw_buttons = node_layout; - ntype.gather_link_search_ops = search_link_ops_for_volume_grid_node; blender::bke::node_register_type(ntype); node_rna(ntype.rna_ext.srna); diff --git a/source/blender/nodes/geometry/nodes/node_geo_field_to_grid.cc b/source/blender/nodes/geometry/nodes/node_geo_field_to_grid.cc index 47e8326cdc5..62debb4b7ae 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_field_to_grid.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_field_to_grid.cc @@ -103,9 +103,6 @@ static std::optional node_type_for_socket_type(const bNodeS static void node_gather_link_search_ops(GatherLinkSearchOpParams ¶ms) { - if (!USER_EXPERIMENTAL_TEST(&U, use_new_volume_nodes)) { - return; - } const std::optional data_type = node_type_for_socket_type( params.other_socket()); if (!data_type) { diff --git a/source/blender/nodes/geometry/nodes/node_geo_get_named_grid.cc b/source/blender/nodes/geometry/nodes/node_geo_get_named_grid.cc index 3877af66400..6c0c73ea203 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_get_named_grid.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_get_named_grid.cc @@ -101,7 +101,6 @@ static void node_register() ntype.enum_name_legacy = "GET_NAMED_GRID"; ntype.nclass = NODE_CLASS_GEOMETRY; ntype.declare = node_declare; - ntype.gather_link_search_ops = search_link_ops_for_volume_grid_node; ntype.draw_buttons = node_layout; ntype.initfunc = node_init; ntype.geometry_node_execute = node_geo_exec; diff --git a/source/blender/nodes/geometry/nodes/node_geo_grid_curl.cc b/source/blender/nodes/geometry/nodes/node_geo_grid_curl.cc index 8251694d3b2..c65463eafd8 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_grid_curl.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_grid_curl.cc @@ -45,7 +45,6 @@ static void node_register() ntype.nclass = NODE_CLASS_GEOMETRY; ntype.declare = node_declare; ntype.geometry_node_execute = node_geo_exec; - ntype.gather_link_search_ops = search_link_ops_for_volume_grid_node; blender::bke::node_register_type(ntype); } NOD_REGISTER_NODE(node_register) diff --git a/source/blender/nodes/geometry/nodes/node_geo_grid_divergence.cc b/source/blender/nodes/geometry/nodes/node_geo_grid_divergence.cc index 5e0f31c97e2..99af6484d6f 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_grid_divergence.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_grid_divergence.cc @@ -45,7 +45,6 @@ static void node_register() ntype.nclass = NODE_CLASS_GEOMETRY; ntype.declare = node_declare; ntype.geometry_node_execute = node_geo_exec; - ntype.gather_link_search_ops = search_link_ops_for_volume_grid_node; blender::bke::node_register_type(ntype); } NOD_REGISTER_NODE(node_register) diff --git a/source/blender/nodes/geometry/nodes/node_geo_grid_gradient.cc b/source/blender/nodes/geometry/nodes/node_geo_grid_gradient.cc index 775f9d0557f..90c02a4f964 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_grid_gradient.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_grid_gradient.cc @@ -45,7 +45,6 @@ static void node_register() ntype.nclass = NODE_CLASS_GEOMETRY; ntype.declare = node_declare; ntype.geometry_node_execute = node_geo_exec; - ntype.gather_link_search_ops = search_link_ops_for_volume_grid_node; blender::bke::node_register_type(ntype); } NOD_REGISTER_NODE(node_register) diff --git a/source/blender/nodes/geometry/nodes/node_geo_grid_laplacian.cc b/source/blender/nodes/geometry/nodes/node_geo_grid_laplacian.cc index c5155af1a5b..30d719c2ad1 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_grid_laplacian.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_grid_laplacian.cc @@ -44,7 +44,6 @@ static void node_register() ntype.nclass = NODE_CLASS_GEOMETRY; ntype.declare = node_declare; ntype.geometry_node_execute = node_geo_exec; - ntype.gather_link_search_ops = search_link_ops_for_volume_grid_node; blender::bke::node_register_type(ntype); } NOD_REGISTER_NODE(node_register) diff --git a/source/blender/nodes/geometry/nodes/node_geo_grid_prune.cc b/source/blender/nodes/geometry/nodes/node_geo_grid_prune.cc index 30c34a7e45a..09dad69697f 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_grid_prune.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_grid_prune.cc @@ -114,9 +114,6 @@ static std::optional node_type_for_socket_type(const bNodeS static void node_gather_link_search_ops(GatherLinkSearchOpParams ¶ms) { - if (!USER_EXPERIMENTAL_TEST(&U, use_new_volume_nodes)) { - return; - } const std::optional data_type = node_type_for_socket_type( params.other_socket()); if (!data_type) { diff --git a/source/blender/nodes/geometry/nodes/node_geo_grid_to_mesh.cc b/source/blender/nodes/geometry/nodes/node_geo_grid_to_mesh.cc index e6fb649ebe4..8e0a3082d3e 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_grid_to_mesh.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_grid_to_mesh.cc @@ -55,7 +55,6 @@ static void node_register() ntype.nclass = NODE_CLASS_GEOMETRY; ntype.declare = node_declare; ntype.geometry_node_execute = node_geo_exec; - ntype.gather_link_search_ops = search_link_ops_for_volume_grid_node; blender::bke::node_register_type(ntype); } NOD_REGISTER_NODE(node_register) diff --git a/source/blender/nodes/geometry/nodes/node_geo_grid_voxelize.cc b/source/blender/nodes/geometry/nodes/node_geo_grid_voxelize.cc index 5f85d72c465..31577e2e2d6 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_grid_voxelize.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_grid_voxelize.cc @@ -55,9 +55,6 @@ static std::optional node_type_for_socket_type(const bNodeS static void node_gather_link_search_ops(GatherLinkSearchOpParams ¶ms) { - if (!USER_EXPERIMENTAL_TEST(&U, use_new_volume_nodes)) { - return; - } const std::optional data_type = node_type_for_socket_type( params.other_socket()); if (!data_type) { diff --git a/source/blender/nodes/geometry/nodes/node_geo_mesh_to_density_grid.cc b/source/blender/nodes/geometry/nodes/node_geo_mesh_to_density_grid.cc index 7907e0dcfe7..445128dd100 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_mesh_to_density_grid.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_mesh_to_density_grid.cc @@ -67,7 +67,6 @@ static void node_register() ntype.nclass = NODE_CLASS_GEOMETRY; ntype.declare = node_declare; ntype.geometry_node_execute = node_geo_exec; - ntype.gather_link_search_ops = search_link_ops_for_volume_grid_node; blender::bke::node_register_type(ntype); } NOD_REGISTER_NODE(node_register) diff --git a/source/blender/nodes/geometry/nodes/node_geo_mesh_to_sdf_grid.cc b/source/blender/nodes/geometry/nodes/node_geo_mesh_to_sdf_grid.cc index 7ba7237f135..1a47d305437 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_mesh_to_sdf_grid.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_mesh_to_sdf_grid.cc @@ -62,7 +62,6 @@ static void node_register() ntype.nclass = NODE_CLASS_GEOMETRY; ntype.declare = node_declare; ntype.geometry_node_execute = node_geo_exec; - ntype.gather_link_search_ops = search_link_ops_for_volume_grid_node; blender::bke::node_register_type(ntype); } NOD_REGISTER_NODE(node_register) diff --git a/source/blender/nodes/geometry/nodes/node_geo_points_to_sdf_grid.cc b/source/blender/nodes/geometry/nodes/node_geo_points_to_sdf_grid.cc index c3b1e1debd9..778f0bfe6ac 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_points_to_sdf_grid.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_points_to_sdf_grid.cc @@ -114,7 +114,6 @@ static void node_register() ntype.nclass = NODE_CLASS_GEOMETRY; ntype.declare = node_declare; ntype.geometry_node_execute = node_geo_exec; - ntype.gather_link_search_ops = search_link_ops_for_volume_grid_node; blender::bke::node_register_type(ntype); } NOD_REGISTER_NODE(node_register) diff --git a/source/blender/nodes/geometry/nodes/node_geo_sample_grid.cc b/source/blender/nodes/geometry/nodes/node_geo_sample_grid.cc index 04f82ae0020..4bb5a944fb2 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_sample_grid.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_sample_grid.cc @@ -74,9 +74,6 @@ static std::optional node_type_for_socket_type(const bNodeS static void node_gather_link_search_ops(GatherLinkSearchOpParams ¶ms) { - if (!USER_EXPERIMENTAL_TEST(&U, use_new_volume_nodes)) { - return; - } const std::optional node_type = node_type_for_socket_type( params.other_socket()); if (!node_type) { diff --git a/source/blender/nodes/geometry/nodes/node_geo_sample_grid_index.cc b/source/blender/nodes/geometry/nodes/node_geo_sample_grid_index.cc index 2c8002299d6..98989c5679c 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_sample_grid_index.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_sample_grid_index.cc @@ -55,9 +55,6 @@ static std::optional node_type_for_socket_type(const bNodeS static void node_gather_link_search_ops(GatherLinkSearchOpParams ¶ms) { - if (!USER_EXPERIMENTAL_TEST(&U, use_new_volume_nodes)) { - return; - } const std::optional node_type = node_type_for_socket_type( params.other_socket()); if (!node_type) { diff --git a/source/blender/nodes/geometry/nodes/node_geo_sdf_grid_boolean.cc b/source/blender/nodes/geometry/nodes/node_geo_sdf_grid_boolean.cc index e6ce6b62d26..1f93c9a06eb 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_sdf_grid_boolean.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_sdf_grid_boolean.cc @@ -181,7 +181,6 @@ static void node_register() ntype.initfunc = node_init; ntype.draw_buttons = node_layout; ntype.geometry_node_execute = node_geo_exec; - ntype.gather_link_search_ops = search_link_ops_for_volume_grid_node; blender::bke::node_register_type(ntype); node_rna(ntype.rna_ext.srna); } diff --git a/source/blender/nodes/geometry/nodes/node_geo_store_named_grid.cc b/source/blender/nodes/geometry/nodes/node_geo_store_named_grid.cc index ce15d4058f8..8332ebbaa24 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_store_named_grid.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_store_named_grid.cc @@ -39,9 +39,6 @@ static void node_declare(NodeDeclarationBuilder &b) static void search_link_ops(GatherLinkSearchOpParams ¶ms) { - if (!USER_EXPERIMENTAL_TEST(&U, use_new_volume_nodes)) { - return; - } if (params.other_socket().type == SOCK_GEOMETRY) { params.add_item(IFACE_("Volume"), [](LinkSearchOpParams ¶ms) { bNode &node = params.add_node("GeometryNodeStoreNamedGrid");