Blender V5.0
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_defs.h"
13#include "DNA_listBase.h"
15#include "DNA_scene_types.h" /* for #ImageFormatData */
16#include "DNA_texture_types.h"
17#include "DNA_vec_types.h" /* for #rctf */
18
20#ifdef __cplusplus
21# include <string>
22
23# include "BLI_vector.hh"
24
25namespace blender {
26template<typename T> class Span;
27template<typename T> class MutableSpan;
28class IndexRange;
29class StringRef;
30class StringRefNull;
31} // namespace blender
32namespace blender::nodes {
33class NodeDeclaration;
35} // namespace blender::nodes
36namespace blender::bke {
38class bNodeRuntime;
40} // namespace blender::bke
41namespace blender::bke {
42class bNodeTreeZones;
43class bNodeTreeZone;
44struct bNodeTreeType;
45struct bNodeType;
46struct bNodeSocketType;
47} // namespace blender::bke
48namespace blender::bke {
50} // namespace blender::bke
58#else
67#endif
68
69struct AnimData;
70struct Collection;
72struct ID;
73struct Image;
74struct ImBuf;
75struct ListBase;
76struct Material;
77struct PreviewImage;
78struct Tex;
79struct bGPdata;
80struct bNodeLink;
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
130 char name[/*MAX_NAME*/ 64];
131
133 void *storage;
134
138 short type;
140 short flag;
147 short limit;
149 short in_out;
153 char idname[64];
154
157
161
162 /* #AttrDomain used when the geometry nodes modifier creates an attribute for a group
163 * output. */
165
166 char _pad[2];
167
169 char label[/*MAX_NAME*/ 64];
170 char short_label[/*MAX_NAME*/ 64];
171 char description[/*MAX_NAME*/ 64];
172
180
181 /* internal data to retrieve relations and groups
182 * DEPRECATED, now uses the generic identifier string instead
183 */
185 int own_index DNA_DEPRECATED;
186 /* XXX deprecated, only used for restoring old group node links */
187 int to_index DNA_DEPRECATED;
188
191
192 /* XXX deprecated, socket input values are stored in default_value now.
193 * kept for forward compatibility */
196
198
199#ifdef __cplusplus
205 bool is_user_hidden() const;
214 bool is_visible() const;
219 bool is_icon_visible() const;
224 bool is_available() const;
228 bool is_panel_collapsed() const;
233 bool is_inactive() const;
237 bool affects_node_output() const;
245 bool inferred_socket_visibility() const;
250 bool may_be_field() const;
251
252 bool is_multi_input() const;
253 bool is_input() const;
254 bool is_output() const;
255
257 template<typename T> T *default_value_typed();
258 template<typename T> const T *default_value_typed() const;
259
260 /* The following methods are only available when #bNodeTree.ensure_topology_cache has been
261 * called. */
262
264 int index() const;
266 int index_in_tree() const;
268 int index_in_all_inputs() const;
270 int index_in_all_outputs() const;
272 bNode &owner_node();
273 const bNode &owner_node() const;
275 bNodeTree &owner_tree();
276 const bNodeTree &owner_tree() const;
277
279 blender::Span<bNodeLink *> directly_linked_links();
280 blender::Span<const bNodeLink *> directly_linked_links() const;
282 blender::Span<bNodeSocket *> directly_linked_sockets();
283 blender::Span<const bNodeSocket *> directly_linked_sockets() const;
284 bool is_directly_linked() const;
289 blender::Span<const bNodeSocket *> logically_linked_sockets() const;
290 bool is_logically_linked() const;
291
296 const bNodeSocket *internal_link_input() const;
297
298#endif
300
323
336
343
345typedef enum eNodeSocketFlag {
347 SOCK_HIDDEN = (1 << 1),
349 SOCK_IS_LINKED = (1 << 2),
351 SOCK_UNAVAIL = (1 << 3),
352 SOCK_GIZMO_PIN = (1 << 4),
353 // /** DEPRECATED group socket should not be exposed */
354 // SOCK_INTERNAL = (1 << 5),
356 SOCK_COLLAPSED = (1 << 6),
358 SOCK_HIDE_VALUE = (1 << 7),
366 SOCK_MULTI_INPUT = (1 << 11),
376
377typedef enum eNodePanelFlag {
378 /* Panel is collapsed (user setting). */
380 /* The parent panel is collapsed. */
382 /* The panel has visible content. */
385
386typedef struct bNodePanelState {
387 /* Unique identifier for validating state against panels in node declaration. */
389 /* eNodePanelFlag */
390 char flag;
391 char _pad[3];
392
393#ifdef __cplusplus
394 bool is_collapsed() const;
395 bool is_parent_collapsed() const;
396 bool has_visible_content() const;
397#endif
399
414
421
422typedef struct bNode {
423 struct bNode *next, *prev;
424
425 /* Input and output #bNodeSocket. */
427
429 char name[/*MAX_NAME*/ 64];
430
439
440 int flag;
441
446 char idname[64];
447
450
470 int16_t type_legacy;
471
476 int16_t ui_order;
477
479 int16_t custom1, custom2;
481
486 char _pad[7];
487
493 struct ID *id;
494
496 void *storage;
497
503
508
510 struct bNode *parent;
511
513 float location[2];
518 float width, height;
521
523 char label[/*MAX_NAME*/ 64];
524
526 float color[3];
527
531
533
534#ifdef __cplusplus
536 int index() const;
537 blender::StringRefNull label_or_name() const;
538 bool is_muted() const;
539 bool is_reroute() const;
540 bool is_frame() const;
541 bool is_group() const;
542 bool is_custom_group() const;
543 bool is_group_input() const;
544 bool is_group_output() const;
545 bool is_undefined() const;
546
554 bool is_type(blender::StringRef query_idname) const;
555
556 const blender::nodes::NodeDeclaration *declaration() const;
558 blender::Span<bNodeLink> internal_links() const;
559
560 /* This node is reroute which is not logically connected to any source of value. */
561 bool is_dangling_reroute() const;
562
563 /* The following methods are only available when #bNodeTree.ensure_topology_cache has been
564 * called. */
565
567 blender::Span<bNodeSocket *> input_sockets();
568 blender::Span<const bNodeSocket *> input_sockets() const;
569 blender::IndexRange input_socket_indices_in_tree() const;
570 blender::IndexRange input_socket_indices_in_all_inputs() const;
572 blender::Span<bNodeSocket *> output_sockets();
573 blender::Span<const bNodeSocket *> output_sockets() const;
574 blender::IndexRange output_socket_indices_in_tree() const;
575 blender::IndexRange output_socket_indices_in_all_outputs() const;
577 bNodeSocket &input_socket(int index);
578 const bNodeSocket &input_socket(int index) const;
580 bNodeSocket &output_socket(int index);
581 const bNodeSocket &output_socket(int index) const;
583 const bNodeSocket *input_by_identifier(blender::StringRef identifier) const;
584 const bNodeSocket *output_by_identifier(blender::StringRef identifier) const;
585 bNodeSocket *input_by_identifier(blender::StringRef identifier);
586 bNodeSocket *output_by_identifier(blender::StringRef identifier);
588 const bNodeSocket &socket_by_decl(const blender::nodes::SocketDeclaration &decl) const;
589 bNodeSocket &socket_by_decl(const blender::nodes::SocketDeclaration &decl);
591 blender::Span<bNode *> direct_children_in_frame() const;
592 blender::Span<bNodePanelState> panel_states() const;
595 const bNodeTree &owner_tree() const;
596 bNodeTree &owner_tree();
597#endif
599
601enum {
602 NODE_SELECT = 1 << 0,
603 NODE_OPTIONS = 1 << 1,
604 NODE_PREVIEW = 1 << 2,
606 NODE_ACTIVE = 1 << 4,
607 // NODE_ACTIVE_ID = 1 << 5, /* Deprecated. */
610 // NODE_GROUP_EDIT = 1 << 7, /* Deprecated, dirty. */
611 NODE_TEST = 1 << 8,
613 NODE_MUTED = 1 << 9,
614 // NODE_CUSTOM_NAME = 1 << 10, /* Deprecated, dirty. */
615 // NODE_CONST_OUTPUT = 1 << 11, /* Deprecated, dirty. */
619 // NODE_TRANSFORM = 1 << 13, /* Deprecated, dirty. */
620
637 NODE_INIT = 1 << 16,
639 // NODE_ACTIVE_PREVIEW = 1 << 18, /* deprecated */
642};
643
645enum {
648};
649
654typedef struct bNodeInstanceKey {
655 unsigned int value;
656
657#ifdef __cplusplus
658 inline bool operator==(const bNodeInstanceKey &other) const
659 {
660 return value == other.value;
661 }
662 inline bool operator!=(const bNodeInstanceKey &other) const
663 {
664 return !(*this == other);
665 }
666
667 inline uint64_t hash() const
668 {
669 return value;
670 }
671#endif
673
680#
681#
688
689typedef struct bNodeLink {
690 struct bNodeLink *next, *prev;
691
694
695 int flag;
703
704#ifdef __cplusplus
705 bool is_muted() const;
706 bool is_available() const;
708 bool is_used() const;
709#endif
710
712
714enum {
730};
731
732typedef struct bNestedNodePath {
737
738#ifdef __cplusplus
739 uint64_t hash() const;
740 friend bool operator==(const bNestedNodePath &a, const bNestedNodePath &b);
741#endif
743
752
759typedef struct bNodeTree {
760#ifdef __cplusplus
762 static constexpr ID_Type id_type = ID_NT;
763#endif
764
767 struct AnimData *adt;
768
771
775 char idname[64];
778
780 struct bGPdata *gpd;
782 float view_center[2];
783
785
786 int type;
787
793 int flag;
794
796 int chunksize DNA_DEPRECATED;
798 int execution_mode DNA_DEPRECATED;
800 int precision DNA_DEPRECATED;
801
804
810
812
818 ListBase inputs_legacy DNA_DEPRECATED, outputs_legacy DNA_DEPRECATED;
819
821
827
834
836
839
841
842#ifdef __cplusplus
843
845 blender::Span<bNode *> all_nodes();
846 blender::Span<const bNode *> all_nodes() const;
847
849 struct bNode *node_by_id(int32_t identifier);
850 const struct bNode *node_by_id(int32_t identifier) const;
851
852 blender::MutableSpan<bNestedNodeRef> nested_node_refs_span();
853 blender::Span<bNestedNodeRef> nested_node_refs_span() const;
854
855 const bNestedNodeRef *find_nested_node_ref(int32_t nested_node_id) const;
857 const bNestedNodeRef *nested_node_ref_from_node_id_path(blender::Span<int> node_ids) const;
858 [[nodiscard]] bool node_id_path_from_nested_node_ref(const int32_t nested_node_id,
859 blender::Vector<int32_t> &r_node_ids) const;
860 const bNode *find_nested_node(int32_t nested_node_id, const bNodeTree **r_tree = nullptr) const;
861
866 void ensure_topology_cache() const;
867
868 /* The following methods are only available when #bNodeTree.ensure_topology_cache has been
869 * called. */
870
872 blender::Span<bNode *> group_nodes();
873 blender::Span<const bNode *> group_nodes() const;
875 blender::Span<bNodeSocket *> all_input_sockets();
876 blender::Span<const bNodeSocket *> all_input_sockets() const;
878 blender::Span<bNodeSocket *> all_output_sockets();
879 blender::Span<const bNodeSocket *> all_output_sockets() const;
881 blender::Span<bNodeSocket *> all_sockets();
882 blender::Span<const bNodeSocket *> all_sockets() const;
884 blender::Span<bNode *> nodes_by_type(blender::StringRefNull type_idname);
885 blender::Span<const bNode *> nodes_by_type(blender::StringRefNull type_idname) const;
887 blender::Span<bNode *> root_frames() const;
889 blender::Span<bNodeLink *> all_links();
890 blender::Span<const bNodeLink *> all_links() const;
896 blender::Span<bNode *> toposort_left_to_right();
897 blender::Span<const bNode *> toposort_left_to_right() const;
898 blender::Span<bNode *> toposort_right_to_left();
899 blender::Span<const bNode *> toposort_right_to_left() const;
901 bool has_available_link_cycle() const;
907 bool has_undefined_nodes_or_sockets() const;
909 bNode *group_output_node();
910 const bNode *group_output_node() const;
912 blender::Span<bNode *> group_input_nodes();
913 blender::Span<const bNode *> group_input_nodes() const;
914
916 const blender::bke::bNodeTreeZones *zones() const;
917
922 void ensure_interface_cache() const;
923
924 /* Cached interface item lists. */
928 blender::Span<const bNodeTreeInterfaceSocket *> interface_outputs() const;
930 blender::Span<const bNodeTreeInterfaceItem *> interface_items() const;
931
932 int interface_input_index(const bNodeTreeInterfaceSocket &io_socket) const;
933 int interface_output_index(const bNodeTreeInterfaceSocket &io_socket) const;
934 int interface_item_index(const bNodeTreeInterfaceItem &io_item) const;
935#endif
937
939
940enum {
949};
950
952enum {
956 NTREE_UNUSED_2 = 1 << 2, /* cleared */
963 // NTREE_IS_LOCALIZED = 1 << 5,
964};
965
974
975/* socket value structs for input buttons
976 * DEPRECATED now using ID properties
977 */
978
985
992
996
1000 /* Only some of the values might be used depending on the dimensions. */
1001 float value[4];
1002 float min, max;
1003 /* The number of dimensions of the vector. Can be 2, 3, or 4. */
1006
1010
1014
1017 char _pad[4];
1018 char value[/*FILE_MAX*/ 1024];
1020
1024
1028
1032
1036
1040
1041typedef struct bNodeSocketValueMenu {
1042 /* Default input enum identifier. */
1044 /* #NodeSocketValueMenuRuntimeFlag */
1046 /* Immutable runtime enum definition. */
1048
1049#ifdef __cplusplus
1050 bool has_conflict() const;
1051#endif
1053
1057
1074
1075/* Data structs, for `node->storage`. */
1076
1083
1090
1091enum {
1093};
1094
1095typedef enum CMPNodeMaskFlags {
1096 /* CMP_NODEFLAG_MASK_AA = (1 << 0), */ /* DEPRECATED */
1099
1104
1105typedef struct NodeFrame {
1106 short flag;
1109
1110typedef struct NodeReroute {
1112 char type_idname[64];
1113
1115
1125
1126typedef struct ColorCorrectionData {
1127 float saturation DNA_DEPRECATED;
1128 float contrast DNA_DEPRECATED;
1129 float gamma DNA_DEPRECATED;
1130 float gain DNA_DEPRECATED;
1131 float lift DNA_DEPRECATED;
1132 char _pad[4];
1134
1143
1144typedef struct NodeBokehImage {
1147 float rounding DNA_DEPRECATED;
1148 float catadioptric DNA_DEPRECATED;
1149 float lensshift DNA_DEPRECATED;
1151
1152typedef struct NodeBoxMask {
1155 float rotation DNA_DEPRECATED;
1156 float height DNA_DEPRECATED;
1157 float width DNA_DEPRECATED;
1158 char _pad[4];
1160
1169
1171typedef struct NodeImageLayer {
1173 int pass_index DNA_DEPRECATED;
1174 /* render pass name */
1176 char pass_name[64];
1178
1179typedef struct NodeBlurData {
1180 short sizex DNA_DEPRECATED;
1181 short sizey DNA_DEPRECATED;
1182 short samples DNA_DEPRECATED;
1183 short maxspeed DNA_DEPRECATED;
1184 short minspeed DNA_DEPRECATED;
1185 short relative DNA_DEPRECATED;
1186 short aspect DNA_DEPRECATED;
1187 short curved DNA_DEPRECATED;
1189 float percentx DNA_DEPRECATED;
1190 float percenty DNA_DEPRECATED;
1191 short filtertype DNA_DEPRECATED;
1192 char bokeh DNA_DEPRECATED;
1193 char gamma DNA_DEPRECATED;
1195
1206
1208 float sigma_color DNA_DEPRECATED;
1209 float sigma_space DNA_DEPRECATED;
1210 short iter DNA_DEPRECATED;
1211 char _pad[2];
1213
1214typedef struct NodeKuwaharaData {
1216 short variation DNA_DEPRECATED;
1217 int uniformity DNA_DEPRECATED;
1218 float sharpness DNA_DEPRECATED;
1219 float eccentricity DNA_DEPRECATED;
1220 char high_precision DNA_DEPRECATED;
1221 char _pad[3];
1223
1224typedef struct NodeAntiAliasingData {
1225 float threshold DNA_DEPRECATED;
1226 float contrast_limit DNA_DEPRECATED;
1227 float corner_rounding DNA_DEPRECATED;
1229
1236
1237typedef struct NodeImageFile {
1238 char name[/*FILE_MAX*/ 1024];
1242
1244 /* The unique identifier of the item used to construct the socket identifier. */
1246 /* The type of socket for the item, which is limited to the types listed in the
1247 * FileOutputItemsAccessor::supports_socket_type. */
1249 /* The number of dimensions in the vector socket if the socket type is vector, otherwise, it is
1250 * unused, */
1252 /* If true and the node is saving individual files, the format an save_as_render members of this
1253 * struct will be used, otherwise, the members of the NodeCompositorFileOutput struct will be
1254 * used for all items. */
1256 /* Apply the render part of the display transform when saving non-linear images. Unused if
1257 * override_node_format is false or the node is saving multi-layer images. */
1259 char _pad[7];
1260 /* The unique name of the item. It is used as the file name when saving individual files and used
1261 * as the layer name when saving multi-layer images. */
1262 char *name;
1263 /* The image format to use when saving individual images and override_node_format is true. */
1266
1268 char directory[/*FILE_MAX*/ 1024];
1269 /* The base name of the file. Can be nullptr. */
1271 /* The image format to use when saving the images. */
1273 /* The file output images. They can represent individual images or layers depending on whether
1274 * multi-layer images are being saved. */
1276 /* The number of file output items. */
1278 /* The currently active file output item. */
1280 /* Apply the render part of the display transform when saving non-linear images. */
1282 char _pad[7];
1284
1286 /* single layer file output */
1287 short use_render_format DNA_DEPRECATED;
1289 short use_node_format DNA_DEPRECATED;
1290 char save_as_render DNA_DEPRECATED;
1291 char _pad1[3];
1292 char path[/*FILE_MAX*/ 1024] DNA_DEPRECATED;
1294
1295 /* Multi-layer output. */
1297 char layer[/*EXR_TOT_MAXNAME - 2*/ 62] DNA_DEPRECATED;
1298 char _pad2[2];
1300
1301typedef struct NodeChroma {
1305 float fsize DNA_DEPRECATED;
1306 float fstrength DNA_DEPRECATED;
1307 float falpha DNA_DEPRECATED;
1308 float key[4] DNA_DEPRECATED;
1309 short algorithm DNA_DEPRECATED;
1310 short channel DNA_DEPRECATED;
1312
1313typedef struct NodeTwoXYs {
1318 float fac_x1 DNA_DEPRECATED;
1319 float fac_x2 DNA_DEPRECATED;
1320 float fac_y1 DNA_DEPRECATED;
1321 float fac_y2 DNA_DEPRECATED;
1323
1328
1329typedef struct NodeVertexCol {
1330 char name[64];
1332
1333typedef struct NodeCMPCombSepColor {
1334 /* CMPNodeCombSepColorMode */
1335 uint8_t mode;
1336 uint8_t ycc_mode;
1338
1340typedef struct NodeDefocus {
1342 char gamco DNA_DEPRECATED;
1344 char _pad0;
1345 float fstop;
1346 float maxblur;
1347 float scale;
1350
1357
1375
1376/* Glare Node. Stored in NodeGlare.quality. */
1382
1394
1395/* Lens Distortion node. */
1396typedef struct NodeLensDist {
1398 short proj DNA_DEPRECATED;
1400 char _pad[2];
1401 int distortion_type DNA_DEPRECATED;
1403
1404typedef struct NodeColorBalance {
1405 /* ASC CDL parameters. */
1406 float slope[3] DNA_DEPRECATED;
1407 float offset[3] DNA_DEPRECATED;
1409 float offset_basis DNA_DEPRECATED;
1410 char _pad[4];
1411
1412 /* LGG parameters. */
1413 float lift[3] DNA_DEPRECATED;
1414 float gamma[3] DNA_DEPRECATED;
1415 float gain[3] DNA_DEPRECATED;
1416
1417 /* White-point parameters. */
1418 float input_temperature DNA_DEPRECATED;
1419 float input_tint DNA_DEPRECATED;
1420 float output_temperature DNA_DEPRECATED;
1421 float output_tint DNA_DEPRECATED;
1423
1424typedef struct NodeColorspill {
1425 short limchan DNA_DEPRECATED;
1426 short unspill DNA_DEPRECATED;
1427 float limscale DNA_DEPRECATED;
1428 float uspillr DNA_DEPRECATED;
1429 float uspillg DNA_DEPRECATED;
1430 float uspillb DNA_DEPRECATED;
1432
1437
1442
1446
1447typedef struct NodeMask {
1448 int size_x DNA_DEPRECATED;
1449 int size_y DNA_DEPRECATED;
1451
1455
1460
1478
1489
1493
1499
1508
1509typedef struct NodeTexGabor {
1511 /* Stores NodeGaborType. */
1512 char type;
1513 char _pad[7];
1515
1521
1529
1539
1545
1553
1559
1565
1571
1576
1582
1584typedef struct TexNodeOutput {
1585 char name[64];
1587
1588typedef struct NodeKeyingScreenData {
1589 char tracking_object[/*MAX_NAME*/ 64];
1590 float smoothness DNA_DEPRECATED;
1592
1593typedef struct NodeKeyingData {
1594 float screen_balance DNA_DEPRECATED;
1595 float despill_factor DNA_DEPRECATED;
1596 float despill_balance DNA_DEPRECATED;
1597 int edge_kernel_radius DNA_DEPRECATED;
1598 float edge_kernel_tolerance DNA_DEPRECATED;
1599 float clip_black DNA_DEPRECATED;
1600 float clip_white DNA_DEPRECATED;
1601 int dilate_distance DNA_DEPRECATED;
1602 int feather_distance DNA_DEPRECATED;
1603 int feather_falloff DNA_DEPRECATED;
1604 int blur_pre DNA_DEPRECATED;
1605 int blur_post DNA_DEPRECATED;
1607
1608typedef struct NodeTrackPosData {
1609 char tracking_object[/*MAX_NAME*/ 64];
1610 char track_name[64];
1612
1613typedef struct NodeTransformData {
1614 short interpolation DNA_DEPRECATED;
1615 char extension_x DNA_DEPRECATED;
1616 char extension_y DNA_DEPRECATED;
1618
1619typedef struct NodeTranslateData {
1620 char wrap_axis DNA_DEPRECATED;
1621 char relative DNA_DEPRECATED;
1622 short extension_x DNA_DEPRECATED;
1623 short extension_y DNA_DEPRECATED;
1624 short interpolation DNA_DEPRECATED;
1626
1627typedef struct NodeRotateData {
1628 short interpolation DNA_DEPRECATED;
1629 char extension_x DNA_DEPRECATED;
1630 char extension_y DNA_DEPRECATED;
1632
1633typedef struct NodeScaleData {
1634 short interpolation DNA_DEPRECATED;
1635 char extension_x DNA_DEPRECATED;
1636 char extension_y DNA_DEPRECATED;
1638
1639typedef struct NodeCornerPinData {
1640 short interpolation DNA_DEPRECATED;
1641 char extension_x DNA_DEPRECATED;
1642 char extension_y DNA_DEPRECATED;
1644
1645typedef struct NodeDisplaceData {
1646 short interpolation DNA_DEPRECATED;
1647 char extension_x DNA_DEPRECATED;
1648 char extension_y DNA_DEPRECATED;
1650
1651typedef struct NodeMapUVData {
1652 short interpolation DNA_DEPRECATED;
1653 char extension_x DNA_DEPRECATED;
1654 char extension_y DNA_DEPRECATED;
1656
1661 char motion_blur_samples DNA_DEPRECATED;
1662 char _pad[2];
1663 float motion_blur_shutter DNA_DEPRECATED;
1665
1666typedef struct NodeShaderScript {
1667 int mode;
1668 int flag;
1669
1670 char filepath[/*FILE_MAX*/ 1024];
1671
1675
1676typedef struct NodeShaderTangent {
1678 int axis;
1679 char uv_map[/*MAX_CUSTOMDATA_LAYER_NAME_NO_PREFIX*/ 64];
1681
1682typedef struct NodeShaderNormalMap {
1684 char uv_map[/*MAX_CUSTOMDATA_LAYER_NAME_NO_PREFIX*/ 64];
1686
1691
1692typedef struct NodeShaderUVMap {
1693 char uv_map[/*MAX_CUSTOMDATA_LAYER_NAME_NO_PREFIX*/ 64];
1695
1697 char layer_name[/*MAX_CUSTOMDATA_LAYER_NAME_NO_PREFIX*/ 64];
1699
1700typedef struct NodeShaderTexIES {
1701 int mode;
1702
1703 char filepath[/*FILE_MAX*/ 1024];
1705
1706typedef struct NodeShaderOutputAOV {
1707 char name[/*MAX_NAME*/ 64];
1709
1710typedef struct NodeSunBeams {
1711 float source[2] DNA_DEPRECATED;
1712 float ray_length DNA_DEPRECATED;
1714
1715typedef struct CryptomatteEntry {
1718 char name[/*MAX_NAME*/ 64];
1719 char _pad[4];
1721
1726
1734
1735typedef struct NodeCryptomatte {
1742
1745
1746 char layer_name[/*MAX_NAME*/ 64];
1749
1750 /* Legacy attributes. */
1753
1754 char _pad[4];
1757
1758typedef struct NodeDenoise {
1760 char prefilter DNA_DEPRECATED;
1761 char quality DNA_DEPRECATED;
1762 char _pad[1];
1764
1765typedef struct NodeMapRange {
1767 uint8_t data_type;
1768
1771 uint8_t clamp;
1772 char _pad[5];
1774
1779
1786
1790
1794
1798
1802
1803typedef struct NodeInputColor {
1804 float color[4];
1806
1810
1815
1820
1825
1830
1835
1840
1845
1852
1857
1862
1867
1872
1879
1880typedef struct NodeSwitch {
1882 uint8_t input_type;
1884
1885typedef struct NodeEnumItem {
1886 char *name;
1888 /* Immutable unique identifier. */
1890 char _pad[4];
1892
1893typedef struct NodeEnumDefinition {
1894 /* User-defined enum items owned and managed by this node. */
1899 char _pad[4];
1900
1901#ifdef __cplusplus
1902 blender::Span<NodeEnumItem> items() const;
1904#endif
1906
1914
1919
1924
1931
1938
1943
1948
1953
1958
1963
1973
1978
1983
1988
1997
2007
2016
2024
2028
2033
2045
2057
2064
2069
2080
2087
2092
2097
2102
2107
2119
2132
2146
2151
2164
2169
2183
2195
2200
2214
2219
2228
2237
2248
2256
2264
2272
2288
2293
2303
2313
2321
2329
2333
2341
2351
2361
2365
2373
2381
2389
2394
2395typedef struct NodeIndexSwitch {
2398
2399 /* #eNodeSocketDataType. */
2403
2404 char _pad[4];
2405#ifdef __cplusplus
2406 blender::Span<IndexSwitchItem> items_span() const;
2408#endif
2410
2418
2428
2433
2443
2448
2459
2466
2471
2476
2488
2489#define GEO_NODE_TRANSFORM_GIZMO_USE_TRANSLATION_ALL \
2490 (GEO_NODE_TRANSFORM_GIZMO_USE_TRANSLATION_X | GEO_NODE_TRANSFORM_GIZMO_USE_TRANSLATION_Y | \
2491 GEO_NODE_TRANSFORM_GIZMO_USE_TRANSLATION_Z)
2492
2493#define GEO_NODE_TRANSFORM_GIZMO_USE_ROTATION_ALL \
2494 (GEO_NODE_TRANSFORM_GIZMO_USE_ROTATION_X | GEO_NODE_TRANSFORM_GIZMO_USE_ROTATION_Y | \
2495 GEO_NODE_TRANSFORM_GIZMO_USE_ROTATION_Z)
2496
2497#define GEO_NODE_TRANSFORM_GIZMO_USE_SCALE_ALL \
2498 (GEO_NODE_TRANSFORM_GIZMO_USE_SCALE_X | GEO_NODE_TRANSFORM_GIZMO_USE_SCALE_Y | \
2499 GEO_NODE_TRANSFORM_GIZMO_USE_SCALE_Z)
2500
2509
2513
2521
2530
2534
2544
2553
2557
2567
2574
2582
2583/* script node mode */
2584enum {
2587};
2588
2589/* script node flag */
2590enum {
2592};
2593
2594/* IES node mode. */
2595enum {
2598};
2599
2600/* Frame node flags. */
2601
2602enum {
2607};
2608
2609/* Proxy node flags. */
2610
2611enum {
2614};
2615
2616/* Conductive fresnel types */
2617enum {
2620};
2621
2622/* glossy distributions */
2623enum {
2625 SHD_GLOSSY_SHARP_DEPRECATED = 1, /* deprecated */
2629};
2630
2631/* sheen distributions */
2632#define SHD_SHEEN_ASHIKHMIN 0
2633#define SHD_SHEEN_MICROFIBER 1
2634
2635/* vector transform */
2636enum {
2640};
2641
2642enum {
2646};
2647
2649enum {
2654};
2655
2656/* toon modes */
2657enum {
2660};
2661
2662/* hair components */
2663enum {
2666};
2667
2668/* principled hair models */
2669enum {
2672};
2673
2674/* principled hair color parametrization */
2675enum {
2679};
2680
2681/* blend texture */
2682enum {
2690};
2691
2692/* noise basis for textures */
2693enum {
2702};
2703
2704enum {
2707};
2708
2709/* Voronoi Texture */
2710
2711enum {
2716};
2717
2718enum {
2724};
2725
2726/* Deprecated Musgrave Texture. Keep for Versioning */
2727enum {
2733};
2734
2735/* Noise Texture */
2736enum {
2742};
2743
2744/* wave texture */
2745enum {
2748};
2749
2750enum {
2755};
2756
2757enum {
2762};
2763
2764enum {
2768};
2769
2770/* sky texture */
2771enum {
2776};
2777
2778/* environment texture */
2779enum {
2782};
2783
2788
2789enum {
2794};
2795
2796/* image texture */
2797enum {
2802};
2803
2804/* image texture interpolation */
2805enum {
2810};
2811
2812/* tangent */
2813enum {
2816};
2817
2818/* tangent */
2819enum {
2823};
2824
2825/* normal map, displacement space */
2826enum {
2832};
2833
2834enum {
2837};
2838
2840enum {
2845};
2846
2848enum {
2854};
2855
2856/* math node clamp */
2857enum {
2859};
2860
2904
2939
2953
2958
2966
2977
2998
3005
3007enum {
3010};
3011
3013enum {
3018};
3019
3020/* mix rgb node flags */
3021enum {
3024};
3025
3026/* Subsurface. */
3027
3028enum {
3029#ifdef DNA_DEPRECATED_ALLOW
3030 SHD_SUBSURFACE_COMPATIBLE = 0, /* Deprecated */
3031 SHD_SUBSURFACE_CUBIC = 1,
3032 SHD_SUBSURFACE_GAUSSIAN = 2,
3033#endif
3037};
3038
3039/* blur node */
3040enum {
3044};
3045
3052
3058
3059#define CMP_NODE_MASK_MBLUR_SAMPLES_MAX 64
3060
3061/* viewer and composite output. */
3062enum {
3064};
3065
3072
3078
3084
3090
3096
3097/* Flip Node. Stored in custom1. */
3103
3104/* Scale Node. Stored in custom1. */
3111
3112/* Scale Node. Stored in custom2. */
3118
3119/* Filter Node. Stored in custom1. */
3130
3131/* Levels Node. Stored in custom1. */
3139
3140/* Tone Map Node. Stored in NodeTonemap.type. */
3145
3146/* Track Position Node. Stored in custom1. */
3153
3154/* Glare Node. Stored in NodeGlare.type. */
3164
3165/* Kuwahara Node. Stored in variation */
3170
3171/* Shared between nodes with interpolation option. */
3178
3179/* Set Alpha Node. */
3180
3186
3187/* Denoise Node. */
3188
3195
3203
3204/* Color combine/separate modes */
3205
3213
3214/* Cryptomatte node source. */
3219
3220/* Channel Matte node, stored in custom1. */
3227
3228/* NodeLensDist.distortion_type. */
3233
3234/* Alpha Over node. Stored in custom1. */
3240
3241/* Relative To Pixel node. Stored in custom1. */
3246
3247/* Relative To Pixel node. Stored in custom2. */
3256
3257/* Scattering phase functions */
3258enum {
3264};
3265
3266/* Output shader node */
3267
3273
3274/* Geometry Nodes */
3275
3281
3286
3293
3298
3303
3308
3314
3319
3324
3330
3337
3342
3347
3353
3358
3363
3368
3373
3378
3383
3391
3396
3402
3407
3412
3418
3423
3428
3435
3441
3449
3457
3467
3473
3478
3484
3492
3498
BLI_INLINE bool operator!=(const ListBase &a, const ListBase &b)
#define ENUM_OPERATORS(_type, _max)
ID and Library types, which are fundamental for SDNA.
ID_Type
@ ID_NT
These structs are the foundation for all linked lists in the library system.
struct bNodeSocketTypeHandle bNodeSocketTypeHandle
@ SHD_NOISE_SOFT
@ SHD_NOISE_HARD
NodeVectorMathOperation
@ NODE_VECTOR_MATH_NORMALIZE
@ NODE_VECTOR_MATH_LENGTH
@ NODE_VECTOR_MATH_SIGN
@ 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_POWER
@ 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
@ CMP_NODE_INTERPOLATION_ANISOTROPIC
GeometryNodeMeshCircleFillType
@ GEO_NODE_MESH_CIRCLE_FILL_NGON
@ GEO_NODE_MESH_CIRCLE_FILL_TRIANGLE_FAN
@ GEO_NODE_MESH_CIRCLE_FILL_NONE
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
@ SHD_VORONOI_EUCLIDEAN
@ SHD_VORONOI_CHEBYCHEV
@ SHD_VORONOI_MANHATTAN
@ SHD_VORONOI_MINKOWSKI
@ SHD_MATH_CLAMP
@ CMP_NODE_OUTPUT_IGNORE_ALPHA
enum CMPExtensionMode CMPNodeBorderCondition
CMPNodeGlareQuality
@ CMP_NODE_GLARE_QUALITY_LOW
@ CMP_NODE_GLARE_QUALITY_MEDIUM
@ CMP_NODE_GLARE_QUALITY_HIGH
NodeGeometryTransformMode
@ GEO_NODE_TRANSFORM_MODE_MATRIX
@ GEO_NODE_TRANSFORM_MODE_COMPONENTS
@ SHD_WAVE_PROFILE_SIN
@ SHD_WAVE_PROFILE_TRI
@ SHD_WAVE_PROFILE_SAW
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_SPACE_BLENDER_OBJECT
@ SHD_SPACE_OBJECT
@ SHD_SPACE_TANGENT
@ SHD_SPACE_WORLD
@ SHD_SPACE_BLENDER_WORLD
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
@ NODE_PROXY_AUTOTYPE
NodeClosureFlag
@ NODE_CLOSURE_FLAG_DEFINE_SIGNATURE
GeometryNodeScaleElementsMode
@ GEO_NODE_SCALE_ELEMENTS_SINGLE_AXIS
@ GEO_NODE_SCALE_ELEMENTS_UNIFORM
CMPExtensionMode
@ CMP_NODE_EXTENSION_MODE_EXTEND
@ CMP_NODE_EXTENSION_MODE_CLIP
@ CMP_NODE_EXTENSION_MODE_REPEAT
struct bNodeSocketRuntimeHandle bNodeSocketRuntimeHandle
GeometryNodeAssetTraitFlag
@ GEO_NODE_ASSET_MESH
@ GEO_NODE_ASSET_SCULPT
@ GEO_NODE_ASSET_WAIT_FOR_CURSOR
@ GEO_NODE_ASSET_PAINT
@ GEO_NODE_ASSET_GREASE_PENCIL
@ GEO_NODE_ASSET_CURVE
@ GEO_NODE_ASSET_POINTCLOUD
@ GEO_NODE_ASSET_EDIT
@ GEO_NODE_ASSET_MODIFIER
@ GEO_NODE_ASSET_TOOL
@ GEO_NODE_ASSET_OBJECT
@ GEO_NODE_ASSET_HIDE_MODIFIER_MANAGE_PANEL
@ SHD_BLEND_DIAGONAL
@ SHD_BLEND_EASING
@ SHD_BLEND_LINEAR
@ SHD_BLEND_RADIAL
@ SHD_BLEND_QUADRATIC_SPHERE
@ SHD_BLEND_SPHERICAL
@ SHD_BLEND_QUADRATIC
@ SHD_HAIR_REFLECTION
@ SHD_HAIR_TRANSMISSION
@ SHD_VORONOI_F2
@ SHD_VORONOI_SMOOTH_F1
@ SHD_VORONOI_DISTANCE_TO_EDGE
@ SHD_VORONOI_F1
@ SHD_VORONOI_N_SPHERE_RADIUS
@ SHD_NOISE_HYBRID_MULTIFRACTAL
@ SHD_NOISE_FBM
@ SHD_NOISE_MULTIFRACTAL
@ SHD_NOISE_RIDGED_MULTIFRACTAL
@ SHD_NOISE_HETERO_TERRAIN
@ SHD_PHASE_DRAINE
@ SHD_PHASE_RAYLEIGH
@ SHD_PHASE_HENYEY_GREENSTEIN
@ SHD_PHASE_MIE
@ SHD_PHASE_FOURNIER_FORAND
NodeShaderOutputTarget
@ SHD_OUTPUT_CYCLES
@ SHD_OUTPUT_ALL
@ SHD_OUTPUT_EEVEE
NodeGaborType
@ SHD_GABOR_TYPE_3D
@ SHD_GABOR_TYPE_2D
@ CMP_NODE_BLUR_ASPECT_NONE
@ CMP_NODE_BLUR_ASPECT_X
@ CMP_NODE_BLUR_ASPECT_Y
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_PROJ_MIRROR_BALL
@ SHD_PROJ_EQUIRECTANGULAR
CMPNodeRelativeToPixelDataType
@ CMP_NODE_RELATIVE_TO_PIXEL_DATA_TYPE_VECTOR
@ CMP_NODE_RELATIVE_TO_PIXEL_DATA_TYPE_FLOAT
CMPNodeCryptomatteSource
@ CMP_NODE_CRYPTOMATTE_SOURCE_IMAGE
@ CMP_NODE_CRYPTOMATTE_SOURCE_RENDER
@ SHD_SUBSURFACE_BURLEY
@ SHD_SUBSURFACE_RANDOM_WALK_SKIN
@ SHD_SUBSURFACE_RANDOM_WALK
CMPNodeToneMapType
@ CMP_NODE_TONE_MAP_PHOTORECEPTOR
@ CMP_NODE_TONE_MAP_SIMPLE
@ NTREE_DS_EXPAND
@ NTREE_UNUSED_2
@ NTREE_VIEWER_BORDER
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
@ SHD_PRINCIPLED_HAIR_REFLECTANCE
@ SHD_PRINCIPLED_HAIR_DIRECT_ABSORPTION
@ SHD_PRINCIPLED_HAIR_PIGMENT_CONCENTRATION
@ SHD_WAVE_BANDS_DIRECTION_Y
@ SHD_WAVE_BANDS_DIRECTION_X
@ SHD_WAVE_BANDS_DIRECTION_Z
@ SHD_WAVE_BANDS_DIRECTION_DIAGONAL
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
@ CMP_NODE_INPAINT_SIMPLE
@ SHD_MUSGRAVE_HYBRID_MULTIFRACTAL
@ SHD_MUSGRAVE_RIDGED_MULTIFRACTAL
@ SHD_MUSGRAVE_HETERO_TERRAIN
@ SHD_MUSGRAVE_MULTIFRACTAL
@ SHD_MUSGRAVE_FBM
@ SHD_SKY_PREETHAM
@ SHD_SKY_HOSEK
@ SHD_SKY_MULTIPLE_SCATTERING
@ SHD_SKY_SINGLE_SCATTERING
@ SHD_GLOSSY_BECKMANN
@ SHD_GLOSSY_SHARP_DEPRECATED
@ SHD_GLOSSY_GGX
@ SHD_GLOSSY_ASHIKHMIN_SHIRLEY
@ SHD_GLOSSY_MULTI_GGX
GeometryNodeMeshLineCountMode
@ GEO_NODE_MESH_LINE_COUNT_RESOLUTION
@ GEO_NODE_MESH_LINE_COUNT_TOTAL
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
CMPNodeFlipMode
@ CMP_NODE_FLIP_X
@ CMP_NODE_FLIP_X_Y
@ CMP_NODE_FLIP_Y
@ NODE_CLAMP_RANGE
@ NODE_CLAMP_MINMAX
FunctionNodeRotateEulerType
@ FN_NODE_ROTATE_EULER_TYPE_EULER
@ FN_NODE_ROTATE_EULER_TYPE_AXIS_ANGLE
@ SHD_AO_INSIDE
@ SHD_AO_LOCAL
@ SHD_WAVE_RINGS
@ SHD_WAVE_BANDS
@ SHD_INTERP_LINEAR
@ SHD_INTERP_SMART
@ SHD_INTERP_CUBIC
@ SHD_INTERP_CLOSEST
GeometryNodeExtrudeMeshMode
@ GEO_NODE_EXTRUDE_MESH_FACES
@ GEO_NODE_EXTRUDE_MESH_VERTICES
@ GEO_NODE_EXTRUDE_MESH_EDGES
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
@ SHD_IMAGE_EXTENSION_MIRROR
@ SHD_IMAGE_EXTENSION_CLIP
@ SHD_IMAGE_EXTENSION_REPEAT
@ SHD_IMAGE_EXTENSION_EXTEND
CMPNodeAlphaConvertMode
@ CMP_NODE_ALPHA_CONVERT_UNPREMULTIPLY
@ CMP_NODE_ALPHA_CONVERT_PREMULTIPLY
CMPNodeDenoiseQuality
@ CMP_NODE_DENOISE_QUALITY_BALANCED
@ CMP_NODE_DENOISE_QUALITY_FAST
@ CMP_NODE_DENOISE_QUALITY_SCENE
@ CMP_NODE_DENOISE_QUALITY_HIGH
CMPNodeMaskType
GeometryNodeCurveSampleMode
@ GEO_NODE_CURVE_SAMPLE_FACTOR
@ GEO_NODE_CURVE_SAMPLE_LENGTH
@ SHD_PROJ_TUBE
@ SHD_PROJ_SPHERE
@ SHD_PROJ_BOX
@ SHD_PROJ_FLAT
@ NODE_TEST
@ NODE_OPTIONS
@ NODE_DO_OUTPUT
@ NODE_ACTIVE
@ NODE_ACTIVE_TEXTURE
@ NODE_CUSTOM_COLOR
@ NODE_INIT
@ NODE_BACKGROUND
@ NODE_COLLAPSED
@ NODE_MUTED
@ NODE_ACTIVE_PAINT_CANVAS
@ NODE_SELECT
@ NODE_PREVIEW
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
@ NTREE_TEXTURE
@ NTREE_CUSTOM
@ NTREE_SHADER
@ NTREE_GEOMETRY
@ NTREE_COMPOSIT
@ NTREE_UNDEFINED
CMPNodeKuwahara
@ CMP_NODE_KUWAHARA_CLASSIC
@ CMP_NODE_KUWAHARA_ANISOTROPIC
CMPNodeTranslateRepeatAxis
@ CMP_NODE_TRANSLATE_REPEAT_AXIS_XY
@ CMP_NODE_TRANSLATE_REPEAT_AXIS_Y
@ CMP_NODE_TRANSLATE_REPEAT_AXIS_NONE
@ CMP_NODE_TRANSLATE_REPEAT_AXIS_X
GeometryNodeCurveFillMode
@ GEO_NODE_CURVE_FILL_MODE_TRIANGULATED
@ GEO_NODE_CURVE_FILL_MODE_NGONS
NodeGeometryBakeItemFlag
@ GEO_NODE_BAKE_ITEM_IS_ATTRIBUTE
@ SHD_TANGENT_UVMAP
@ SHD_TANGENT_RADIAL
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_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
GeometryNodeDistributePointsOnFacesMode
@ GEO_NODE_POINT_DISTRIBUTE_POINTS_ON_FACES_RANDOM
@ GEO_NODE_POINT_DISTRIBUTE_POINTS_ON_FACES_POISSON
@ SHD_VECT_TRANSFORM_TYPE_VECTOR
@ SHD_VECT_TRANSFORM_TYPE_NORMAL
@ SHD_VECT_TRANSFORM_TYPE_POINT
eNodeSocketInOut
@ SOCK_OUT
@ SOCK_IN
eViewerNodeShortcut
@ NODE_VIEWER_SHORCTUT_SLOT_9
@ NODE_VIEWER_SHORCTUT_SLOT_5
@ NODE_VIEWER_SHORCTUT_SLOT_4
@ NODE_VIEWER_SHORCTUT_SLOT_2
@ NODE_VIEWER_SHORCTUT_SLOT_7
@ NODE_VIEWER_SHORCTUT_SLOT_1
@ NODE_VIEWER_SHORCTUT_SLOT_3
@ NODE_VIEWER_SHORTCUT_NONE
@ NODE_VIEWER_SHORCTUT_SLOT_8
@ NODE_VIEWER_SHORCTUT_SLOT_6
@ NODE_LINK_TEST
@ NODE_LINK_TEMP_HIGHLIGHT
@ NODE_LINK_MUTED
@ NODE_LINK_INSERT_TARGET
@ NODE_LINK_INSERT_TARGET_INVALID
@ NODE_LINK_VALID
CMPNodeSetAlphaMode
@ CMP_NODE_SETALPHA_MODE_REPLACE_ALPHA
@ CMP_NODE_SETALPHA_MODE_APPLY
NodeShaderMixMode
@ NODE_MIX_MODE_UNIFORM
@ NODE_MIX_MODE_NON_UNIFORM
@ NODE_UPDATE_ID
eNodeTreeRuntimeFlag
@ NTREE_RUNTIME_FLAG_HAS_SIMULATION_ZONE
@ NTREE_RUNTIME_FLAG_HAS_MATERIAL_OUTPUT
@ NTREE_RUNTIME_FLAG_HAS_IMAGE_ANIMATION
@ SHD_WAVE_RINGS_DIRECTION_Z
@ SHD_WAVE_RINGS_DIRECTION_Y
@ SHD_WAVE_RINGS_DIRECTION_X
@ SHD_WAVE_RINGS_DIRECTION_SPHERICAL
@ NS_CR_NONE
@ NS_CR_FIT
@ NS_CR_STRETCH
@ NS_CR_CENTER
@ NS_CR_FIT_WIDTH
@ NS_CR_FIT_HEIGHT
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_COMPACT_LEGACY
@ SOCK_HIDE_VALUE
@ SOCK_HIDE_IN_MODIFIER
@ SOCK_IS_LINKED
@ SOCK_MULTI_INPUT
@ SOCK_PANEL_COLLAPSED
@ SOCK_COLLAPSED
@ SOCK_GIZMO_PIN
@ SOCK_HIDDEN
@ SOCK_HIDE_LABEL_LEGACY
@ SOCK_UNAVAIL
@ SOCK_NO_INTERNAL_LINK_LEGACY
@ SOCK_AUTO_HIDDEN__DEPRECATED
NodeSeparateBundleFlag
@ NODE_SEPARATE_BUNDLE_FLAG_DEFINE_SIGNATURE
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
@ SHD_VECT_TRANSFORM_SPACE_WORLD
@ SHD_VECT_TRANSFORM_SPACE_OBJECT
@ SHD_VECT_TRANSFORM_SPACE_CAMERA
@ SHD_CONDUCTOR_F82
@ SHD_PHYSICAL_CONDUCTOR
eNodeSocketDisplayShape
@ SOCK_DISPLAY_SHAPE_CIRCLE_DOT
@ SOCK_DISPLAY_SHAPE_LINE
@ SOCK_DISPLAY_SHAPE_CIRCLE
@ SOCK_DISPLAY_SHAPE_LIST
@ SOCK_DISPLAY_SHAPE_SQUARE_DOT
@ SOCK_DISPLAY_SHAPE_SQUARE
@ SOCK_DISPLAY_SHAPE_DIAMOND
@ SOCK_DISPLAY_SHAPE_VOLUME_GRID
@ SOCK_DISPLAY_SHAPE_DIAMOND_DOT
eNodeSocketDatatype
@ SOCK_INT
@ SOCK_TEXTURE
@ SOCK_VECTOR
@ SOCK_CLOSURE
@ SOCK_BOOLEAN
@ SOCK_MATERIAL
@ SOCK_SHADER
@ SOCK_MATRIX
@ SOCK_FLOAT
@ SOCK_IMAGE
@ SOCK_COLLECTION
@ SOCK_CUSTOM
@ SOCK_BUNDLE
@ SOCK_GEOMETRY
@ SOCK_ROTATION
@ SOCK_OBJECT
@ SOCK_STRING
@ SOCK_RGBA
@ SOCK_MENU
@ SHD_TOON_GLOSSY
@ SHD_TOON_DIFFUSE
CMPNodeAlphaOverOperationType
@ CMP_NODE_ALPHA_OVER_OPERATION_TYPE_OVER
@ CMP_NODE_ALPHA_OVER_OPERATION_TYPE_CONJOINT_OVER
@ CMP_NODE_ALPHA_OVER_OPERATION_TYPE_DISJOINT_OVER
GeometryNodePointsToVolumeResolutionMode
@ GEO_NODE_POINTS_TO_VOLUME_RESOLUTION_MODE_AMOUNT
@ GEO_NODE_POINTS_TO_VOLUME_RESOLUTION_MODE_SIZE
CMPNodeChannelMatteColorSpace
@ CMP_NODE_CHANNEL_MATTE_CS_YUV
@ CMP_NODE_CHANNEL_MATTE_CS_RGB
@ CMP_NODE_CHANNEL_MATTE_CS_HSV
@ CMP_NODE_CHANNEL_MATTE_CS_YCC
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
@ SHD_TANGENT_AXIS_Y
@ SHD_TANGENT_AXIS_X
@ SHD_TANGENT_AXIS_Z
@ SHD_ATTRIBUTE_VIEW_LAYER
@ SHD_ATTRIBUTE_OBJECT
@ SHD_ATTRIBUTE_GEOMETRY
@ SHD_ATTRIBUTE_INSTANCER
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
@ NODE_MAP_RANGE_STEPPED
@ NODE_MAP_RANGE_SMOOTHERSTEP
@ NODE_MAP_RANGE_SMOOTHSTEP
@ NODE_MAP_RANGE_LINEAR
CMPNodeColorBalanceMethod
@ CMP_NODE_COLOR_BALANCE_LGG
@ CMP_NODE_COLOR_BALANCE_ASC_CDL
@ CMP_NODE_COLOR_BALANCE_WHITEPOINT
@ NODE_SCRIPT_INTERNAL
@ NODE_SCRIPT_EXTERNAL
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
@ SHD_MIXRGB_USE_ALPHA
@ SHD_MIXRGB_CLAMP
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
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_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
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
GeometryNodeTransformSpace
@ GEO_NODE_TRANSFORM_SPACE_RELATIVE
@ GEO_NODE_TRANSFORM_SPACE_ORIGINAL
NodeCombineBundleFlag
@ NODE_COMBINE_BUNDLE_FLAG_DEFINE_SIGNATURE
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
CMPNodeRelativeToPixelReferenceDimension
@ CMP_NODE_RELATIVE_TO_PIXEL_REFERENCE_DIMENSION_DIAGONAL
@ CMP_NODE_RELATIVE_TO_PIXEL_REFERENCE_DIMENSION_PER_DIMENSION
@ CMP_NODE_RELATIVE_TO_PIXEL_REFERENCE_DIMENSION_Y
@ CMP_NODE_RELATIVE_TO_PIXEL_REFERENCE_DIMENSION_X
@ CMP_NODE_RELATIVE_TO_PIXEL_REFERENCE_DIMENSION_GREATER
@ CMP_NODE_RELATIVE_TO_PIXEL_REFERENCE_DIMENSION_SMALLER
@ NODE_IES_EXTERNAL
@ NODE_IES_INTERNAL
@ NS_OSA_VECTORS
@ NS_OSA_VALUES
NodeGeometryViewerItemFlag
@ NODE_GEO_VIEWER_ITEM_FLAG_AUTO_REMOVE
@ SHD_PRINCIPLED_HAIR_HUANG
@ SHD_PRINCIPLED_HAIR_CHIANG
GeometryNodeDeleteGeometryMode
@ GEO_NODE_DELETE_GEOMETRY_MODE_EDGE_FACE
@ GEO_NODE_DELETE_GEOMETRY_MODE_ONLY_FACE
@ GEO_NODE_DELETE_GEOMETRY_MODE_ALL
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
@ NODE_SCRIPT_AUTO_UPDATE
GeometryNodeCurvePrimitiveBezierSegmentMode
@ GEO_NODE_CURVE_PRIMITIVE_BEZIER_SEGMENT_POSITION
@ GEO_NODE_CURVE_PRIMITIVE_BEZIER_SEGMENT_OFFSET
struct bNodeTreeRuntimeHandle bNodeTreeRuntimeHandle
struct bNodeTypeHandle bNodeTypeHandle
@ NODE_MAPPING_TYPE_POINT
@ NODE_MAPPING_TYPE_VECTOR
@ NODE_MAPPING_TYPE_TEXTURE
@ NODE_MAPPING_TYPE_NORMAL
CMPNodeLensDistortionType
@ CMP_NODE_LENS_DISTORTION_RADIAL
@ CMP_NODE_LENS_DISTORTION_HORIZONTAL
@ NODE_FRAME_RESIZEABLE
@ NODE_FRAME_SHRINK
NodeCompareMode
@ NODE_COMPARE_MODE_ELEMENT
@ NODE_COMPARE_MODE_LENGTH
@ NODE_COMPARE_MODE_DOT_PRODUCT
@ NODE_COMPARE_MODE_AVERAGE
@ NODE_COMPARE_MODE_DIRECTION
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_KERNEL
@ CMP_NODE_GLARE_STREAKS
@ CMP_NODE_GLARE_BLOOM
@ CMP_NODE_GLARE_GHOST
@ CMP_NODE_GLARE_SIMPLE_STAR
@ CMP_NODE_GLARE_SUN_BEAMS
@ 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
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
NodeEvaluateClosureFlag
@ NODE_EVALUATE_CLOSURE_FLAG_DEFINE_SIGNATURE
static double angle(const Eigen::Vector3d &v1, const Eigen::Vector3d &v2)
Definition IK_Math.h:117
bool operator==(const AssetWeakReference &a, const AssetWeakReference &b)
unsigned long long int uint64_t
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition btDbvt.cpp:52
#define CMP_NODE_MASKTYPE_MULTIPLY
#define CMP_NODE_MASKTYPE_ADD
#define CMP_NODE_MASKTYPE_NOT
#define CMP_NODE_MASKTYPE_SUBTRACT
float distance(VecOp< float, D >, VecOp< float, D >) RET
#define jit
format
ccl_device_inline float2 power(const float2 v, const float e)
#define T
CCL_NAMESPACE_BEGIN ccl_device float fade(const float t)
Definition noise.h:18
#define hash
Definition noise_c.cc:154
#define mix
float saturation DNA_DEPRECATED
struct CryptomatteEntry * next
struct CryptomatteEntry * prev
struct CryptomatteEntry * next
struct CryptomatteEntry * prev
GeometryNodeFieldToGridItem * items
Definition DNA_ID.h:414
float threshold DNA_DEPRECATED
float sigma_color DNA_DEPRECATED
short sizex DNA_DEPRECATED
float angle DNA_DEPRECATED
float x DNA_DEPRECATED
float t1 DNA_DEPRECATED
NodeClosureInputItem * items
NodeClosureOutputItem * items
NodeClosureOutputItems output_items
NodeClosureInputItems input_items
float slope[3] DNA_DEPRECATED
ColorCorrectionData master DNA_DEPRECATED
short limchan DNA_DEPRECATED
NodeCombineBundleItem * items
NodeCompositorFileOutputItem * items
ColorManagedDisplaySettings display_settings
ColorManagedViewSettings view_settings
short interpolation DNA_DEPRECATED
NodeCryptomatte_Runtime runtime
float center_x DNA_DEPRECATED
char gamco DNA_DEPRECATED
char hdr DNA_DEPRECATED
short interpolation DNA_DEPRECATED
NodeEnumItem * items_array
NodeEvaluateClosureInputItem * items
NodeEvaluateClosureOutputItem * items
NodeEvaluateClosureInputItems input_items
NodeEvaluateClosureOutputItems output_items
NodeForeachGeometryElementGenerationItem * items
NodeForeachGeometryElementInputItem * items
NodeForeachGeometryElementMainItem * items
NodeFunctionFormatStringItem * items
NodeGeometryAttributeCaptureItem * capture_items
NodeGeometryBakeItem * items
NodeForeachGeometryElementInputItems input_items
NodeForeachGeometryElementMainItems main_items
NodeForeachGeometryElementGenerationItems generation_items
NodeGeometryViewerItem * items
char type DNA_DEPRECATED
float hue DNA_DEPRECATED
int frames DNA_DEPRECATED
struct ImageFormatData im_format
int pass_index DNA_DEPRECATED
short use_render_format DNA_DEPRECATED
IndexSwitchItem * items
float screen_balance DNA_DEPRECATED
float smoothness DNA_DEPRECATED
short size DNA_DEPRECATED
short jit DNA_DEPRECATED
uint8_t interpolation_type
short interpolation DNA_DEPRECATED
int size_x DNA_DEPRECATED
NodeEnumDefinition enum_definition
char type_idname[64]
short interpolation DNA_DEPRECATED
short interpolation DNA_DEPRECATED
NodeSeparateBundleItem * items
char mode DNA_DEPRECATED
float source[2] DNA_DEPRECATED
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
float aerosol_density
NodeTexBase base
float sun_direction[3]
int coloring DNA_DEPRECATED
NodeTexBase base
float key DNA_DEPRECATED
short interpolation DNA_DEPRECATED
char wrap_axis DNA_DEPRECATED
short x1 DNA_DEPRECATED
bNestedNodePath path
unsigned int value
struct Collection * 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
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
float location[2]
float offsety_legacy
bNodeTypeHandle * typeinfo
int16_t custom1
float width
IDProperty * prop
ListBase inputs
int8_t warning_propagation
int num_panel_states
float height
float locx_legacy
struct ID * id
float color[3]
struct bNode * parent
char name[64]
bNodePanelState * panel_states_array
float offsetx_legacy
IDProperty * system_properties
int16_t type_legacy
struct bNode * prev
struct bNode * next
bNodeRuntimeHandle * runtime
float locy_legacy
float custom4
void * storage
char idname[64]
char _pad[7]
int16_t ui_order
char label[64]
ListBase outputs
int32_t identifier
float custom3
int16_t custom2
Defines a socket type.
Definition BKE_node.hh:158
Defines a node type.
Definition BKE_node.hh:238
uint8_t flag
Definition wm_window.cc:145