From c5514d3a2a03242ddc43f83be4bb72df7f85469f Mon Sep 17 00:00:00 2001 From: Fabian Schempp Date: Wed, 3 Feb 2021 11:02:01 -0600 Subject: Geometry Nodes: Multi-Input Sockets Normally sockets only have one input link. This commit adds the back-end changes needed to use multiple input links per socket. Multi-input sockets can be defined with a new flag in `bNodeSocketType`. The changes necessary to make the sockets work in the geometry nodes evaluator are generalizing input socket values as a vector of values, and supporting this in the derived node tree structure. This patch should contain no functional changes. Two upcoming patches will use this system for the "Join Geometry" node and expose link picking and updated display in the UI: D10069 and D10181. Reviewed By: Jacques Lucke, Hans Goudey Differential Revision: https://developer.blender.org/D10067 --- source/blender/makesdna/DNA_node_types.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'source/blender/makesdna') diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index c4d8c33ce7a..a69af18ded2 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -200,6 +200,8 @@ typedef enum eNodeSocketFlag { SOCK_NO_INTERNAL_LINK = (1 << 9), /** Draw socket in a more compact form. */ SOCK_COMPACT = (1 << 10), + /** Make the input socket accept multiple incoming links in the UI. */ + SOCK_MULTI_INPUT = (1 << 11), } eNodeSocketFlag; /* limit data in bNode to what we want to see saved? */ -- cgit v1.2.3