From 52c1f983cba3b847af291386bcb6044a67ecb196 Mon Sep 17 00:00:00 2001 From: Arye Ramaty Date: Wed, 25 May 2022 20:03:40 +0200 Subject: UI: add missing tooltips for the shader node options Differential Revision: https://developer.blender.org/D14878 --- source/blender/makesrna/intern/rna_nodetree.c | 133 ++++++++++++++++++-------- 1 file changed, 95 insertions(+), 38 deletions(-) (limited to 'source/blender/makesrna') diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index b9da7a2435e..a9dec810079 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -443,9 +443,9 @@ const EnumPropertyItem rna_enum_node_clamp_items[] = { static const EnumPropertyItem rna_enum_node_tex_dimensions_items[] = { {1, "1D", 0, "1D", "Use the scalar value W as input"}, - {2, "2D", 0, "2D", "Use the 2D vector (x, y) as input. The z component is ignored"}, - {3, "3D", 0, "3D", "Use the 3D vector (x, y, z) as input"}, - {4, "4D", 0, "4D", "Use the 4D vector (x, y, z, w) as input"}, + {2, "2D", 0, "2D", "Use the 2D vector (X, Y) as input. The Z component is ignored"}, + {3, "3D", 0, "3D", "Use the 3D vector (X, Y, Z) as input"}, + {4, "4D", 0, "4D", "Use the 4D vector (X, Y, Z, W) as input"}, {0, NULL, 0, NULL, NULL}, }; @@ -4523,9 +4523,9 @@ static const EnumPropertyItem prop_view_layer_items[] = { }; static const EnumPropertyItem prop_tri_channel_items[] = { - {1, "R", 0, "R", ""}, - {2, "G", 0, "G", ""}, - {3, "B", 0, "B", ""}, + {1, "R", 0, "R", "Red"}, + {2, "G", 0, "G", "Green"}, + {3, "B", 0, "B", "Blue"}, {0, NULL, 0, NULL, NULL}, }; @@ -4544,46 +4544,81 @@ static const EnumPropertyItem node_ycc_items[] = { }; static const EnumPropertyItem node_glossy_items[] = { - {SHD_GLOSSY_SHARP, "SHARP", 0, "Sharp", ""}, + {SHD_GLOSSY_SHARP, + "SHARP", + 0, + "Sharp", + "Results in perfectly sharp reflections like a mirror. The Roughness value is not used"}, {SHD_GLOSSY_BECKMANN, "BECKMANN", 0, "Beckmann", ""}, {SHD_GLOSSY_GGX, "GGX", 0, "GGX", ""}, {SHD_GLOSSY_ASHIKHMIN_SHIRLEY, "ASHIKHMIN_SHIRLEY", 0, "Ashikhmin-Shirley", ""}, - {SHD_GLOSSY_MULTI_GGX, "MULTI_GGX", 0, "Multiscatter GGX", ""}, + {SHD_GLOSSY_MULTI_GGX, + "MULTI_GGX", + 0, + "Multiscatter GGX", + "Slower than GGX but gives a more energy conserving results, which would otherwise be " + "visible as excessive darkening"}, {0, NULL, 0, NULL, NULL}, }; static const EnumPropertyItem node_anisotropic_items[] = { {SHD_GLOSSY_BECKMANN, "BECKMANN", 0, "Beckmann", ""}, {SHD_GLOSSY_GGX, "GGX", 0, "GGX", ""}, - {SHD_GLOSSY_MULTI_GGX, "MULTI_GGX", 0, "Multiscatter GGX", ""}, + {SHD_GLOSSY_MULTI_GGX, + "MULTI_GGX", + 0, + "Multiscatter GGX", + "Slower than GGX but gives a more energy conserving results, which would otherwise be " + "visible as excessive darkening"}, {SHD_GLOSSY_ASHIKHMIN_SHIRLEY, "ASHIKHMIN_SHIRLEY", 0, "Ashikhmin-Shirley", ""}, {0, NULL, 0, NULL, NULL}, }; static const EnumPropertyItem node_glass_items[] = { - {SHD_GLOSSY_SHARP, "SHARP", 0, "Sharp", ""}, + {SHD_GLOSSY_SHARP, + "SHARP", + 0, + "Sharp", + "Results in perfectly sharp reflections like a mirror. The Roughness value is not used"}, {SHD_GLOSSY_BECKMANN, "BECKMANN", 0, "Beckmann", ""}, {SHD_GLOSSY_GGX, "GGX", 0, "GGX", ""}, - {SHD_GLOSSY_MULTI_GGX, "MULTI_GGX", 0, "Multiscatter GGX", ""}, + {SHD_GLOSSY_MULTI_GGX, + "MULTI_GGX", + 0, + "Multiscatter GGX", + "Slower than GGX but gives a more energy conserving results, which would otherwise be " + "visible as excessive darkening"}, {0, NULL, 0, NULL, NULL}, }; static const EnumPropertyItem node_refraction_items[] = { - {SHD_GLOSSY_SHARP, "SHARP", 0, "Sharp", ""}, + {SHD_GLOSSY_SHARP, + "SHARP", + 0, + "Sharp", + "Results in perfectly sharp reflections like a mirror. The Roughness value is not used"}, {SHD_GLOSSY_BECKMANN, "BECKMANN", 0, "Beckmann", ""}, {SHD_GLOSSY_GGX, "GGX", 0, "GGX", ""}, {0, NULL, 0, NULL, NULL}, }; static const EnumPropertyItem node_toon_items[] = { - {SHD_TOON_DIFFUSE, "DIFFUSE", 0, "Diffuse", ""}, - {SHD_TOON_GLOSSY, "GLOSSY", 0, "Glossy", ""}, + {SHD_TOON_DIFFUSE, "DIFFUSE", 0, "Diffuse", "Use diffuse BSDF"}, + {SHD_TOON_GLOSSY, "GLOSSY", 0, "Glossy", "Use glossy BSDF"}, {0, NULL, 0, NULL, NULL}, }; static const EnumPropertyItem node_hair_items[] = { - {SHD_HAIR_REFLECTION, "Reflection", 0, "Reflection", ""}, - {SHD_HAIR_TRANSMISSION, "Transmission", 0, "Transmission", ""}, + {SHD_HAIR_REFLECTION, + "Reflection", + 0, + "Reflection", + "The light that bounces off the surface of the hair"}, + {SHD_HAIR_TRANSMISSION, + "Transmission", + 0, + "Transmission", + "The light that passes through the hair and exits on the other side"}, {0, NULL, 0, NULL, NULL}, }; @@ -4623,7 +4658,12 @@ static EnumPropertyItem node_ies_mode_items[] = { static const EnumPropertyItem node_principled_distribution_items[] = { {SHD_GLOSSY_GGX, "GGX", 0, "GGX", ""}, - {SHD_GLOSSY_MULTI_GGX, "MULTI_GGX", 0, "Multiscatter GGX", ""}, + {SHD_GLOSSY_MULTI_GGX, + "MULTI_GGX", + 0, + "Multiscatter GGX", + "Slower than GGX but gives a more energy conserving results, which would otherwise be " + "visible as excessive darkening"}, {0, NULL, 0, NULL, NULL}, }; @@ -5517,8 +5557,7 @@ static void def_sh_tex_noise(StructRNA *srna) prop = RNA_def_property(srna, "noise_dimensions", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "dimensions"); RNA_def_property_enum_items(prop, rna_enum_node_tex_dimensions_items); - RNA_def_property_ui_text( - prop, "Dimensions", "The dimensions of the space to evaluate the noise in"); + RNA_def_property_ui_text(prop, "Dimensions", "Number of dimensions to output noise for"); RNA_def_property_update(prop, 0, "rna_ShaderNode_socket_update"); } @@ -5581,11 +5620,28 @@ static void def_sh_tex_magic(StructRNA *srna) static void def_sh_tex_musgrave(StructRNA *srna) { static const EnumPropertyItem prop_musgrave_type[] = { - {SHD_MUSGRAVE_MULTIFRACTAL, "MULTIFRACTAL", 0, "Multifractal", ""}, - {SHD_MUSGRAVE_RIDGED_MULTIFRACTAL, "RIDGED_MULTIFRACTAL", 0, "Ridged Multifractal", ""}, - {SHD_MUSGRAVE_HYBRID_MULTIFRACTAL, "HYBRID_MULTIFRACTAL", 0, "Hybrid Multifractal", ""}, - {SHD_MUSGRAVE_FBM, "FBM", 0, "fBM", ""}, - {SHD_MUSGRAVE_HETERO_TERRAIN, "HETERO_TERRAIN", 0, "Hetero Terrain", ""}, + {SHD_MUSGRAVE_MULTIFRACTAL, + "MULTIFRACTAL", + 0, + "Multifractal", + "More uneven result (varies with location), more similar to a real terrain"}, + {SHD_MUSGRAVE_RIDGED_MULTIFRACTAL, + "RIDGED_MULTIFRACTAL", + 0, + "Ridged Multifractal", + "Create sharp peaks"}, + {SHD_MUSGRAVE_HYBRID_MULTIFRACTAL, + "HYBRID_MULTIFRACTAL", + 0, + "Hybrid Multifractal", + "Create peaks and valleys with different roughness values"}, + {SHD_MUSGRAVE_FBM, "FBM", 0, "fBM", "Produce an unnatural homogeneous and isotropic result"}, + {SHD_MUSGRAVE_HETERO_TERRAIN, + "HETERO_TERRAIN", + 0, + "Hetero Terrain", + "Similar to Hybrid Multifractal creates a heterogeneous terrain, but with the likeness of " + "river channels"}, {0, NULL, 0, NULL, NULL}, }; @@ -5597,13 +5653,13 @@ static void def_sh_tex_musgrave(StructRNA *srna) prop = RNA_def_property(srna, "musgrave_dimensions", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "dimensions"); RNA_def_property_enum_items(prop, rna_enum_node_tex_dimensions_items); - RNA_def_property_ui_text(prop, "Dimensions", ""); + RNA_def_property_ui_text(prop, "Dimensions", "Number of dimensions to output noise for"); RNA_def_property_update(prop, 0, "rna_ShaderNode_socket_update"); prop = RNA_def_property(srna, "musgrave_type", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "musgrave_type"); RNA_def_property_enum_items(prop, prop_musgrave_type); - RNA_def_property_ui_text(prop, "Type", ""); + RNA_def_property_ui_text(prop, "Type", "Type of the Musgrave texture"); RNA_def_property_update(prop, 0, "rna_ShaderNode_socket_update"); } @@ -5652,19 +5708,21 @@ static void def_sh_tex_voronoi(StructRNA *srna) prop = RNA_def_property(srna, "voronoi_dimensions", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "dimensions"); RNA_def_property_enum_items(prop, rna_enum_node_tex_dimensions_items); - RNA_def_property_ui_text(prop, "Dimensions", ""); + RNA_def_property_ui_text(prop, "Dimensions", "Number of dimensions to output noise for"); RNA_def_property_update(prop, 0, "rna_ShaderNode_socket_update"); prop = RNA_def_property(srna, "distance", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "distance"); RNA_def_property_enum_items(prop, prop_distance_items); - RNA_def_property_ui_text(prop, "Distance Metric", ""); + RNA_def_property_ui_text( + prop, "Distance Metric", "The distance metric used to compute the texture"); RNA_def_property_update(prop, 0, "rna_ShaderNode_socket_update"); prop = RNA_def_property(srna, "feature", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "feature"); RNA_def_property_enum_items(prop, prop_feature_items); - RNA_def_property_ui_text(prop, "Feature Output", ""); + RNA_def_property_ui_text( + prop, "Feature Output", "The Voronoi feature that the node will compute"); RNA_def_property_update(prop, 0, "rna_ShaderNode_socket_update"); } @@ -5740,8 +5798,7 @@ static void def_sh_tex_white_noise(StructRNA *srna) prop = RNA_def_property(srna, "noise_dimensions", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "custom1"); RNA_def_property_enum_items(prop, rna_enum_node_tex_dimensions_items); - RNA_def_property_ui_text( - prop, "Dimensions", "The dimensions of the space to evaluate the noise in"); + RNA_def_property_ui_text(prop, "Dimensions", "Number of dimensions to output noise for"); RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_ShaderNode_socket_update"); } @@ -5983,7 +6040,7 @@ static void def_glossy(StructRNA *srna) prop = RNA_def_property(srna, "distribution", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "custom1"); RNA_def_property_enum_items(prop, node_glossy_items); - RNA_def_property_ui_text(prop, "Distribution", ""); + RNA_def_property_ui_text(prop, "Distribution", "Light scattering distribution on rough surface"); RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update"); } @@ -5994,7 +6051,7 @@ static void def_glass(StructRNA *srna) prop = RNA_def_property(srna, "distribution", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "custom1"); RNA_def_property_enum_items(prop, node_glass_items); - RNA_def_property_ui_text(prop, "Distribution", ""); + RNA_def_property_ui_text(prop, "Distribution", "Light scattering distribution on rough surface"); RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update"); } @@ -6005,7 +6062,7 @@ static void def_principled(StructRNA *srna) prop = RNA_def_property(srna, "distribution", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "custom1"); RNA_def_property_enum_items(prop, node_principled_distribution_items); - RNA_def_property_ui_text(prop, "Distribution", ""); + RNA_def_property_ui_text(prop, "Distribution", "Light scattering distribution on rough surface"); RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_ShaderNode_socket_update"); prop = RNA_def_property(srna, "subsurface_method", PROP_ENUM, PROP_NONE); @@ -6023,7 +6080,7 @@ static void def_refraction(StructRNA *srna) prop = RNA_def_property(srna, "distribution", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "custom1"); RNA_def_property_enum_items(prop, node_refraction_items); - RNA_def_property_ui_text(prop, "Distribution", ""); + RNA_def_property_ui_text(prop, "Distribution", "Light scattering distribution on rough surface"); RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update"); } @@ -6034,7 +6091,7 @@ static void def_anisotropic(StructRNA *srna) prop = RNA_def_property(srna, "distribution", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "custom1"); RNA_def_property_enum_items(prop, node_anisotropic_items); - RNA_def_property_ui_text(prop, "Distribution", ""); + RNA_def_property_ui_text(prop, "Distribution", "Light scattering distribution on rough surface"); RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update"); } @@ -6045,7 +6102,7 @@ static void def_toon(StructRNA *srna) prop = RNA_def_property(srna, "component", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "custom1"); RNA_def_property_enum_items(prop, node_toon_items); - RNA_def_property_ui_text(prop, "Component", ""); + RNA_def_property_ui_text(prop, "Component", "Toon BSDF component to use"); RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update"); } @@ -6067,7 +6124,7 @@ static void def_hair(StructRNA *srna) prop = RNA_def_property(srna, "component", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "custom1"); RNA_def_property_enum_items(prop, node_hair_items); - RNA_def_property_ui_text(prop, "Component", ""); + RNA_def_property_ui_text(prop, "Component", "Hair BSDF component to use"); RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update"); } -- cgit v1.2.3