Blender V4.3
DNA_node_types.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2005 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11#include "DNA_ID.h"
12#include "DNA_listBase.h"
14#include "DNA_scene_types.h" /* for #ImageFormatData */
15#include "DNA_vec_types.h" /* for #rctf */
16
18#ifdef __cplusplus
19# include <BLI_vector.hh>
20# include <string>
21
22namespace blender {
23template<typename T> class Span;
24template<typename T> class MutableSpan;
25class IndexRange;
26class StringRef;
27class StringRefNull;
28} // namespace blender
29namespace blender::nodes {
30class NodeDeclaration;
32} // namespace blender::nodes
33namespace blender::bke {
35class bNodeRuntime;
37} // namespace blender::bke
38namespace blender::bke {
39class bNodeTreeZones;
40class bNodeTreeZone;
42struct bNodeTreeType;
43struct bNodeType;
44struct bNodeSocketType;
45} // namespace blender::bke
46namespace blender::bke {
48} // namespace blender::bke
57#else
66#endif
67
68struct AnimData;
69struct Collection;
71struct ID;
72struct Image;
73struct ImBuf;
74struct ListBase;
75struct Material;
76struct PreviewImage;
77struct Tex;
78struct bGPdata;
79struct bNodeLink;
80struct bNodePreview;
81struct bNode;
83
84#define NODE_MAXSTR 64
85
86typedef struct bNodeStack {
87 float vec[4];
88 float min, max;
89 void *data;
91 short hasinput;
93 short hasoutput;
95 short datatype;
99 short is_copy;
101 short external;
102 char _pad[4];
104
106enum {
109};
110
111/* node socket/node socket type -b conversion rules */
112enum {
119};
120
121typedef struct bNodeSocket {
123
126
128 char identifier[64];
129
131 char name[64];
132
134 void *storage;
135
139 short type;
141 short flag;
148 short limit;
150 short in_out;
154 char idname[64];
155
158
162
163 /* #AttrDomain used when the geometry nodes modifier creates an attribute for a group
164 * output. */
166
167 char _pad[4];
168
170 char label[64];
171 char short_label[64];
172 char description[64];
173
181
182 /* internal data to retrieve relations and groups
183 * DEPRECATED, now uses the generic identifier string instead
184 */
186 int own_index DNA_DEPRECATED;
187 /* XXX deprecated, only used for restoring old group node links */
188 int to_index DNA_DEPRECATED;
189
192
193 /* XXX deprecated, socket input values are stored in default_value now.
194 * kept for forward compatibility */
197
199
200#ifdef __cplusplus
201 bool is_hidden() const;
202 bool is_available() const;
203 bool is_panel_collapsed() const;
204 bool is_visible() const;
205 bool is_multi_input() const;
206 bool is_input() const;
207 bool is_output() const;
208
210 template<typename T> T *default_value_typed();
211 template<typename T> const T *default_value_typed() const;
212
213 /* The following methods are only available when #bNodeTree.ensure_topology_cache has been
214 * called. */
215
217 int index() const;
219 int index_in_tree() const;
221 int index_in_all_inputs() const;
223 int index_in_all_outputs() const;
225 bNode &owner_node();
226 const bNode &owner_node() const;
228 bNodeTree &owner_tree();
229 const bNodeTree &owner_tree() const;
230
232 blender::Span<bNodeLink *> directly_linked_links();
233 blender::Span<const bNodeLink *> directly_linked_links() const;
235 blender::Span<bNodeSocket *> directly_linked_sockets();
236 blender::Span<const bNodeSocket *> directly_linked_sockets() const;
237 bool is_directly_linked() const;
242 blender::Span<const bNodeSocket *> logically_linked_sockets() const;
243 bool is_logically_linked() const;
244
249 const bNodeSocket *internal_link_input() const;
250
251#endif
253
274
284
291
293typedef enum eNodeSocketFlag {
295 SOCK_HIDDEN = (1 << 1),
297 SOCK_IS_LINKED = (1 << 2),
299 SOCK_UNAVAIL = (1 << 3),
300 SOCK_GIZMO_PIN = (1 << 4),
301 // /** DEPRECATED group socket should not be exposed */
302 // SOCK_INTERNAL = (1 << 5),
304 SOCK_COLLAPSED = (1 << 6),
306 SOCK_HIDE_VALUE = (1 << 7),
311 SOCK_COMPACT = (1 << 10),
313 SOCK_MULTI_INPUT = (1 << 11),
318 SOCK_HIDE_LABEL = (1 << 12),
326
327typedef enum eNodePanelFlag {
328 /* Panel is collapsed (user setting). */
330 /* The parent panel is collapsed. */
332 /* The panel has visible content. */
335
336typedef struct bNodePanelState {
337 /* Unique identifier for validating state against panels in node declaration. */
339 /* eNodePanelFlag */
340 char flag;
341 char _pad[3];
342
343#ifdef __cplusplus
344 bool is_collapsed() const;
345 bool is_parent_collapsed() const;
346 bool has_visible_content() const;
347#endif
349
356
357typedef struct bNode {
358 struct bNode *next, *prev;
359
360 /* Input and output #bNodeSocket. */
362
364 char name[64];
365
374
375 int flag;
376
381 char idname[64];
382
385
392
398
402
407 char _pad[7];
408
414 struct ID *id;
415
417 void *storage;
418
424
426 struct bNode *parent;
427
429 float locx, locy;
434 float width, height;
437
439 char label[64];
440
442 float color[3];
443
447
449
450#ifdef __cplusplus
452 int index() const;
453 blender::StringRefNull label_or_name() const;
454 bool is_muted() const;
455 bool is_reroute() const;
456 bool is_frame() const;
457 bool is_group() const;
458 bool is_group_input() const;
459 bool is_group_output() const;
460 const blender::nodes::NodeDeclaration *declaration() const;
462 blender::Span<bNodeLink> internal_links() const;
463
464 /* This node is reroute which is not logically connected to any source of value. */
465 bool is_dangling_reroute() const;
466
467 /* True if the socket is visible and has a valid location. The icon may not be visible. */
468 bool is_socket_drawn(const bNodeSocket &socket) const;
469 /* True if the socket is drawn and the icon is visible. */
470 bool is_socket_icon_drawn(const bNodeSocket &socket) const;
471
472 /* The following methods are only available when #bNodeTree.ensure_topology_cache has been
473 * called. */
474
476 blender::Span<bNodeSocket *> input_sockets();
477 blender::Span<const bNodeSocket *> input_sockets() const;
479 blender::Span<bNodeSocket *> output_sockets();
480 blender::Span<const bNodeSocket *> output_sockets() const;
482 bNodeSocket &input_socket(int index);
483 const bNodeSocket &input_socket(int index) const;
485 bNodeSocket &output_socket(int index);
486 const bNodeSocket &output_socket(int index) const;
488 const bNodeSocket &input_by_identifier(blender::StringRef identifier) const;
489 const bNodeSocket &output_by_identifier(blender::StringRef identifier) const;
490 bNodeSocket &input_by_identifier(blender::StringRef identifier);
491 bNodeSocket &output_by_identifier(blender::StringRef identifier);
493 blender::Span<bNode *> direct_children_in_frame() const;
494 blender::Span<bNodePanelState> panel_states() const;
497 const bNodeTree &owner_tree() const;
498 bNodeTree &owner_tree();
499#endif
501
503enum {
504 NODE_SELECT = 1 << 0,
505 NODE_OPTIONS = 1 << 1,
506 NODE_PREVIEW = 1 << 2,
507 NODE_HIDDEN = 1 << 3,
508 NODE_ACTIVE = 1 << 4,
509 // NODE_ACTIVE_ID = 1 << 5, /* Deprecated. */
512 // NODE_GROUP_EDIT = 1 << 7, /* Deprecated, dirty. */
513 NODE_TEST = 1 << 8,
515 NODE_MUTED = 1 << 9,
516 // NODE_CUSTOM_NAME = 1 << 10, /* Deprecated, dirty. */
517 // NODE_CONST_OUTPUT = 1 << 11, /* Deprecated, dirty. */
521 // NODE_TRANSFORM = 1 << 13, /* Deprecated, dirty. */
522
539 NODE_INIT = 1 << 16,
546 // NODE_ACTIVE_PREVIEW = 1 << 18, /* deprecated */
549};
550
552enum {
555};
556
561typedef struct bNodeInstanceKey {
562 unsigned int value;
563
564#ifdef __cplusplus
565 inline bool operator==(const bNodeInstanceKey &other) const
566 {
567 return value == other.value;
568 }
569 inline bool operator!=(const bNodeInstanceKey &other) const
570 {
571 return !(*this == other);
572 }
573
574 inline uint64_t hash() const
575 {
576 return value;
577 }
578#endif
580
587#
588#
595
596#
597#
604
605typedef struct bNodeLink {
606 struct bNodeLink *next, *prev;
607
610
611 int flag;
619
620#ifdef __cplusplus
621 bool is_muted() const;
622 bool is_available() const;
624 bool is_used() const;
625#endif
626
628
630enum {
646};
647
648typedef struct bNestedNodePath {
653
654#ifdef __cplusplus
655 uint64_t hash() const;
656 friend bool operator==(const bNestedNodePath &a, const bNestedNodePath &b);
657#endif
659
668
675typedef struct bNodeTree {
678 struct AnimData *adt;
679
682
686 char idname[64];
689
691 struct bGPdata *gpd;
693 float view_center[2];
694
696
697 int type;
698
704 int flag;
705
707 int chunksize DNA_DEPRECATED;
709 int execution_mode DNA_DEPRECATED;
711 int precision DNA_DEPRECATED;
712
715
721
723
729 ListBase inputs_legacy DNA_DEPRECATED, outputs_legacy DNA_DEPRECATED;
730
732
743
750
752
755
757
758#ifdef __cplusplus
759
761 blender::Span<bNode *> all_nodes();
762 blender::Span<const bNode *> all_nodes() const;
763
765 struct bNode *node_by_id(int32_t identifier);
766 const struct bNode *node_by_id(int32_t identifier) const;
767
768 blender::MutableSpan<bNestedNodeRef> nested_node_refs_span();
769 blender::Span<bNestedNodeRef> nested_node_refs_span() const;
770
771 const bNestedNodeRef *find_nested_node_ref(int32_t nested_node_id) const;
773 const bNestedNodeRef *nested_node_ref_from_node_id_path(blender::Span<int> node_ids) const;
774 [[nodiscard]] bool node_id_path_from_nested_node_ref(const int32_t nested_node_id,
775 blender::Vector<int32_t> &r_node_ids) const;
776 const bNode *find_nested_node(int32_t nested_node_id, const bNodeTree **r_tree = nullptr) const;
777
782 void ensure_topology_cache() const;
783
784 /* The following methods are only available when #bNodeTree.ensure_topology_cache has been
785 * called. */
786
788 blender::Span<bNode *> group_nodes();
789 blender::Span<const bNode *> group_nodes() const;
791 blender::Span<bNodeSocket *> all_input_sockets();
792 blender::Span<const bNodeSocket *> all_input_sockets() const;
794 blender::Span<bNodeSocket *> all_output_sockets();
795 blender::Span<const bNodeSocket *> all_output_sockets() const;
797 blender::Span<bNodeSocket *> all_sockets();
798 blender::Span<const bNodeSocket *> all_sockets() const;
800 blender::Span<bNode *> nodes_by_type(blender::StringRefNull type_idname);
801 blender::Span<const bNode *> nodes_by_type(blender::StringRefNull type_idname) const;
803 blender::Span<bNode *> root_frames() const;
805 blender::Span<bNodeLink *> all_links();
806 blender::Span<const bNodeLink *> all_links() const;
812 blender::Span<bNode *> toposort_left_to_right();
813 blender::Span<const bNode *> toposort_left_to_right() const;
814 blender::Span<bNode *> toposort_right_to_left();
815 blender::Span<const bNode *> toposort_right_to_left() const;
817 bool has_available_link_cycle() const;
823 bool has_undefined_nodes_or_sockets() const;
825 bNode *group_output_node();
826 const bNode *group_output_node() const;
828 blender::Span<bNode *> group_input_nodes();
829 blender::Span<const bNode *> group_input_nodes() const;
830
832 const blender::bke::bNodeTreeZones *zones() const;
833
838 void ensure_interface_cache() const;
839
840 /* Cached interface item lists. */
844 blender::Span<const bNodeTreeInterfaceSocket *> interface_outputs() const;
846 blender::Span<const bNodeTreeInterfaceItem *> interface_items() const;
847#endif
849
851
852enum {
861};
862
864enum {
868 NTREE_UNUSED_2 = 1 << 2, /* cleared */
875 // NTREE_IS_LOCALIZED = 1 << 5,
876};
877
886
887/* socket value structs for input buttons
888 * DEPRECATED now using ID properties
889 */
890
897
904
908
915
919
923
930
934
938
942
946
950
951typedef struct bNodeSocketValueMenu {
952 /* Default input enum identifier. */
953 int value;
954 /* #NodeSocketValueMenuRuntimeFlag */
956 /* Immutable runtime enum definition. */
958
959#ifdef __cplusplus
960 bool has_conflict() const;
961#endif
963
967
980
981/* Data structs, for `node->storage`. */
982
989
996
997enum {
999};
1000
1001typedef enum CMPNodeMaskFlags {
1002 /* CMP_NODEFLAG_MASK_AA = (1 << 0), */ /* DEPRECATED */
1005
1010
1011enum {
1014};
1015
1016typedef struct NodeFrame {
1017 short flag;
1020
1021typedef struct NodeReroute {
1023 char type_idname[64];
1024
1026
1036
1045
1054
1062
1063typedef struct NodeBoxMask {
1064 float x;
1065 float y;
1067 float height;
1068 float width;
1069 char _pad[4];
1071
1072typedef struct NodeEllipseMask {
1073 float x;
1074 float y;
1076 float height;
1077 float width;
1078 char _pad[4];
1080
1082typedef struct NodeImageLayer {
1084 int pass_index DNA_DEPRECATED;
1085 /* render pass name */
1087 char pass_name[64];
1089
1100
1106
1112
1122
1128
1130typedef struct NodeHueSat {
1131 float hue, sat, val;
1133
1140
1156 /* single layer file output */
1157 short use_render_format DNA_DEPRECATED;
1161 char _pad1[3];
1163 char path[1024];
1165
1166 /* Multi-layer output. */
1168 char layer[30];
1169 char _pad2[2];
1171
1172typedef struct NodeChroma {
1173 float t1, t2, t3;
1175 float key[4];
1178
1179typedef struct NodeTwoXYs {
1180 short x1, x2, y1, y2;
1183
1184typedef struct NodeTwoFloats {
1185 float x, y;
1187
1188typedef struct NodeVertexCol {
1189 char name[64];
1191
1192typedef struct NodeCMPCombSepColor {
1193 /* CMPNodeCombSepColorMode */
1197
1206
1213
1215typedef struct NodeGlare {
1217 /* XXX angle is only kept for backward/forward compatibility,
1218 * was used for two different things, see #50736. */
1222 char _pad1[4];
1224
1226typedef struct NodeTonemap {
1228 float f, m, a, c;
1229 int type;
1231
1233typedef struct NodeLensDist {
1234 short jit, proj, fit;
1235 char _pad[2];
1237
1238typedef struct NodeColorBalance {
1239 /* ASC CDL parameters. */
1240 float slope[3];
1241 float offset[3];
1242 float power[3];
1244 char _pad[4];
1245
1246 /* LGG parameters. */
1247 float lift[3];
1248 float gamma[3];
1249 float gain[3];
1250
1251 /* White-point parameters. */
1257
1263
1268
1272
1273typedef struct NodeMask {
1276
1280
1285
1303
1314
1318
1324
1333
1334typedef struct NodeTexGabor {
1336 /* Stores NodeGaborType. */
1337 char type;
1338 char _pad[7];
1340
1346
1354
1364
1370
1378
1384
1390
1396
1414
1419
1425
1427typedef struct TexNodeOutput {
1428 char name[64];
1430
1435
1448
1453
1459
1468
1469typedef struct NodeShaderScript {
1470 int mode;
1471 int flag;
1472
1474 char filepath[1024];
1475
1479
1485
1490
1494
1498
1499typedef struct NodeShaderTexIES {
1500 int mode;
1501
1503 char filepath[1024];
1505
1509
1510typedef struct NodeSunBeams {
1511 float source[2];
1512
1515
1523
1528
1536
1537typedef struct NodeCryptomatte {
1544
1547
1548 /* MAX_NAME */
1549 char layer_name[64];
1552
1553 /* Legacy attributes. */
1556
1557 char _pad[4];
1560
1565
1575
1580
1587
1591
1595
1599
1603
1604typedef struct NodeInputColor {
1605 float color[4];
1607
1611
1616
1621
1628
1633
1638
1643
1648
1655
1660
1665
1670
1675
1682
1687
1688typedef struct NodeEnumItem {
1689 char *name;
1691 /* Immutable unique identifier. */
1693 char _pad[4];
1695
1696typedef struct NodeEnumDefinition {
1697 /* User-defined enum items owned and managed by this node. */
1702 char _pad[4];
1703
1704#ifdef __cplusplus
1705 blender::Span<NodeEnumItem> items() const;
1707#endif
1709
1717
1722
1727
1734
1741
1746
1751
1756
1761
1766
1771
1776
1781
1786
1795
1805
1814
1822
1826
1831
1843
1855
1862
1867
1878
1885
1890
1895
1900
1905
1912
1917
1930
1935
1949
1961
1966
1980
1985
1994
2003
2014
2022
2030
2038
2054
2059
2060typedef struct NodeIndexSwitch {
2063
2064 /* #eNodeSocketDataType. */
2068
2069 char _pad[4];
2070#ifdef __cplusplus
2071 blender::Span<IndexSwitchItem> items_span() const;
2073#endif
2075
2080
2090
2095
2106
2113
2118
2123
2135
2136#define GEO_NODE_TRANSFORM_GIZMO_USE_TRANSLATION_ALL \
2137 (GEO_NODE_TRANSFORM_GIZMO_USE_TRANSLATION_X | GEO_NODE_TRANSFORM_GIZMO_USE_TRANSLATION_Y | \
2138 GEO_NODE_TRANSFORM_GIZMO_USE_TRANSLATION_Z)
2139
2140#define GEO_NODE_TRANSFORM_GIZMO_USE_ROTATION_ALL \
2141 (GEO_NODE_TRANSFORM_GIZMO_USE_ROTATION_X | GEO_NODE_TRANSFORM_GIZMO_USE_ROTATION_Y | \
2142 GEO_NODE_TRANSFORM_GIZMO_USE_ROTATION_Z)
2143
2144#define GEO_NODE_TRANSFORM_GIZMO_USE_SCALE_ALL \
2145 (GEO_NODE_TRANSFORM_GIZMO_USE_SCALE_X | GEO_NODE_TRANSFORM_GIZMO_USE_SCALE_Y | \
2146 GEO_NODE_TRANSFORM_GIZMO_USE_SCALE_Z)
2147
2156
2160
2168
2169/* script node mode */
2170enum {
2173};
2174
2175/* script node flag */
2176enum {
2178};
2179
2180/* IES node mode. */
2181enum {
2184};
2185
2186/* Frame node flags. */
2187
2188enum {
2193};
2194
2195/* Proxy node flags. */
2196
2197enum {
2200};
2201
2202/* Comp channel matte. */
2203
2204enum {
2209};
2210
2211/* Conductive fresnel types */
2212enum {
2215};
2216
2217/* glossy distributions */
2218enum {
2220 SHD_GLOSSY_SHARP_DEPRECATED = 1, /* deprecated */
2224};
2225
2226/* sheen distributions */
2227#define SHD_SHEEN_ASHIKHMIN 0
2228#define SHD_SHEEN_MICROFIBER 1
2229
2230/* vector transform */
2231enum {
2235};
2236
2237enum {
2241};
2242
2244enum {
2249};
2250
2251/* toon modes */
2252enum {
2255};
2256
2257/* hair components */
2258enum {
2261};
2262
2263/* principled hair models */
2264enum {
2267};
2268
2269/* principled hair color parametrization */
2270enum {
2274};
2275
2276/* blend texture */
2277enum {
2285};
2286
2287/* noise basis for textures */
2288enum {
2297};
2298
2299enum {
2302};
2303
2304/* Voronoi Texture */
2305
2306enum {
2311};
2312
2313enum {
2319};
2320
2321/* Deprecated Musgrave Texture. Keep for Versioning */
2322enum {
2328};
2329
2330/* Noise Texture */
2331enum {
2337};
2338
2339/* wave texture */
2340enum {
2343};
2344
2345enum {
2350};
2351
2352enum {
2357};
2358
2359enum {
2363};
2364
2365/* sky texture */
2366enum {
2370};
2371
2372/* environment texture */
2373enum {
2376};
2377
2382
2383enum {
2388};
2389
2390/* image texture */
2391enum {
2396};
2397
2398/* image texture interpolation */
2399enum {
2404};
2405
2406/* tangent */
2407enum {
2410};
2411
2412/* tangent */
2413enum {
2417};
2418
2419/* normal map, displacement space */
2420enum {
2426};
2427
2428enum {
2431};
2432
2434enum {
2439};
2440
2442enum {
2448};
2449
2450/* math node clamp */
2451enum {
2453};
2454
2498
2531
2545
2550
2558
2569
2590
2597
2599enum {
2602};
2603
2605enum {
2610};
2611
2612/* mix rgb node flags */
2613enum {
2616};
2617
2618/* Subsurface. */
2619
2620enum {
2621#ifdef DNA_DEPRECATED_ALLOW
2622 SHD_SUBSURFACE_COMPATIBLE = 0, /* Deprecated */
2623 SHD_SUBSURFACE_CUBIC = 1,
2624 SHD_SUBSURFACE_GAUSSIAN = 2,
2625#endif
2629};
2630
2631/* blur node */
2632enum {
2636};
2637
2638/* wrapping */
2639enum {
2644};
2645
2646#define CMP_NODE_MASK_MBLUR_SAMPLES_MAX 64
2647
2648/* image */
2649enum {
2651};
2652
2653/* viewer and composite output. */
2654enum {
2656};
2657
2663
2670
2676
2682
2688
2694
2695/* Flip Node. Stored in custom1. */
2701
2702/* Scale Node. Stored in custom1. */
2709
2710/* Scale Node. Stored in custom2. */
2716
2717/* Filter Node. Stored in custom1. */
2728
2729/* Levels Node. Stored in custom1. */
2737
2738/* Tone Map Node. Stored in NodeTonemap.type. */
2743
2744/* Track Position Node. Stored in custom1. */
2751
2752/* Glare Node. Stored in NodeGlare.type. */
2760
2761/* Kuwahara Node. Stored in variation */
2766
2767/* Stabilize 2D node. Stored in custom1 for Stabilize 2D node and in interpolation for Translate
2768 * node. */
2774
2775/* Stabilize 2D node. Stored in custom2. */
2779
2780#define CMP_NODE_PLANE_TRACK_DEFORM_MOTION_BLUR_SAMPLES_MAX 64
2781
2782/* Plane track deform node. */
2786
2787/* Set Alpha Node. */
2788
2794
2795/* Denoise Node. */
2796
2803
2804/* Color combine/separate modes */
2805
2813
2814/* Filtering modes Compositor MapUV node, stored in custom2. */
2821
2822/* Cryptomatte node source. */
2827
2828/* Point Density shader node */
2829
2830enum {
2833};
2834
2835enum {
2838};
2839
2840enum {
2844};
2845
2846enum {
2850};
2851
2852/* Scattering phase functions */
2853enum {
2859};
2860
2861/* Output shader node */
2862
2868
2869/* Geometry Nodes */
2870
2876
2881
2888
2893
2898
2906
2911
2916
2922
2927
2932
2938
2945
2950
2955
2961
2966
2971
2976
2981
2986
2991
2999
3004
3010
3015
3020
3026
3031
3036
3043
3049
3057
3065
3075
3081
3086
3092
3100
3106
#define ENUM_OPERATORS(_type, _max)
ID and Library types, which are fundamental for SDNA.
These structs are the foundation for all linked lists in the library system.
struct bNodeSocketTypeHandle bNodeSocketTypeHandle
@ SHD_CONDUCTOR_F82
@ SHD_PHYSICAL_CONDUCTOR
NodeVectorMathOperation
@ NODE_VECTOR_MATH_NORMALIZE
@ NODE_VECTOR_MATH_LENGTH
@ NODE_VECTOR_MATH_CROSS_PRODUCT
@ NODE_VECTOR_MATH_CEIL
@ NODE_VECTOR_MATH_MODULO
@ NODE_VECTOR_MATH_ADD
@ NODE_VECTOR_MATH_COSINE
@ NODE_VECTOR_MATH_REFLECT
@ NODE_VECTOR_MATH_WRAP
@ NODE_VECTOR_MATH_REFRACT
@ NODE_VECTOR_MATH_DOT_PRODUCT
@ NODE_VECTOR_MATH_ABSOLUTE
@ NODE_VECTOR_MATH_DIVIDE
@ NODE_VECTOR_MATH_TANGENT
@ NODE_VECTOR_MATH_DISTANCE
@ NODE_VECTOR_MATH_FLOOR
@ NODE_VECTOR_MATH_SNAP
@ NODE_VECTOR_MATH_SINE
@ NODE_VECTOR_MATH_FRACTION
@ NODE_VECTOR_MATH_PROJECT
@ NODE_VECTOR_MATH_MULTIPLY
@ NODE_VECTOR_MATH_SCALE
@ NODE_VECTOR_MATH_MAXIMUM
@ NODE_VECTOR_MATH_FACEFORWARD
@ NODE_VECTOR_MATH_SUBTRACT
@ NODE_VECTOR_MATH_MULTIPLY_ADD
@ NODE_VECTOR_MATH_MINIMUM
CMPNodeInterpolation
@ CMP_NODE_INTERPOLATION_NEAREST
@ CMP_NODE_INTERPOLATION_BILINEAR
@ CMP_NODE_INTERPOLATION_BICUBIC
@ NS_CR_NONE
@ NS_CR_FIT
@ NS_CR_STRETCH
@ NS_CR_CENTER
@ NS_CR_FIT_WIDTH
@ NS_CR_FIT_HEIGHT
GeometryNodeMeshCircleFillType
@ GEO_NODE_MESH_CIRCLE_FILL_NGON
@ GEO_NODE_MESH_CIRCLE_FILL_TRIANGLE_FAN
@ GEO_NODE_MESH_CIRCLE_FILL_NONE
GeometryNodeTriangulateQuads
@ GEO_NODE_TRIANGULATE_QUAD_SHORTEDGE
@ GEO_NODE_TRIANGULATE_QUAD_BEAUTY
@ GEO_NODE_TRIANGULATE_QUAD_ALTERNATE
@ GEO_NODE_TRIANGULATE_QUAD_LONGEDGE
@ GEO_NODE_TRIANGULATE_QUAD_FIXED
GeometryNodeProximityTargetType
@ GEO_NODE_PROX_TARGET_EDGES
@ GEO_NODE_PROX_TARGET_POINTS
@ GEO_NODE_PROX_TARGET_FACES
CMPNodeColorSpillLimitAlgorithm
@ CMP_NODE_COLOR_SPILL_LIMIT_ALGORITHM_AVERAGE
@ CMP_NODE_COLOR_SPILL_LIMIT_ALGORITHM_SINGLE
GeometryNodeCurvePrimitiveLineMode
@ GEO_NODE_CURVE_PRIMITIVE_LINE_MODE_POINTS
@ GEO_NODE_CURVE_PRIMITIVE_LINE_MODE_DIRECTION
CMPNodeCombSepColorMode
@ CMP_NODE_COMBSEP_COLOR_YCC
@ CMP_NODE_COMBSEP_COLOR_YUV
@ CMP_NODE_COMBSEP_COLOR_RGB
@ CMP_NODE_COMBSEP_COLOR_HSV
@ CMP_NODE_COMBSEP_COLOR_HSL
@ NODE_IES_EXTERNAL
@ NODE_IES_INTERNAL
@ SHD_SUBSURFACE_BURLEY
@ SHD_SUBSURFACE_RANDOM_WALK_SKIN
@ SHD_SUBSURFACE_RANDOM_WALK
@ NODE_PROXY_AUTOTYPE
@ SHD_WAVE_RINGS
@ SHD_WAVE_BANDS
@ SHD_WAVE_RINGS_DIRECTION_Z
@ SHD_WAVE_RINGS_DIRECTION_Y
@ SHD_WAVE_RINGS_DIRECTION_X
@ SHD_WAVE_RINGS_DIRECTION_SPHERICAL
@ SHD_VECT_TRANSFORM_SPACE_WORLD
@ SHD_VECT_TRANSFORM_SPACE_OBJECT
@ SHD_VECT_TRANSFORM_SPACE_CAMERA
NodeGeometryTransformMode
@ GEO_NODE_TRANSFORM_MODE_MATRIX
@ GEO_NODE_TRANSFORM_MODE_COMPONENTS
GeometryNodeUVUnwrapMethod
@ GEO_NODE_UV_UNWRAP_METHOD_CONFORMAL
@ GEO_NODE_UV_UNWRAP_METHOD_ANGLE_BASED
GeometryNodeStringToCurvesAlignXMode
@ GEO_NODE_STRING_TO_CURVES_ALIGN_X_CENTER
@ GEO_NODE_STRING_TO_CURVES_ALIGN_X_JUSTIFY
@ GEO_NODE_STRING_TO_CURVES_ALIGN_X_FLUSH
@ GEO_NODE_STRING_TO_CURVES_ALIGN_X_LEFT
@ GEO_NODE_STRING_TO_CURVES_ALIGN_X_RIGHT
@ SHD_NOISE_HYBRID_MULTIFRACTAL
@ SHD_NOISE_FBM
@ SHD_NOISE_MULTIFRACTAL
@ SHD_NOISE_RIDGED_MULTIFRACTAL
@ SHD_NOISE_HETERO_TERRAIN
NodeMathOperation
@ NODE_MATH_SINH
@ NODE_MATH_SMOOTH_MIN
@ NODE_MATH_TRUNC
@ NODE_MATH_COSH
@ NODE_MATH_SIGN
@ NODE_MATH_DEGREES
@ NODE_MATH_MODULO
@ NODE_MATH_ABSOLUTE
@ NODE_MATH_DIVIDE
@ NODE_MATH_SINE
@ NODE_MATH_FLOORED_MODULO
@ NODE_MATH_ARCTAN2
@ NODE_MATH_ARCCOSINE
@ NODE_MATH_MULTIPLY_ADD
@ NODE_MATH_POWER
@ NODE_MATH_WRAP
@ NODE_MATH_ARCTANGENT
@ NODE_MATH_MINIMUM
@ NODE_MATH_SQRT
@ NODE_MATH_CEIL
@ NODE_MATH_TANH
@ NODE_MATH_GREATER_THAN
@ NODE_MATH_ADD
@ NODE_MATH_FRACTION
@ NODE_MATH_EXPONENT
@ NODE_MATH_LESS_THAN
@ NODE_MATH_ARCSINE
@ NODE_MATH_MAXIMUM
@ NODE_MATH_LOGARITHM
@ NODE_MATH_COMPARE
@ NODE_MATH_INV_SQRT
@ NODE_MATH_MULTIPLY
@ NODE_MATH_PINGPONG
@ NODE_MATH_ROUND
@ NODE_MATH_FLOOR
@ NODE_MATH_SUBTRACT
@ NODE_MATH_COSINE
@ NODE_MATH_SNAP
@ NODE_MATH_TANGENT
@ NODE_MATH_SMOOTH_MAX
@ NODE_MATH_RADIANS
GeometryNodeScaleElementsMode
@ GEO_NODE_SCALE_ELEMENTS_SINGLE_AXIS
@ GEO_NODE_SCALE_ELEMENTS_UNIFORM
struct bNodeSocketRuntimeHandle bNodeSocketRuntimeHandle
GeometryNodeAssetTraitFlag
@ GEO_NODE_ASSET_MESH
@ GEO_NODE_ASSET_POINT_CLOUD
@ GEO_NODE_ASSET_SCULPT
@ GEO_NODE_ASSET_WAIT_FOR_CURSOR
@ GEO_NODE_ASSET_CURVE
@ GEO_NODE_ASSET_EDIT
@ GEO_NODE_ASSET_MODIFIER
@ GEO_NODE_ASSET_TOOL
@ GEO_NODE_ASSET_OBJECT
@ SHD_MATH_CLAMP
@ SHD_WAVE_PROFILE_SIN
@ SHD_WAVE_PROFILE_TRI
@ SHD_WAVE_PROFILE_SAW
@ CMP_NODEFLAG_BLUR_VARIABLE_SIZE
@ CMP_NODEFLAG_BLUR_EXTEND_BOUNDS
NodeShaderOutputTarget
@ SHD_OUTPUT_CYCLES
@ SHD_OUTPUT_ALL
@ SHD_OUTPUT_EEVEE
NodeGaborType
@ SHD_GABOR_TYPE_3D
@ SHD_GABOR_TYPE_2D
@ SHD_HAIR_REFLECTION
@ SHD_HAIR_TRANSMISSION
GeometryNodeCurvePrimitiveArcMode
@ GEO_NODE_CURVE_PRIMITIVE_ARC_TYPE_POINTS
@ GEO_NODE_CURVE_PRIMITIVE_ARC_TYPE_RADIUS
GeometryNodeCurveHandleMode
@ GEO_NODE_CURVE_HANDLE_RIGHT
@ GEO_NODE_CURVE_HANDLE_LEFT
@ SHD_MIXRGB_USE_ALPHA
@ SHD_MIXRGB_CLAMP
CMPNodeSplitAxis
@ CMP_NODE_SPLIT_VERTICAL
@ CMP_NODE_SPLIT_HORIZONTAL
GeometryNodeTriangulateNGons
@ GEO_NODE_TRIANGULATE_NGON_EARCLIP
@ GEO_NODE_TRIANGULATE_NGON_BEAUTY
@ CMP_NODE_INPAINT_SIMPLE
@ SHD_POINTDENSITY_SPACE_WORLD
@ SHD_POINTDENSITY_SPACE_OBJECT
@ SHD_NOISE_VORONOI_F3
@ SHD_NOISE_VORONOI_CRACKLE
@ SHD_NOISE_VORONOI_F4
@ SHD_NOISE_CELL_NOISE
@ SHD_NOISE_VORONOI_F1
@ SHD_NOISE_VORONOI_F2
@ SHD_NOISE_PERLIN
@ SHD_NOISE_VORONOI_F2_F1
CMPNodeCryptomatteSource
@ CMP_NODE_CRYPTOMATTE_SOURCE_IMAGE
@ CMP_NODE_CRYPTOMATTE_SOURCE_RENDER
CMPNodeToneMapType
@ CMP_NODE_TONE_MAP_PHOTORECEPTOR
@ CMP_NODE_TONE_MAP_SIMPLE
NodeAlignEulerToVectorAxis
@ FN_NODE_ALIGN_EULER_TO_VECTOR_AXIS_Z
@ FN_NODE_ALIGN_EULER_TO_VECTOR_AXIS_Y
@ FN_NODE_ALIGN_EULER_TO_VECTOR_AXIS_X
CMPNodeDilateErodeMethod
@ CMP_NODE_DILATE_ERODE_STEP
@ CMP_NODE_DILATE_ERODE_DISTANCE_FEATHER
@ CMP_NODE_DILATE_ERODE_DISTANCE_THRESHOLD
@ CMP_NODE_DILATE_ERODE_DISTANCE
CMPNodeScaleRenderSizeMethod
@ CMP_NODE_SCALE_RENDER_SIZE_STRETCH
@ CMP_NODE_SCALE_RENDER_SIZE_FIT
@ CMP_NODE_SCALE_RENDER_SIZE_CROP
struct bNodeRuntimeHandle bNodeRuntimeHandle
GeometryNodeStringToCurvesPivotMode
@ GEO_NODE_STRING_TO_CURVES_PIVOT_MODE_MIDPOINT
@ GEO_NODE_STRING_TO_CURVES_PIVOT_MODE_BOTTOM_RIGHT
@ GEO_NODE_STRING_TO_CURVES_PIVOT_MODE_BOTTOM_CENTER
@ GEO_NODE_STRING_TO_CURVES_PIVOT_MODE_TOP_LEFT
@ GEO_NODE_STRING_TO_CURVES_PIVOT_MODE_TOP_CENTER
@ GEO_NODE_STRING_TO_CURVES_PIVOT_MODE_TOP_RIGHT
@ GEO_NODE_STRING_TO_CURVES_PIVOT_MODE_BOTTOM_LEFT
@ NODE_TEST
@ NODE_OPTIONS
@ NODE_DO_OUTPUT
@ NODE_HIDDEN
@ NODE_ACTIVE
@ NODE_ACTIVE_TEXTURE
@ NODE_DO_OUTPUT_RECALC
@ NODE_CUSTOM_COLOR
@ NODE_INIT
@ NODE_BACKGROUND
@ NODE_MUTED
@ NODE_ACTIVE_PAINT_CANVAS
@ NODE_SELECT
@ NODE_PREVIEW
@ SHD_BLEND_DIAGONAL
@ SHD_BLEND_EASING
@ SHD_BLEND_LINEAR
@ SHD_BLEND_RADIAL
@ SHD_BLEND_QUADRATIC_SPHERE
@ SHD_BLEND_SPHERICAL
@ SHD_BLEND_QUADRATIC
GeometryNodeMeshLineCountMode
@ GEO_NODE_MESH_LINE_COUNT_RESOLUTION
@ GEO_NODE_MESH_LINE_COUNT_TOTAL
@ CMP_NODE_BLUR_ASPECT_NONE
@ CMP_NODE_BLUR_ASPECT_X
@ CMP_NODE_BLUR_ASPECT_Y
@ CMP_NODE_IMAGE_USE_STRAIGHT_OUTPUT
NodeAlignEulerToVectorPivotAxis
@ FN_NODE_ALIGN_EULER_TO_VECTOR_PIVOT_AXIS_Y
@ FN_NODE_ALIGN_EULER_TO_VECTOR_PIVOT_AXIS_AUTO
@ FN_NODE_ALIGN_EULER_TO_VECTOR_PIVOT_AXIS_X
@ FN_NODE_ALIGN_EULER_TO_VECTOR_PIVOT_AXIS_Z
CMPNodeDistanceMatteColorSpace
@ CMP_NODE_DISTANCE_MATTE_COLOR_SPACE_YCCA
@ CMP_NODE_DISTANCE_MATTE_COLOR_SPACE_RGBA
@ SHD_PRINCIPLED_HAIR_HUANG
@ SHD_PRINCIPLED_HAIR_CHIANG
@ SHD_PRINCIPLED_HAIR_REFLECTANCE
@ SHD_PRINCIPLED_HAIR_DIRECT_ABSORPTION
@ SHD_PRINCIPLED_HAIR_PIGMENT_CONCENTRATION
CMPNodeFlipMode
@ CMP_NODE_FLIP_X
@ CMP_NODE_FLIP_X_Y
@ CMP_NODE_FLIP_Y
FunctionNodeRotateEulerType
@ FN_NODE_ROTATE_EULER_TYPE_EULER
@ FN_NODE_ROTATE_EULER_TYPE_AXIS_ANGLE
@ SHD_VORONOI_F2
@ SHD_VORONOI_SMOOTH_F1
@ SHD_VORONOI_DISTANCE_TO_EDGE
@ SHD_VORONOI_F1
@ SHD_VORONOI_N_SPHERE_RADIUS
GeometryNodeExtrudeMeshMode
@ GEO_NODE_EXTRUDE_MESH_FACES
@ GEO_NODE_EXTRUDE_MESH_VERTICES
@ GEO_NODE_EXTRUDE_MESH_EDGES
@ CMP_NODE_OUTPUT_IGNORE_ALPHA
@ NODE_FRAME_RESIZEABLE
@ NODE_FRAME_SHRINK
GeometryNodeCurveResampleMode
@ GEO_NODE_CURVE_RESAMPLE_LENGTH
@ GEO_NODE_CURVE_RESAMPLE_EVALUATED
@ GEO_NODE_CURVE_RESAMPLE_COUNT
CMPNodeChannelMatteLimitAlgorithm
@ CMP_NODE_CHANNEL_MATTE_LIMIT_ALGORITHM_MAX
@ CMP_NODE_CHANNEL_MATTE_LIMIT_ALGORITHM_SINGLE
CMPNodeAlphaConvertMode
@ CMP_NODE_ALPHA_CONVERT_UNPREMULTIPLY
@ CMP_NODE_ALPHA_CONVERT_PREMULTIPLY
CMPNodeMaskType
@ CMP_NODE_MASKTYPE_NOT
@ CMP_NODE_MASKTYPE_SUBTRACT
@ CMP_NODE_MASKTYPE_MULTIPLY
@ CMP_NODE_MASKTYPE_ADD
CMPNodeMapUVFiltering
@ CMP_NODE_MAP_UV_FILTERING_BILINEAR
@ CMP_NODE_MAP_UV_FILTERING_BICUBIC
@ CMP_NODE_MAP_UV_FILTERING_NEAREST
@ CMP_NODE_MAP_UV_FILTERING_ANISOTROPIC
@ NODE_MAPPING_TYPE_POINT
@ NODE_MAPPING_TYPE_VECTOR
@ NODE_MAPPING_TYPE_TEXTURE
@ NODE_MAPPING_TYPE_NORMAL
@ SHD_PHASE_DRAINE
@ SHD_PHASE_RAYLEIGH
@ SHD_PHASE_HENYEY_GREENSTEIN
@ SHD_PHASE_MIE
@ SHD_PHASE_FOURNIER_FORAND
GeometryNodeCurveSampleMode
@ GEO_NODE_CURVE_SAMPLE_FACTOR
@ GEO_NODE_CURVE_SAMPLE_LENGTH
GeometryNodeMeshToPointsMode
@ GEO_NODE_MESH_TO_POINTS_FACES
@ GEO_NODE_MESH_TO_POINTS_VERTICES
@ GEO_NODE_MESH_TO_POINTS_CORNERS
@ GEO_NODE_MESH_TO_POINTS_EDGES
CMPNodePlaneTrackDeformFlags
@ CMP_NODE_PLANE_TRACK_DEFORM_FLAG_MOTION_BLUR
CMPNodeKuwahara
@ CMP_NODE_KUWAHARA_CLASSIC
@ CMP_NODE_KUWAHARA_ANISOTROPIC
@ CMP_NODE_CHANNEL_MATTE_CS_YUV
@ CMP_NODE_CHANNEL_MATTE_CS_RGB
@ CMP_NODE_CHANNEL_MATTE_CS_HSV
@ CMP_NODE_CHANNEL_MATTE_CS_YCC
GeometryNodeCurveFillMode
@ GEO_NODE_CURVE_FILL_MODE_TRIANGULATED
@ GEO_NODE_CURVE_FILL_MODE_NGONS
@ SHD_POINTDENSITY_COLOR_PARTSPEED
@ SHD_POINTDENSITY_COLOR_PARTVEL
@ SHD_POINTDENSITY_COLOR_PARTAGE
NodeGeometryBakeItemFlag
@ GEO_NODE_BAKE_ITEM_IS_ATTRIBUTE
CMPNodeMaskFlags
@ CMP_NODE_MASK_FLAG_SIZE_FIXED
@ CMP_NODE_MASK_FLAG_NO_FEATHER
@ CMP_NODE_MASK_FLAG_SIZE_FIXED_SCENE
@ CMP_NODE_MASK_FLAG_MOTION_BLUR
@ NODE_SCRIPT_INTERNAL
@ NODE_SCRIPT_EXTERNAL
GeometryNodeDistributePointsOnFacesMode
@ GEO_NODE_POINT_DISTRIBUTE_POINTS_ON_FACES_RANDOM
@ GEO_NODE_POINT_DISTRIBUTE_POINTS_ON_FACES_POISSON
eNodeSocketInOut
@ SOCK_OUT
@ SOCK_IN
@ NTREE_DS_EXPAND
@ NTREE_UNUSED_2
@ NTREE_VIEWER_BORDER
@ SHD_GLOSSY_BECKMANN
@ SHD_GLOSSY_SHARP_DEPRECATED
@ SHD_GLOSSY_GGX
@ SHD_GLOSSY_ASHIKHMIN_SHIRLEY
@ SHD_GLOSSY_MULTI_GGX
CMPNodeSetAlphaMode
@ CMP_NODE_SETALPHA_MODE_REPLACE_ALPHA
@ CMP_NODE_SETALPHA_MODE_APPLY
NodeShaderMixMode
@ NODE_MIX_MODE_UNIFORM
@ NODE_MIX_MODE_NON_UNIFORM
@ SHD_SPACE_BLENDER_OBJECT
@ SHD_SPACE_OBJECT
@ SHD_SPACE_TANGENT
@ SHD_SPACE_WORLD
@ SHD_SPACE_BLENDER_WORLD
eNodeTreeRuntimeFlag
@ NTREE_RUNTIME_FLAG_HAS_SIMULATION_ZONE
@ NTREE_RUNTIME_FLAG_HAS_MATERIAL_OUTPUT
@ NTREE_RUNTIME_FLAG_HAS_IMAGE_ANIMATION
@ SHD_POINTDENSITY_COLOR_VERTNOR
@ SHD_POINTDENSITY_COLOR_VERTWEIGHT
@ SHD_POINTDENSITY_COLOR_VERTCOL
@ SHD_AO_INSIDE
@ SHD_AO_LOCAL
@ SHD_VECT_TRANSFORM_TYPE_VECTOR
@ SHD_VECT_TRANSFORM_TYPE_NORMAL
@ SHD_VECT_TRANSFORM_TYPE_POINT
GeometryNodeMergeByDistanceMode
@ GEO_NODE_MERGE_BY_DISTANCE_MODE_ALL
@ GEO_NODE_MERGE_BY_DISTANCE_MODE_CONNECTED
GeometryNodeGizmoColor
@ GEO_NODE_GIZMO_COLOR_Z
@ GEO_NODE_GIZMO_COLOR_Y
@ GEO_NODE_GIZMO_COLOR_X
@ GEO_NODE_GIZMO_COLOR_PRIMARY
@ GEO_NODE_GIZMO_COLOR_SECONDARY
GeometryNodeMeshLineMode
@ GEO_NODE_MESH_LINE_MODE_END_POINTS
@ GEO_NODE_MESH_LINE_MODE_OFFSET
eNodeSocketFlag
@ SOCK_HIDE_LABEL
@ SOCK_HIDE_VALUE
@ SOCK_HIDE_IN_MODIFIER
@ SOCK_IS_LINKED
@ SOCK_MULTI_INPUT
@ SOCK_PANEL_COLLAPSED
@ SOCK_COLLAPSED
@ SOCK_GIZMO_PIN
@ SOCK_HIDDEN
@ SOCK_COMPACT
@ SOCK_UNAVAIL
@ SOCK_NO_INTERNAL_LINK
@ SOCK_AUTO_HIDDEN__DEPRECATED
GeometryNodeStringToCurvesAlignYMode
@ GEO_NODE_STRING_TO_CURVES_ALIGN_Y_BOTTOM_BASELINE
@ GEO_NODE_STRING_TO_CURVES_ALIGN_Y_TOP_BASELINE
@ GEO_NODE_STRING_TO_CURVES_ALIGN_Y_TOP
@ GEO_NODE_STRING_TO_CURVES_ALIGN_Y_BOTTOM
@ GEO_NODE_STRING_TO_CURVES_ALIGN_Y_MIDDLE
@ NS_OSA_VECTORS
@ NS_OSA_VALUES
eNodeSocketDisplayShape
@ SOCK_DISPLAY_SHAPE_CIRCLE_DOT
@ SOCK_DISPLAY_SHAPE_CIRCLE
@ SOCK_DISPLAY_SHAPE_SQUARE_DOT
@ SOCK_DISPLAY_SHAPE_SQUARE
@ SOCK_DISPLAY_SHAPE_DIAMOND
@ SOCK_DISPLAY_SHAPE_DIAMOND_DOT
@ NTREE_TEXTURE
@ NTREE_CUSTOM
@ NTREE_SHADER
@ NTREE_GEOMETRY
@ NTREE_COMPOSIT
@ NTREE_UNDEFINED
@ NODE_SCRIPT_AUTO_UPDATE
@ NODE_CLAMP_RANGE
@ NODE_CLAMP_MINMAX
eNodeSocketDatatype
@ SOCK_INT
@ SOCK_TEXTURE
@ SOCK_VECTOR
@ SOCK_BOOLEAN
@ SOCK_MATERIAL
@ SOCK_SHADER
@ SOCK_MATRIX
@ SOCK_FLOAT
@ SOCK_IMAGE
@ SOCK_COLLECTION
@ SOCK_CUSTOM
@ SOCK_GEOMETRY
@ SOCK_ROTATION
@ SOCK_OBJECT
@ SOCK_STRING
@ SOCK_RGBA
@ SOCK_MENU
@ SHD_TANGENT_UVMAP
@ SHD_TANGENT_RADIAL
GeometryNodePointsToVolumeResolutionMode
@ GEO_NODE_POINTS_TO_VOLUME_RESOLUTION_MODE_AMOUNT
@ GEO_NODE_POINTS_TO_VOLUME_RESOLUTION_MODE_SIZE
NodeCombSepColorMode
@ NODE_COMBSEP_COLOR_RGB
@ NODE_COMBSEP_COLOR_HSV
@ NODE_COMBSEP_COLOR_HSL
GeometryNodeCurvePrimitiveQuadMode
@ GEO_NODE_CURVE_PRIMITIVE_QUAD_MODE_KITE
@ GEO_NODE_CURVE_PRIMITIVE_QUAD_MODE_TRAPEZOID
@ GEO_NODE_CURVE_PRIMITIVE_QUAD_MODE_POINTS
@ GEO_NODE_CURVE_PRIMITIVE_QUAD_MODE_RECTANGLE
@ GEO_NODE_CURVE_PRIMITIVE_QUAD_MODE_PARALLELOGRAM
NodeWarningPropagation
@ NODE_WARNING_PROPAGATION_NONE
@ NODE_WARNING_PROPAGATION_ONLY_ERRORS_AND_WARNINGS
@ NODE_WARNING_PROPAGATION_ONLY_ERRORS
@ NODE_WARNING_PROPAGATION_ALL
GeometryNodeDistributePointsInVolumeMode
@ GEO_NODE_DISTRIBUTE_POINTS_IN_VOLUME_DENSITY_GRID
@ GEO_NODE_DISTRIBUTE_POINTS_IN_VOLUME_DENSITY_RANDOM
GeometryNodeLinearGizmoDrawStyle
@ GEO_NODE_LINEAR_GIZMO_DRAW_STYLE_CROSS
@ GEO_NODE_LINEAR_GIZMO_DRAW_STYLE_BOX
@ GEO_NODE_LINEAR_GIZMO_DRAW_STYLE_ARROW
CMPNodeColorBalanceMethod
@ CMP_NODE_COLOR_BALANCE_LGG
@ CMP_NODE_COLOR_BALANCE_ASC_CDL
@ CMP_NODE_COLOR_BALANCE_WHITEPOINT
@ SHD_PROJ_TUBE
@ SHD_PROJ_SPHERE
@ SHD_PROJ_BOX
@ SHD_PROJ_FLAT
FunctionNodeRotateEulerSpace
@ FN_NODE_ROTATE_EULER_SPACE_OBJECT
@ FN_NODE_ROTATE_EULER_SPACE_LOCAL
CMPNodeScaleMethod
@ CMP_NODE_SCALE_RENDER_SIZE
@ CMP_NODE_SCALE_RELATIVE
@ CMP_NODE_SCALE_ABSOLUTE
@ CMP_NODE_SCALE_RENDER_PERCENT
struct bNodeTreeTypeHandle bNodeTreeTypeHandle
struct NodeInstanceHashHandle NodeInstanceHashHandle
CMPNodeTrackPositionMode
@ CMP_NODE_TRACK_POSITION_RELATIVE_START
@ CMP_NODE_TRACK_POSITION_ABSOLUTE_FRAME
@ CMP_NODE_TRACK_POSITION_RELATIVE_FRAME
@ CMP_NODE_TRACK_POSITION_ABSOLUTE
@ NODE_LINK_TEST
@ NODE_LINK_TEMP_HIGHLIGHT
@ NODE_LINK_MUTED
@ NODE_LINK_INSERT_TARGET
@ NODE_LINK_INSERT_TARGET_INVALID
@ NODE_LINK_VALID
@ SHD_TOON_GLOSSY
@ SHD_TOON_DIFFUSE
@ NODE_MAP_RANGE_STEPPED
@ NODE_MAP_RANGE_SMOOTHERSTEP
@ NODE_MAP_RANGE_SMOOTHSTEP
@ NODE_MAP_RANGE_LINEAR
GeometryNodeRaycastMapMode
@ GEO_NODE_RAYCAST_NEAREST
@ GEO_NODE_RAYCAST_INTERPOLATED
GeometryNodeStringToCurvesOverflowMode
@ GEO_NODE_STRING_TO_CURVES_MODE_TRUNCATE
@ GEO_NODE_STRING_TO_CURVES_MODE_SCALE_TO_FIT
@ GEO_NODE_STRING_TO_CURVES_MODE_OVERFLOW
@ SHD_IMAGE_EXTENSION_MIRROR
@ SHD_IMAGE_EXTENSION_CLIP
@ SHD_IMAGE_EXTENSION_REPEAT
@ SHD_IMAGE_EXTENSION_EXTEND
CMPNodeLevelsChannel
@ CMP_NODE_LEVLES_LUMINANCE
@ CMP_NODE_LEVLES_GREEN
@ CMP_NODE_LEVLES_LUMINANCE_BT709
@ CMP_NODE_LEVLES_RED
@ CMP_NODE_LEVLES_BLUE
NodeGeometryTransformGizmoFlag
@ GEO_NODE_TRANSFORM_GIZMO_USE_ROTATION_Z
@ GEO_NODE_TRANSFORM_GIZMO_USE_SCALE_Z
@ GEO_NODE_TRANSFORM_GIZMO_USE_ROTATION_X
@ GEO_NODE_TRANSFORM_GIZMO_USE_ROTATION_Y
@ GEO_NODE_TRANSFORM_GIZMO_USE_TRANSLATION_Z
@ GEO_NODE_TRANSFORM_GIZMO_USE_TRANSLATION_Y
@ GEO_NODE_TRANSFORM_GIZMO_USE_SCALE_X
@ GEO_NODE_TRANSFORM_GIZMO_USE_SCALE_Y
@ GEO_NODE_TRANSFORM_GIZMO_USE_TRANSLATION_X
@ SHD_SKY_PREETHAM
@ SHD_SKY_NISHITA
@ SHD_SKY_HOSEK
GeometryNodeCurveHandleType
@ GEO_NODE_CURVE_HANDLE_ALIGN
@ GEO_NODE_CURVE_HANDLE_AUTO
@ GEO_NODE_CURVE_HANDLE_FREE
@ GEO_NODE_CURVE_HANDLE_VECTOR
NodeBooleanMathOperation
@ NODE_BOOLEAN_MATH_IMPLY
@ NODE_BOOLEAN_MATH_AND
@ NODE_BOOLEAN_MATH_NAND
@ NODE_BOOLEAN_MATH_XOR
@ NODE_BOOLEAN_MATH_NOT
@ NODE_BOOLEAN_MATH_OR
@ NODE_BOOLEAN_MATH_NIMPLY
@ NODE_BOOLEAN_MATH_XNOR
@ NODE_BOOLEAN_MATH_NOR
@ NODE_VECTOR_ROTATE_TYPE_AXIS
@ NODE_VECTOR_ROTATE_TYPE_AXIS_Z
@ NODE_VECTOR_ROTATE_TYPE_AXIS_X
@ NODE_VECTOR_ROTATE_TYPE_EULER_XYZ
@ NODE_VECTOR_ROTATE_TYPE_AXIS_Y
GeometryNodeTransformSpace
@ GEO_NODE_TRANSFORM_SPACE_RELATIVE
@ GEO_NODE_TRANSFORM_SPACE_ORIGINAL
FloatToIntRoundingMode
@ FN_NODE_FLOAT_TO_INT_TRUNCATE
@ FN_NODE_FLOAT_TO_INT_CEIL
@ FN_NODE_FLOAT_TO_INT_ROUND
@ FN_NODE_FLOAT_TO_INT_FLOOR
@ SHD_POINTDENSITY_SOURCE_PSYS
@ SHD_POINTDENSITY_SOURCE_OBJECT
GeometryNodeDeleteGeometryMode
@ GEO_NODE_DELETE_GEOMETRY_MODE_EDGE_FACE
@ GEO_NODE_DELETE_GEOMETRY_MODE_ONLY_FACE
@ GEO_NODE_DELETE_GEOMETRY_MODE_ALL
@ SHD_TANGENT_AXIS_Y
@ SHD_TANGENT_AXIS_X
@ SHD_TANGENT_AXIS_Z
NodeIntegerMathOperation
@ NODE_INTEGER_MATH_SIGN
@ NODE_INTEGER_MATH_ABSOLUTE
@ NODE_INTEGER_MATH_MODULO
@ NODE_INTEGER_MATH_POWER
@ NODE_INTEGER_MATH_MINIMUM
@ NODE_INTEGER_MATH_ADD
@ NODE_INTEGER_MATH_MULTIPLY_ADD
@ NODE_INTEGER_MATH_SUBTRACT
@ NODE_INTEGER_MATH_MULTIPLY
@ NODE_INTEGER_MATH_DIVIDE_FLOOR
@ NODE_INTEGER_MATH_DIVIDE_CEIL
@ NODE_INTEGER_MATH_NEGATE
@ NODE_INTEGER_MATH_MAXIMUM
@ NODE_INTEGER_MATH_GCD
@ NODE_INTEGER_MATH_LCM
@ NODE_INTEGER_MATH_FLOORED_MODULO
@ NODE_INTEGER_MATH_DIVIDE_ROUND
@ NODE_INTEGER_MATH_DIVIDE
@ SHD_ATTRIBUTE_VIEW_LAYER
@ SHD_ATTRIBUTE_OBJECT
@ SHD_ATTRIBUTE_GEOMETRY
@ SHD_ATTRIBUTE_INSTANCER
GeometryNodeCurvePrimitiveBezierSegmentMode
@ GEO_NODE_CURVE_PRIMITIVE_BEZIER_SEGMENT_POSITION
@ GEO_NODE_CURVE_PRIMITIVE_BEZIER_SEGMENT_OFFSET
@ NODE_UPDATE_ID
struct bNodeTreeRuntimeHandle bNodeTreeRuntimeHandle
struct bNodeTypeHandle bNodeTypeHandle
@ CMP_NODE_WRAP_X
@ CMP_NODE_WRAP_NONE
@ CMP_NODE_WRAP_Y
@ CMP_NODE_WRAP_XY
CMPNodeStabilizeInverse
@ CMP_NODE_STABILIZE_FLAG_INVERSE
@ SHD_PROJ_MIRROR_BALL
@ SHD_PROJ_EQUIRECTANGULAR
@ SHD_INTERP_LINEAR
@ SHD_INTERP_SMART
@ SHD_INTERP_CUBIC
@ SHD_INTERP_CLOSEST
NodeCompareMode
@ NODE_COMPARE_MODE_ELEMENT
@ NODE_COMPARE_MODE_LENGTH
@ NODE_COMPARE_MODE_DOT_PRODUCT
@ NODE_COMPARE_MODE_AVERAGE
@ NODE_COMPARE_MODE_DIRECTION
@ SHD_MUSGRAVE_HYBRID_MULTIFRACTAL
@ SHD_MUSGRAVE_RIDGED_MULTIFRACTAL
@ SHD_MUSGRAVE_HETERO_TERRAIN
@ SHD_MUSGRAVE_MULTIFRACTAL
@ SHD_MUSGRAVE_FBM
@ SHD_NOISE_SOFT
@ SHD_NOISE_HARD
GeometryNodeAttributeTransferMode
@ GEO_NODE_ATTRIBUTE_TRANSFER_NEAREST_FACE_INTERPOLATED
@ GEO_NODE_ATTRIBUTE_TRANSFER_INDEX
@ GEO_NODE_ATTRIBUTE_TRANSFER_NEAREST
eNodePanelFlag
@ NODE_PANEL_COLLAPSED
@ NODE_PANEL_PARENT_COLLAPSED
@ NODE_PANEL_CONTENT_VISIBLE
GeometryNodeCurvePrimitiveCircleMode
@ GEO_NODE_CURVE_PRIMITIVE_CIRCLE_TYPE_RADIUS
@ GEO_NODE_CURVE_PRIMITIVE_CIRCLE_TYPE_POINTS
struct RuntimeNodeEnumItemsHandle RuntimeNodeEnumItemsHandle
NodeCompareOperation
@ NODE_COMPARE_NOT_EQUAL
@ NODE_COMPARE_LESS_EQUAL
@ NODE_COMPARE_COLOR_BRIGHTER
@ NODE_COMPARE_EQUAL
@ NODE_COMPARE_GREATER_EQUAL
@ NODE_COMPARE_GREATER_THAN
@ NODE_COMPARE_COLOR_DARKER
@ NODE_COMPARE_LESS_THAN
CMPNodeGlareType
@ CMP_NODE_GLARE_STREAKS
@ CMP_NODE_GLARE_BLOOM
@ CMP_NODE_GLARE_GHOST
@ CMP_NODE_GLARE_SIMPLE_STAR
@ CMP_NODE_GLARE_FOG_GLOW
CMPNodeFilterMethod
@ CMP_NODE_FILTER_PREWITT
@ CMP_NODE_FILTER_SHARP_BOX
@ CMP_NODE_FILTER_KIRSCH
@ CMP_NODE_FILTER_LAPLACE
@ CMP_NODE_FILTER_SHARP_DIAMOND
@ CMP_NODE_FILTER_SOFT
@ CMP_NODE_FILTER_SOBEL
@ CMP_NODE_FILTER_SHADOW
@ SHD_VORONOI_EUCLIDEAN
@ SHD_VORONOI_CHEBYCHEV
@ SHD_VORONOI_MANHATTAN
@ SHD_VORONOI_MINKOWSKI
@ SHD_WAVE_BANDS_DIRECTION_Y
@ SHD_WAVE_BANDS_DIRECTION_X
@ SHD_WAVE_BANDS_DIRECTION_Z
@ SHD_WAVE_BANDS_DIRECTION_DIAGONAL
CMPNodeDenoisePrefilter
@ CMP_NODE_DENOISE_PREFILTER_FAST
@ CMP_NODE_DENOISE_PREFILTER_NONE
@ CMP_NODE_DENOISE_PREFILTER_ACCURATE
GeometryNodeCurveFilletMode
@ GEO_NODE_CURVE_FILLET_BEZIER
@ GEO_NODE_CURVE_FILLET_POLY
static double angle(const Eigen::Vector3d &v1, const Eigen::Vector3d &v2)
Definition IK_Math.h:125
bool operator==(const AssetWeakReference &a, const AssetWeakReference &b)
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition btDbvt.cpp:52
local_group_size(16, 16) .push_constant(Type b
ccl_device_inline bool operator!=(const float2 a, const float2 b)
#define T
#define hash
Definition noise.c:154
signed short int16_t
Definition stdint.h:76
unsigned int uint32_t
Definition stdint.h:80
signed int int32_t
Definition stdint.h:77
unsigned char uint8_t
Definition stdint.h:78
unsigned __int64 uint64_t
Definition stdint.h:90
signed char int8_t
Definition stdint.h:75
struct CryptomatteEntry * next
struct CryptomatteEntry * prev
struct CryptomatteEntry * next
struct CryptomatteEntry * prev
Definition DNA_ID.h:413
ColorCorrectionData shadows
ColorCorrectionData midtones
ColorCorrectionData master
ColorCorrectionData highlights
NodeCryptomatte_Runtime runtime
NodeEnumItem * items_array
NodeForeachGeometryElementGenerationItem * items
NodeForeachGeometryElementInputItem * items
NodeForeachGeometryElementMainItem * items
NodeGeometryAttributeCaptureItem * capture_items
NodeGeometryBakeItem * items
NodeForeachGeometryElementInputItems input_items
NodeForeachGeometryElementMainItems main_items
NodeForeachGeometryElementGenerationItems generation_items
char angle DNA_DEPRECATED
char angle size
char angle _pad0
char angle streaks
char angle star_45
int frames DNA_DEPRECATED
struct ImageFormatData im_format
int pass_index DNA_DEPRECATED
short use_render_format DNA_DEPRECATED
ImageFormatData format
IndexSwitchItem * items
short size DNA_DEPRECATED
uint8_t interpolation_type
NodeEnumDefinition enum_definition
char type_idname[64]
uint8_t input_type
TexMapping tex_mapping
ColorMapping color_mapping
NodeTexBase base
int color_space DNA_DEPRECATED
NodeTexBase base
NodeTexBase base
int color_space DNA_DEPRECATED
NodeTexBase base
NodeTexBase base DNA_DEPRECATED
NodeTexBase base
NodeTexBase base
float sun_direction[3]
int coloring DNA_DEPRECATED
NodeTexBase base
bNestedNodePath path
unsigned int value
bNodeInstanceHashEntry hash_entry
struct ImBuf * ibuf
struct Collection * value
struct Material * value
const RuntimeNodeEnumItemsHandle * enum_items
IDProperty * prop
bNodeSocketRuntimeHandle * runtime
struct bNodeLink * link
char description[64]
char short_label[64]
int own_index DNA_DEPRECATED
bNodeSocketTypeHandle * typeinfo
char * default_attribute_name
struct bNodeSocket * next
struct bNodeSocket * prev
void * default_value
char identifier[64]
char idname[64]
float vec[4]
int chunksize DNA_DEPRECATED
float view_center[2]
bNodeTreeRuntimeHandle * runtime
char idname[64]
struct GeometryNodeAssetTraits * geometry_node_asset_traits
int nested_node_refs_num
struct PreviewImage * preview
bNestedNodeRef * nested_node_refs
NodeInstanceHashHandle * previews
struct bGPdata * gpd
int default_group_node_width
bNodeTreeTypeHandle * typeinfo
char * description
bNodeTreeInterface tree_interface
ListBase nodes
ListBase links
bNodeInstanceKey active_viewer_key
struct AnimData * adt
bNodeTypeHandle * typeinfo
int16_t custom1
float locy
float width
IDProperty * prop
ListBase inputs
int8_t warning_propagation
int num_panel_states
float height
struct ID * id
float color[3]
struct bNode * parent
char name[64]
float locx
bNodePanelState * panel_states_array
struct bNode * prev
struct bNode * next
bNodeRuntimeHandle * runtime
float custom4
void * storage
char idname[64]
char _pad[7]
int16_t ui_order
char label[64]
float offsetx
ListBase outputs
int32_t identifier
float custom3
float offsety
int16_t type
int16_t custom2
Defines a socket type.
Definition BKE_node.hh:151
Defines a node type.
Definition BKE_node.hh:218