Blender Git Loki
Git Commits -> Revision 40c3b88
Revision 40c3b88 by Hans Goudey (master) October 20, 2021, 15:54 (GMT) |
Geometry Nodes: Make Random ID a builtin attribute, remove sockets In order to address feedback that the "Stable ID" was not easy enough to use, remove the "Stable ID" output from the distribution node and the input from the instance on points node. Instead, the nodes write or read a builtin named attribute called `id`. In the future we may add more attributes like `edge_id` and `face_id`. The downside is that more behavior is invisible, which is les expected now that most attributes are passed around with node links. This behavior will have to be explained in the manual. The random value node's "ID" input that had an implicit index input is converted to a special implicit input that uses the `id` attribute if possible, but otherwise defaults to the index. There is no way to tell in the UI which it uses, except by knowing that rule and checking in the spreadsheet for the id attribute. Because it isn't always possible to create stable randomness, this attribute does not always exist, and it will be possible to remove it when we have the attribute remove node back, to improve performance. Differential Revision: https://developer.blender.org/D12903 |
Commit Details:
Full Hash: 40c3b8836b7a36303ea9c78b0932758cbf277f93
Parent Commit: 1a96045
Lines Changed: +339, -147
11 Modified Paths:
/source/blender/blenkernel/BKE_geometry_set.hh (+18, -0) (Diff)
/source/blender/blenkernel/intern/attribute_access.cc (+102, -12) (Diff)
/source/blender/blenkernel/intern/attribute_access_intern.hh (+6, -1) (Diff)
/source/blender/blenkernel/intern/geometry_component_curve.cc (+138, -90) (Diff)
/source/blender/blenkernel/intern/geometry_component_mesh.cc (+34, -8) (Diff)
/source/blender/blenkernel/intern/geometry_component_pointcloud.cc (+12, -1) (Diff)
/source/blender/functions/FN_field.hh (+2, -0) (Diff)
/source/blender/functions/intern/field.cc (+9, -4) (Diff)
/source/blender/modifiers/intern/MOD_nodes_evaluator.cc (+5, -1) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_distribute_points_on_faces.cc (+12, -23) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_instance_on_points.cc (+1, -7) (Diff)
/source/blender/blenkernel/intern/attribute_access.cc (+102, -12) (Diff)
/source/blender/blenkernel/intern/attribute_access_intern.hh (+6, -1) (Diff)
/source/blender/blenkernel/intern/geometry_component_curve.cc (+138, -90) (Diff)
/source/blender/blenkernel/intern/geometry_component_mesh.cc (+34, -8) (Diff)
/source/blender/blenkernel/intern/geometry_component_pointcloud.cc (+12, -1) (Diff)
/source/blender/functions/FN_field.hh (+2, -0) (Diff)
/source/blender/functions/intern/field.cc (+9, -4) (Diff)
/source/blender/modifiers/intern/MOD_nodes_evaluator.cc (+5, -1) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_distribute_points_on_faces.cc (+12, -23) (Diff)
/source/blender/nodes/geometry/nodes/node_geo_instance_on_points.cc (+1, -7) (Diff)