Blender  V3.3
node_types_template.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: Apache-2.0
2  * Copyright 2011-2022 Blender Foundation */
3 
4 #ifndef SHADER_NODE_TYPE
5 # define SHADER_NODE_TYPE(name)
6 #endif
7 
8 /* NOTE: for best OpenCL performance, item definition in the enum must
9  * match the switch case order in `svm.h`. */
10 
11 SHADER_NODE_TYPE(NODE_END)
12 SHADER_NODE_TYPE(NODE_SHADER_JUMP)
13 SHADER_NODE_TYPE(NODE_CLOSURE_BSDF)
14 SHADER_NODE_TYPE(NODE_CLOSURE_EMISSION)
15 SHADER_NODE_TYPE(NODE_CLOSURE_BACKGROUND)
16 SHADER_NODE_TYPE(NODE_CLOSURE_SET_WEIGHT)
17 SHADER_NODE_TYPE(NODE_CLOSURE_WEIGHT)
18 SHADER_NODE_TYPE(NODE_EMISSION_WEIGHT)
19 SHADER_NODE_TYPE(NODE_MIX_CLOSURE)
20 SHADER_NODE_TYPE(NODE_JUMP_IF_ZERO)
21 SHADER_NODE_TYPE(NODE_JUMP_IF_ONE)
22 SHADER_NODE_TYPE(NODE_GEOMETRY)
23 SHADER_NODE_TYPE(NODE_CONVERT)
24 SHADER_NODE_TYPE(NODE_TEX_COORD)
25 SHADER_NODE_TYPE(NODE_VALUE_F)
26 SHADER_NODE_TYPE(NODE_VALUE_V)
27 SHADER_NODE_TYPE(NODE_ATTR)
28 SHADER_NODE_TYPE(NODE_VERTEX_COLOR)
29 SHADER_NODE_TYPE(NODE_GEOMETRY_BUMP_DX)
30 SHADER_NODE_TYPE(NODE_GEOMETRY_BUMP_DY)
31 SHADER_NODE_TYPE(NODE_SET_DISPLACEMENT)
32 SHADER_NODE_TYPE(NODE_DISPLACEMENT)
33 SHADER_NODE_TYPE(NODE_VECTOR_DISPLACEMENT)
34 SHADER_NODE_TYPE(NODE_TEX_IMAGE)
35 SHADER_NODE_TYPE(NODE_TEX_IMAGE_BOX)
36 SHADER_NODE_TYPE(NODE_TEX_NOISE)
37 SHADER_NODE_TYPE(NODE_SET_BUMP)
38 SHADER_NODE_TYPE(NODE_ATTR_BUMP_DX)
39 SHADER_NODE_TYPE(NODE_ATTR_BUMP_DY)
40 SHADER_NODE_TYPE(NODE_VERTEX_COLOR_BUMP_DX)
41 SHADER_NODE_TYPE(NODE_VERTEX_COLOR_BUMP_DY)
42 SHADER_NODE_TYPE(NODE_TEX_COORD_BUMP_DX)
43 SHADER_NODE_TYPE(NODE_TEX_COORD_BUMP_DY)
44 SHADER_NODE_TYPE(NODE_CLOSURE_SET_NORMAL)
45 SHADER_NODE_TYPE(NODE_ENTER_BUMP_EVAL)
46 SHADER_NODE_TYPE(NODE_LEAVE_BUMP_EVAL)
47 SHADER_NODE_TYPE(NODE_HSV)
48 SHADER_NODE_TYPE(NODE_CLOSURE_HOLDOUT)
49 SHADER_NODE_TYPE(NODE_FRESNEL)
50 SHADER_NODE_TYPE(NODE_LAYER_WEIGHT)
51 SHADER_NODE_TYPE(NODE_CLOSURE_VOLUME)
52 SHADER_NODE_TYPE(NODE_PRINCIPLED_VOLUME)
53 SHADER_NODE_TYPE(NODE_MATH)
54 SHADER_NODE_TYPE(NODE_VECTOR_MATH)
55 SHADER_NODE_TYPE(NODE_RGB_RAMP)
56 SHADER_NODE_TYPE(NODE_GAMMA)
57 SHADER_NODE_TYPE(NODE_BRIGHTCONTRAST)
58 SHADER_NODE_TYPE(NODE_LIGHT_PATH)
59 SHADER_NODE_TYPE(NODE_OBJECT_INFO)
60 SHADER_NODE_TYPE(NODE_PARTICLE_INFO)
61 SHADER_NODE_TYPE(NODE_HAIR_INFO)
62 SHADER_NODE_TYPE(NODE_POINT_INFO)
63 SHADER_NODE_TYPE(NODE_TEXTURE_MAPPING)
64 SHADER_NODE_TYPE(NODE_MAPPING)
65 SHADER_NODE_TYPE(NODE_MIN_MAX)
66 SHADER_NODE_TYPE(NODE_CAMERA)
67 SHADER_NODE_TYPE(NODE_TEX_ENVIRONMENT)
68 SHADER_NODE_TYPE(NODE_TEX_SKY)
69 SHADER_NODE_TYPE(NODE_TEX_GRADIENT)
70 SHADER_NODE_TYPE(NODE_TEX_VORONOI)
71 SHADER_NODE_TYPE(NODE_TEX_MUSGRAVE)
72 SHADER_NODE_TYPE(NODE_TEX_WAVE)
73 SHADER_NODE_TYPE(NODE_TEX_MAGIC)
74 SHADER_NODE_TYPE(NODE_TEX_CHECKER)
75 SHADER_NODE_TYPE(NODE_TEX_BRICK)
76 SHADER_NODE_TYPE(NODE_TEX_WHITE_NOISE)
77 SHADER_NODE_TYPE(NODE_NORMAL)
78 SHADER_NODE_TYPE(NODE_LIGHT_FALLOFF)
79 SHADER_NODE_TYPE(NODE_IES)
80 SHADER_NODE_TYPE(NODE_CURVES)
81 SHADER_NODE_TYPE(NODE_TANGENT)
82 SHADER_NODE_TYPE(NODE_NORMAL_MAP)
83 SHADER_NODE_TYPE(NODE_INVERT)
84 SHADER_NODE_TYPE(NODE_MIX)
85 SHADER_NODE_TYPE(NODE_SEPARATE_COLOR)
86 SHADER_NODE_TYPE(NODE_COMBINE_COLOR)
87 SHADER_NODE_TYPE(NODE_SEPARATE_VECTOR)
88 SHADER_NODE_TYPE(NODE_COMBINE_VECTOR)
89 SHADER_NODE_TYPE(NODE_SEPARATE_HSV)
90 SHADER_NODE_TYPE(NODE_COMBINE_HSV)
91 SHADER_NODE_TYPE(NODE_VECTOR_ROTATE)
92 SHADER_NODE_TYPE(NODE_VECTOR_TRANSFORM)
93 SHADER_NODE_TYPE(NODE_WIREFRAME)
94 SHADER_NODE_TYPE(NODE_WAVELENGTH)
95 SHADER_NODE_TYPE(NODE_BLACKBODY)
96 SHADER_NODE_TYPE(NODE_MAP_RANGE)
97 SHADER_NODE_TYPE(NODE_VECTOR_MAP_RANGE)
98 SHADER_NODE_TYPE(NODE_CLAMP)
99 SHADER_NODE_TYPE(NODE_BEVEL)
100 SHADER_NODE_TYPE(NODE_AMBIENT_OCCLUSION)
101 SHADER_NODE_TYPE(NODE_TEX_VOXEL)
102 SHADER_NODE_TYPE(NODE_AOV_START)
103 SHADER_NODE_TYPE(NODE_AOV_COLOR)
104 SHADER_NODE_TYPE(NODE_AOV_VALUE)
105 SHADER_NODE_TYPE(NODE_FLOAT_CURVE)
106 
107 /* Padding for struct alignment. */
108 SHADER_NODE_TYPE(NODE_PAD1)
109 
110 #undef SHADER_NODE_TYPE
#define SHADER_NODE_TYPE(name)