From a836ded9902d67359ea94a03c45de7edd4f826fb Mon Sep 17 00:00:00 2001 From: Johnny Matthews Date: Wed, 29 Dec 2021 10:24:29 -0600 Subject: Geometry Nodes: Accumulate Fields Node This function node creates a running total of a given Vector, Float, or Int field. Inputs: - Value: The field to be accumulated - Group Index: The values of this input are used to aggregate the input into separate 'bins', creating multiple accumulations. Outputs: - Leading and Trailing: Returns the running totals starting at either the first value of each accumulations or 0 respectively. - Total: Returns the total accumulation at all positions of the field. There's currently plenty of duplicate work happening when multiple outputs are used that could be optimized by a future refactor to field inputs. Differential Revision: https://developer.blender.org/D12743 --- source/blender/makesdna/DNA_node_types.h | 7 +++++++ 1 file changed, 7 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 0d106c6b9eb..e349dfd8704 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -1264,6 +1264,13 @@ typedef struct NodeRandomValue { uint8_t data_type; } NodeRandomValue; +typedef struct NodeAccumulateField { + /* CustomDataType. */ + uint8_t data_type; + /* AttributeDomain. */ + uint8_t domain; +} NodeAccumulateField; + typedef struct NodeAttributeRandomize { /* CustomDataType. */ uint8_t data_type; -- cgit v1.2.3