diff options
author | Jacques Lucke <jacques@blender.org> | 2021-09-09 12:40:09 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-09-09 12:40:09 +0300 |
commit | 29704854dfd7940409edf4c9f6709f3f30a3595a (patch) | |
tree | c97c3216fd0e8f49b956ef3cd26a34cb56f32422 | |
parent | 015bde614533f1ce49514cbe8761f48d62e6c0d7 (diff) |
hide new nodes behind feature flagtemp-geometry-nodes-fields
-rw-r--r-- | release/scripts/startup/bl_ui/space_userpref.py | 1 | ||||
-rw-r--r-- | release/scripts/startup/nodeitems_builtins.py | 14 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_userdef_types.h | 3 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_userdef.c | 4 |
4 files changed, 16 insertions, 6 deletions
diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py index 1ac19d020d8..0d1cbc424d7 100644 --- a/release/scripts/startup/bl_ui/space_userpref.py +++ b/release/scripts/startup/bl_ui/space_userpref.py @@ -2254,6 +2254,7 @@ class USERPREF_PT_experimental_new_features(ExperimentalPanel, Panel): ({"property": "use_sculpt_tools_tilt"}, "T82877"), ({"property": "use_extended_asset_browser"}, ("project/view/130/", "Project Page")), ({"property": "use_override_templates"}, ("T73318", "Milestone 4")), + ({"property": "use_geometry_nodes_fields"}, "T91274"), ), ) diff --git a/release/scripts/startup/nodeitems_builtins.py b/release/scripts/startup/nodeitems_builtins.py index b2aefd63a78..114e654e22b 100644 --- a/release/scripts/startup/nodeitems_builtins.py +++ b/release/scripts/startup/nodeitems_builtins.py @@ -180,6 +180,10 @@ def object_eevee_cycles_shader_nodes_poll(context): eevee_cycles_shader_nodes_poll(context)) +def geometry_nodes_fields_poll(context): + return context.preferences.experimental.use_geometry_nodes_fields + + # All standard node categories currently used in nodes. shader_node_categories = [ @@ -478,7 +482,7 @@ geometry_node_categories = [ GeometryNodeCategory("GEO_ATTRIBUTE", "Attribute", items=[ NodeItem("GeometryNodeAttributeRandomize"), NodeItem("GeometryNodeAttributeMath"), - NodeItem("GeometryNodeAttributeCapture"), + NodeItem("GeometryNodeAttributeCapture", poll=geometry_nodes_fields_poll), NodeItem("GeometryNodeAttributeClamp"), NodeItem("GeometryNodeAttributeCompare"), NodeItem("GeometryNodeAttributeConvert"), @@ -535,7 +539,7 @@ geometry_node_categories = [ NodeItem("GeometryNodeJoinGeometry"), NodeItem("GeometryNodeSeparateComponents"), NodeItem("GeometryNodeRaycast"), - NodeItem("GeometryNodeSetPosition"), + NodeItem("GeometryNodeSetPosition", poll=geometry_nodes_fields_poll), ]), GeometryNodeCategory("GEO_INPUT", "Input", items=[ NodeItem("GeometryNodeObjectInfo"), @@ -546,9 +550,9 @@ geometry_node_categories = [ NodeItem("FunctionNodeInputVector"), NodeItem("GeometryNodeInputMaterial"), NodeItem("GeometryNodeIsViewport"), - NodeItem("GeometryNodeInputPosition"), - NodeItem("GeometryNodeInputIndex"), - NodeItem("GeometryNodeInputNormal"), + NodeItem("GeometryNodeInputPosition", poll=geometry_nodes_fields_poll), + NodeItem("GeometryNodeInputIndex", poll=geometry_nodes_fields_poll), + NodeItem("GeometryNodeInputNormal", poll=geometry_nodes_fields_poll), ]), GeometryNodeCategory("GEO_MATERIAL", "Material", items=[ NodeItem("GeometryNodeMaterialAssign"), diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h index 1cb561ddd9f..7160d2c3751 100644 --- a/source/blender/makesdna/DNA_userdef_types.h +++ b/source/blender/makesdna/DNA_userdef_types.h @@ -646,7 +646,8 @@ typedef struct UserDef_Experimental { char use_sculpt_tools_tilt; char use_extended_asset_browser; char use_override_templates; - char _pad[5]; + char use_geometry_nodes_fields; + char _pad[4]; /** `makesdna` does not allow empty structs. */ } UserDef_Experimental; diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c index fe1b0757690..0a328c3b068 100644 --- a/source/blender/makesrna/intern/rna_userdef.c +++ b/source/blender/makesrna/intern/rna_userdef.c @@ -6300,6 +6300,10 @@ static void rna_def_userdef_experimental(BlenderRNA *brna) RNA_def_property_boolean_sdna(prop, NULL, "use_override_templates", 1); RNA_def_property_ui_text( prop, "Override Templates", "Enable library override template in the python API"); + + prop = RNA_def_property(srna, "use_geometry_nodes_fields", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "use_geometry_nodes_fields", 1); + RNA_def_property_ui_text(prop, "Geometry Nodes Fields", "Enable field nodes in geometry nodes"); } static void rna_def_userdef_addon_collection(BlenderRNA *brna, PropertyRNA *cprop) |