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