Commit: 4961e5f91d98d68029280ad05118f4ab427461a2
Author: Hans Goudey
Date: Fri Jan 13 11:49:40 2023 -0600
Branches: master
https://developer.blender.org/rB4961e5f91d98d68029280ad05118f4ab427461a2
Geometry Nodes: Rename Interpolate Domain and Field at Index nodes
- `Interpolate Domain` -> `Evaluate on Domain`
- `Field at Index` -> `Evaluate at Index`
These names, discussed in recent geometry nodes submodule meetings,
describe actions rather than nouns, which is generally how nodes are
supposed to be named. The names are consistent, which is helpful
because they're similar conceptually. They also don't require knowledge
of the field concept, which we generally try to keep out of the UI in
favor of more beginner-friendly concepts.
We hope to add the ability to search for nodes with multiple
names for 3.5, so the old names can still have search items.
===================================================================
M source/blender/blenkernel/BKE_node.h
M source/blender/makesrna/intern/rna_nodetree.c
M source/blender/nodes/NOD_static_types.h
M source/blender/nodes/geometry/CMakeLists.txt
M source/blender/nodes/geometry/node_geometry_register.cc
M source/blender/nodes/geometry/node_geometry_register.hh
R094 source/blender/nodes/geometry/nodes/node_geo_field_at_index.cc
source/blender/nodes/geometry/nodes/node_geo_evaluate_at_index.cc
R094 source/blender/nodes/geometry/nodes/node_geo_interpolate_domain.cc
source/blender/nodes/geometry/nodes/node_geo_evaluate_on_domain.cc
===================================================================
diff --git a/source/blender/blenkernel/BKE_node.h
b/source/blender/blenkernel/BKE_node.h
index 3cb577fb92e..c99f5cb076e 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -1494,7 +1494,7 @@ struct TexResult;
#define GEO_NODE_INPUT_SCENE_TIME 1145
#define GEO_NODE_ACCUMULATE_FIELD 1146
#define GEO_NODE_INPUT_MESH_EDGE_ANGLE 1147
-#define GEO_NODE_FIELD_AT_INDEX 1148
+#define GEO_NODE_EVALUATE_AT_INDEX 1148
#define GEO_NODE_CURVE_PRIMITIVE_ARC 1149
#define GEO_NODE_FLIP_FACES 1150
#define GEO_NODE_SCALE_ELEMENTS 1151
@@ -1509,7 +1509,7 @@ struct TexResult;
#define GEO_NODE_INPUT_INSTANCE_SCALE 1160
#define GEO_NODE_VOLUME_CUBE 1161
#define GEO_NODE_POINTS 1162
-#define GEO_NODE_INTERPOLATE_DOMAIN 1163
+#define GEO_NODE_EVALUATE_ON_DOMAIN 1163
#define GEO_NODE_MESH_TO_VOLUME 1164
#define GEO_NODE_UV_UNWRAP 1165
#define GEO_NODE_UV_PACK_ISLANDS 1166
diff --git a/source/blender/makesrna/intern/rna_nodetree.c
b/source/blender/makesrna/intern/rna_nodetree.c
index f895a00e23a..b41073393b7 100644
--- a/source/blender/makesrna/intern/rna_nodetree.c
+++ b/source/blender/makesrna/intern/rna_nodetree.c
@@ -10848,7 +10848,7 @@ static void def_geo_realize_instances(StructRNA *srna)
RNA_def_property_update(prop, NC_NODE | NA_EDITED,
"rna_GeometryNode_socket_update");
}
-static void def_geo_field_at_index(StructRNA *srna)
+static void def_geo_evaluate_at_index(StructRNA *srna)
{
PropertyRNA *prop;
@@ -10867,7 +10867,7 @@ static void def_geo_field_at_index(StructRNA *srna)
RNA_def_property_update(prop, NC_NODE | NA_EDITED,
"rna_GeometryNode_socket_update");
}
-static void def_geo_interpolate_domain(StructRNA *srna)
+static void def_geo_evaluate_on_domain(StructRNA *srna)
{
PropertyRNA *prop;
diff --git a/source/blender/nodes/NOD_static_types.h
b/source/blender/nodes/NOD_static_types.h
index d94b0b56072..479700da7c9 100644
--- a/source/blender/nodes/NOD_static_types.h
+++ b/source/blender/nodes/NOD_static_types.h
@@ -314,15 +314,16 @@ DefNode(GeometryNode, GEO_NODE_DUAL_MESH, 0, "DUAL_MESH",
DualMesh, "Dual Mesh",
DefNode(GeometryNode, GEO_NODE_DUPLICATE_ELEMENTS, def_geo_duplicate_elements,
"DUPLICATE_ELEMENTS", DuplicateElements, "Duplicate Elements", "Generate an
arbitrary number copies of each selected input element")
DefNode(GeometryNode, GEO_NODE_EDGE_PATHS_TO_CURVES, 0,
"EDGE_PATHS_TO_CURVES", EdgePathsToCurves, "Edge Paths to Curves", "")
DefNode(GeometryNode, GEO_NODE_EDGE_PATHS_TO_SELECTION, 0,
"EDGE_PATHS_TO_SELECTION", EdgePathsToSelection, "Edge Paths to Selection", "")
+DefNode(GeometryNode, GEO_NODE_EVALUATE_AT_INDEX, def_geo_evaluate_at_index,
"FIELD_AT_INDEX", FieldAtIndex, "Evaluate at Index", "Retrieve data of other
elements in the context's geometry")
+DefNode(GeometryNode, GEO_NODE_EVALUATE_ON_DOMAIN, def_geo_evaluate_on_domain,
"FIELD_ON_DOMAIN", FieldOnDomain, "Evaluate on Domain", "Retrieve values from a
field on a different domain besides the domain from the context")
DefNode(GeometryNode, GEO_NODE_EXTRUDE_MESH, def_geo_extrude_mesh,
"EXTRUDE_MESH", ExtrudeMesh, "Extrude Mesh", "Generate new vertices, edges, or
faces from selected elements and move them based on an offset while keeping
them connected by their boundary")
-DefNode(GeometryNode, GEO_NODE_FIELD_AT_INDEX, def_geo_field_at_index,
"FIELD_AT_INDEX", FieldAtIndex, "Field at Index", "Retrieve data of other
elements in the context's geometry")
DefNode(GeometryNode, GEO_NODE_FILL_CURVE, def_geo_curve_fill, "FILL_CURVE",
FillCurve, "Fill Curve", "Generate a mesh on the XY plane with faces on the
inside of input curves")
DefNode(GeometryNode, GEO_NODE_FILLET_CURVE, def_geo_curve_fillet,
"FILLET_CURVE", FilletCurve, "Fillet Curve", "Round corners by generating
circular arcs on each control point")
DefNode(GeometryNode, GEO_NODE_FLIP_FACES, 0, "FLIP_FACES", FlipFaces, "Flip
Faces", "Reverse the order of the vertices and edges of selected faces,
flipping their normal direction")
DefNode(GeometryNode, GEO_NODE_GEOMETRY_TO_INSTANCE, 0,
"GEOMETRY_TO_INSTANCE", GeometryToInstance, "Geometry to Instance", "Convert
each input geometry into an instance, which can be much faster than the Join
Geometry node when the inputs are large")
-DefNode(GeometryNode, GEO_NODE_IMAGE, def_geo_image, "IMAGE", InputImage,
"Image", "Input image")
DefNode(GeometryNode, GEO_NODE_IMAGE_INFO, 0, "IMAGE_INFO", ImageInfo, "Image
Info", "Retrieve information about an image")
DefNode(GeometryNode, GEO_NODE_IMAGE_TEXTURE, def_geo_image_texture,
"IMAGE_TEXTURE", ImageTexture, "Image Texture", "Sample values from an image
texture")
+DefNode(GeometryNode, GEO_NODE_IMAGE, def_geo_image, "IMAGE", InputImage,
"Image", "Input image")
DefNode(GeometryNode, GEO_NODE_INPUT_CURVE_HANDLES, 0, "INPUT_CURVE_HANDLES",
InputCurveHandlePositions,"Curve Handle Positions", "Retrieve the position of
each Bézier control point's handles")
DefNode(GeometryNode, GEO_NODE_INPUT_CURVE_TILT, 0, "INPUT_CURVE_TILT",
InputCurveTilt, "Curve Tilt", "Retrieve the angle at each control point used to
twist the curve's normal around its tangent")
DefNode(GeometryNode, GEO_NODE_INPUT_ID, 0, "INPUT_ID", InputID, "ID",
"Retrieve a stable random identifier value from the \"id\" attribute on the
point domain, or the index if the attribute does not exist")
@@ -352,7 +353,6 @@ DefNode(GeometryNode, GEO_NODE_INPUT_SPLINE_RESOLUTION, 0,
"INPUT_SPLINE_RESOLUT
DefNode(GeometryNode, GEO_NODE_INPUT_TANGENT, 0, "INPUT_TANGENT",
InputTangent, "Curve Tangent", "Retrieve the direction of curves at each
control point")
DefNode(GeometryNode, GEO_NODE_INSTANCE_ON_POINTS, 0, "INSTANCE_ON_POINTS",
InstanceOnPoints, "Instance on Points", "Generate a reference to geometry at
each of the input points, without duplicating its underlying data")
DefNode(GeometryNode, GEO_NODE_INSTANCES_TO_POINTS, 0,
"INSTANCES_TO_POINTS",InstancesToPoints, "Instances to Points","Generate points
at the origins of instances.\nNote: Nested instances are not affected by this
node")
-DefNode(GeometryNode, GEO_NODE_INTERPOLATE_DOMAIN, def_geo_interpolate_domain,
"FIELD_ON_DOMAIN", FieldOnDomain, "Interpolate Domain", "Retrieve values from a
field on a different domain besides the domain from the context")
DefNode(GeometryNode, GEO_NODE_IS_VIEWPORT, 0, "IS_VIEWPORT", IsViewport, "Is
Viewport", "Retrieve whether the nodes are being evaluated for the viewport
rather than the final render")
DefNode(GeometryNode, GEO_NODE_JOIN_GEOMETRY, 0, "JOIN_GEOMETRY",
JoinGeometry, "Join Geometry", "Merge separately generated geometries into a
single one")
DefNode(GeometryNode, GEO_NODE_MATERIAL_SELECTION, 0, "MATERIAL_SELECTION",
MaterialSelection, "Material Selection", "Provide a selection of faces that use
the specified material")
@@ -397,9 +397,9 @@ DefNode(GeometryNode, GEO_NODE_SAMPLE_NEAREST,
def_geo_sample_nearest, "SAMPLE_N
DefNode(GeometryNode, GEO_NODE_SAMPLE_UV_SURFACE, def_geo_sample_uv_surface,
"SAMPLE_UV_SURFACE", SampleUVSurface, "Sample UV Surface", "Calculate the
interpolated values of a mesh attribute at a UV coordinate")
DefNode(GeometryNode, GEO_NODE_SCALE_ELEMENTS, def_geo_scale_elements,
"SCALE_ELEMENTS", ScaleElements, "Scale Elements", "Scale groups of connected
edges and faces")
DefNode(GeometryNode, GEO_NODE_SCALE_INSTANCES, 0, "SCALE_INSTANCES",
ScaleInstances, "Scale Instances", "Scale geometry instances in local or global
space")
+DefNode(GeometryNode, GEO_NODE_SELF_OBJECT, 0, "SELF_OBJECT", SelfObject,
"Self Object", "Retrieve the object that contains the geometry nodes modifier
currently being executed")
DefNode(GeometryNode, GEO_NODE_SEPARATE_COMPONENTS, 0,
"SEPARATE_COMPONENTS",SeparateComponents, "Separate Components","Split a
geometry into a separate output for each type of data in the geometry")
DefNode(GeometryNode, GEO_NODE_SEPARATE_GEOMETRY,
def_geo_separate_geometry,"SEPARATE_GEOMETRY", SeparateGeometry, "Separate
Geometry", "Split a geometry into two geometry outputs based on a selection")
-DefNode(GeometryNode, GEO_NODE_SELF_OBJECT, 0, "SELF_OBJECT", SelfObject,
"Self Object", "Retrieve the object that contains the geometry nodes modifier
currently being executed")
DefNode(GeometryNode, GEO_NODE_SET_CURVE_HANDLES,
def_geo_curve_set_handle_positions, "SET_CURVE_HANDLES",
SetCurveHandlePositions, "Set Handle Positions", "Set the positions for the
handles of Bézier curves")
DefNode(GeometryNode, GEO_NODE_SET_CURVE_NORMAL, def_geo_set_curve_normal,
"SET_CURVE_NORMAL", SetCurveNormal, "Set Curve Normal", "Set the evaluation
mode for curve normals")
DefNode(GeometryNode, GEO_NODE_SET_CURVE_RADIUS, 0, "SET_CURVE_RADIUS",
SetCurveRadius, "Set Curve Radius", "Set the radius of the curve at each
control point")
diff --git a/source/blender/nodes/geometry/CMakeLists.txt
b/source/blender/nodes/geometry/CMakeLists.txt
index c6151022ac5..396fd794865 100644
--- a/source/blender/nodes/geometry/CMakeLists.txt
+++ b/source/blender/nodes/geometry/CMakeLists.txt
@@ -69,21 +69,22 @@ set(SRC
nodes/node_geo_edge_paths_to_curves.cc
nodes/node_geo_edge_paths_to_selection.cc
nodes/node_geo_edge_split.cc
+ nodes/node_geo_evaluate_at_index.cc
+ nodes/node_geo_evaluate_on_domain.cc
nodes/node_geo_extrude_mesh.cc
- nodes/node_geo_field_at_index.cc
nodes/node_geo_flip_faces.cc
nodes/node_geo_geometry_to_instance.cc
- nodes/node_geo_image.cc
nodes/node_geo_image_info.cc
nodes/node_geo_image_texture.cc
+ nodes/node_geo_image.cc
nodes/node_geo_input_curve_handles.cc
nodes/node_geo_input_curve_tilt.cc
nodes/node_geo_input_id.cc
nodes/node_geo_input_index.cc
nodes/node_geo_input_instance_rotation.cc
nodes/node_geo_input_instance_scale.cc
- nodes/node_geo_input_material.cc
nodes/node_geo_input_material_index.cc
+ nodes/node_geo_input_material.cc
nodes/node_geo_input_mesh_edge_angle.cc
nodes/node_geo_input_mesh_edge_neighbors.cc
nodes/node_geo_input_mesh_edge_vertices.cc
@@ -105,7 +106,6 @@ set(SRC
nodes/node_geo_input_tangent.cc
nodes/node_geo_instance_on_points.cc
nodes/node_geo_instances_to_points.cc
- nodes/node_geo_interpolate_domain.cc
nodes/node_geo_is_viewport.cc
nodes/node_geo_join_geometry.cc
nodes/node_geo_material_replac
@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs