Open Inventor Release 2026.1.0
 
Loading...
Searching...
No Matches
SbEnums.h
1/*=======================================================================
2 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
3 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
4 *** ***
5 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
6 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
7 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
8 *** ***
9 *** RESTRICTED RIGHTS LEGEND ***
10 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
11 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
12 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
13 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
14 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
15 *** ***
16 *** COPYRIGHT (C) 1996-2025 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20
21#ifndef SBENUMS_H
22#define SBENUMS_H
23
24#include <Inventor/SbBase.h>
25
26
27{
28public:
32 enum TexGenFunction
33 {
34 TEXGEN_OBJECT_LINEAR,
35 TEXGEN_EYE_LINEAR,
36 TEXGEN_SPHERE_MAP,
37 TEXGEN_NORMAL_MAP,
38 TEXGEN_REFLECTION_MAP
39 };
40
44 enum TextureAddressMode
45 {
46 //Hardcoded value are here to keep iv file compatibity
47 TEX_ADDRESS_MIRROR_CLAMP = 0,
48 TEX_ADDRESS_CLAMP = 0x2900,
49 TEX_ADDRESS_REPEAT = 0x2901,
50 TEX_ADDRESS_CLAMP_BORDER = 0x812D,
51 TEX_ADDRESS_CLAMP_TO_EDGE = 0x812F,
52 TEX_ADDRESS_MIRROR_REPEAT = 0x8370
53 };
54
55 enum ImageUsage
56 {
57 IMG_USAGE_NONE = 0,
58 IMG_USAGE_RTT = 1,
59 IMG_USAGE_TRANSFER_DST = 2,
60 IMG_USAGE_DATA = 4,
61 IMG_USAGE_STORAGE = 8
62 };
63
64 enum MemoryType
65 {
66 MEM_TYPE_NONE = 0,
67 MEM_TYPE_CPY_TO_CPU = 1,
68 MEM_TYPE_EXTERNAL = 2 // Only for the interop Vulkan/OpenGL
69 };
70
74 enum ImageDataFormat
75 {
76 IMG_FORMAT_DEPTH_COMPONENT,
77 IMG_FORMAT_STENCIL_INDEX,
78 IMG_FORMAT_DEPTH_STENCIL,
79 IMG_FORMAT_RED,
80 IMG_FORMAT_GREEN,
81 IMG_FORMAT_BLUE,
82 IMG_FORMAT_RG,
83 IMG_FORMAT_RGB,
84 IMG_FORMAT_RGBA,
85 IMG_FORMAT_BGR,
86 IMG_FORMAT_BGRA,
87 IMG_FORMAT_RED_INTEGER,
88 IMG_FORMAT_GREEN_INTEGER,
89 IMG_FORMAT_BLUE_INTEGER,
90 IMG_FORMAT_RG_INTEGER,
91 IMG_FORMAT_RGB_INTEGER,
92 IMG_FORMAT_RGBA_INTEGER,
93 IMG_FORMAT_BGR_INTEGER,
94 IMG_FORMAT_BGRA_INTEGER
95 };
96
100 enum ShaderType
101 {
102 SHADER_TYPE_VERTEX,
103 SHADER_TYPE_GEOMETRY,
104 SHADER_TYPE_FRAGMENT,
105 SHADER_TYPE_TESS_CTRL,
106 SHADER_TYPE_TESS_EVAL,
107 SHADER_TYPE_COMPUTE,
108 SHADER_TYPE_RAY_GEN,
109 SHADER_TYPE_RAY_MISS,
110 SHADER_TYPE_ANY_HIT,
111 SHADER_TYPE_CLOSEST_HIT,
112 SHADER_TYPE_INTERSECTION,
113 SHADER_TYPE_LAST
114 };
115
119 enum BlendFactor
120 {
121 BLEND_ZERO,
122 BLEND_ONE,
123 BLEND_SRC_COLOR,
124 BLEND_ONE_MINUS_SRC_COLOR,
125 BLEND_DST_COLOR,
126 BLEND_ONE_MINUS_DST_COLOR,
127 BLEND_SRC_ALPHA,
128 BLEND_ONE_MINUS_SRC_ALPHA,
129 BLEND_DST_ALPHA,
130 BLEND_ONE_MINUS_DST_ALPHA,
131 BLEND_CONSTANT_COLOR,
132 BLEND_ONE_MINUS_CONSTANT_COLOR,
133 BLEND_CONSTANT_ALPHA,
134 BLEND_ONE_MINUS_CONSTANT_ALPHA,
135 BLEND_SRC_ALPHA_SATURATE,
136 BLEND_SRC1_COLOR,
137 BLEND_ONE_MINUS_SRC1_COLOR,
138 BLEND_SRC1_ALPHA,
139 BLEND_ONE_MINUS_SRC1_ALPHA
140 };
141
145 enum BufferAccess
146 {
147 READ,
148 WRITE,
149 READ_WRITE
150 };
151
155 enum BlendFunction
156 {
157 BLEND_FUNC_ADD,
158 BLEND_FUNC_SUBTRACT,
159 BLEND_FUNC_REVERSE_SUBTRACT,
160 BLEND_FUNC_MIN,
161 BLEND_FUNC_MAX
162 };
163
167 enum OffsetMode
168 {
169 OFFSET_SOLID = 0x01,
170 OFFSET_WIREFRAME = 0x02,
171 OFFSET_POINTS = 0x04
172 };
173
177 enum ComparisonFunction
178 {
179 COMP_FUNC_NEVER = 0,
180 COMP_FUNC_LESS,
181 COMP_FUNC_LESS_EQUAL,
182 COMP_FUNC_GREATER,
183 COMP_FUNC_GREATER_EQUAL,
184 COMP_FUNC_EQUAL,
185 COMP_FUNC_NOT_EQUAL,
186 COMP_FUNC_ALWAYS
187 };
188
192 enum LogicalOperation
193 {
194 LOGIC_OP_NOOP,
195 LOGIC_OP_CLEAR,
196 LOGIC_OP_SET,
197 LOGIC_OP_COPY,
198 LOGIC_OP_COPY_INVERTED,
199 LOGIC_OP_INVERT,
200 LOGIC_OP_AND,
201 LOGIC_OP_NAND,
202 LOGIC_OP_AND_REVERSE,
203 LOGIC_OP_AND_INVERTED,
204 LOGIC_OP_OR,
205 LOGIC_OP_NOR,
206 LOGIC_OP_XOR,
207 LOGIC_OP_OR_REVERSE,
208 LOGIC_OP_OR_INVERTED,
209 LOGIC_OP_EQUIV,
210 };
211
212 /*
213 * @brief Defines memory barrier available bitfields
214 */
215 enum MemoryBarrier
216 {
217 MEM_VERTEX_ATTRIB_ARRAY = 1,
218 MEM_ELEMENT_ARRAY = 1 << 1,
219 MEM_UNIFORM = 1 << 2,
220 MEM_TEXTURE_FETCH = 1 << 3,
221 MEM_SHADER_IMAGE_ACCESS = 1 << 4,
222 MEM_COMMAND = 1 << 5,
223 MEM_PIXEL_BUFFER = 1 << 6,
224 MEM_TEXTURE_UPDATE = 1 << 7,
225 MEM_BUFFER_UPDATE = 1 << 8,
226 MEM_FRAMEBUFFER = 1 << 9,
227 MEM_TRANSFORM_FEEDBACK = 1 << 10,
228 MEM_QUERY_BUFFER = 1 << 11,
229 MEM_ATOMIC_COUNTER = 1 << 12,
230 MEM_CLIENT_MAPPED_BUFFER = 1 << 13,
231 MEM_SHADER_STORAGE = 1 << 14,
232 MEM_ALL = 0xFFFFFFFF
233 };
234
235 enum { OIV_MAX_FIXED_TEXTURE_UNIT = 4 };
236
240 enum TextureModel
241 {
242 TEX_MODEL_MODULATE = 0x2100,
243 TEX_MODEL_DECAL = 0x2101,
244 TEX_MODEL_BLEND = 0x0BE2,
245 TEX_MODEL_REPLACE = 0x1E01,
246 TEX_MODEL_ADD = 0x0104,
247 TEX_MODEL_COMBINE = 0x8570,
248 TEX_MODEL_ADD_SIGNED = 0x8574,
249 TEX_MODEL_INTERPOLATE = 0x8575,
250 TEX_MODEL_SUBTRACT = 0x84E7,
251 TEX_MODEL_DOT3_RGB = 0x86AE,
252 TEX_MODEL_DOT3_RGBA = 0x86AF
253 };
254
258 enum TextureFilter
259 {
260 TEX_FILTER_AUTO = 0,
261 TEX_FILTER_NEAREST = 0x2600,
262 TEX_FILTER_LINEAR = 0x2601,
263 TEX_FILTER_NEAREST_MIPMAP_NEAREST = 0x2700,
264 TEX_FILTER_NEAREST_MIPMAP_LINEAR = 0x2702,
265 TEX_FILTER_LINEAR_MIPMAP_NEAREST = 0x2071,
266 TEX_FILTER_LINEAR_MIPMAP_LINEAR = 0x2073
267 };
268
272 enum SourceParameter
273 {
274 SRC_PARAM_CONSTANT = 0x8576,
275 SRC_PARAM_PRIMARY_COLOR = 0x8577,
276 SRC_PARAM_PREVIOUS = 0x8578,
277 SRC_PARAM_TEXTURE = 0x1702
278 };
279
284 enum OperandRGBA
285 {
286 SRC_COLOR = 0x0300,
287 ONE_MINUS_SRC_COLOR = 0x0301,
288 SRC_ALPHA = 0x0302,
289 ONE_MINUS_SRC_ALPHA = 0x0303
290 };
291
295 enum QueryType
296 {
297 QUERY_SAMPLES_PASSED,
298 QUERY_ANY_SAMPLES_PASSED,
299 QUERY_ANY_SAMPLES_PASSED_CONSERVATIVE,
300 QUERY_PRIMITIVES_GENERATED,
301 QUERY_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
302 QUERY_TIME_ELAPSED,
303 QUERY_TIMESTAMP
304 };
305
309 enum ShaderBufferType
310 {
311 SHADER_STORAGE_BUFFER,
312 UNIFORM_BUFFER
313 };
314
318 enum FogType
319 {
320 FOG_TYPE_NONE = 0,
321 FOG_TYPE_EXP,
322 FOG_TYPE_EXP2,
323 FOG_TYPE_LINEAR,
324 };
325
326};
327
328#endif