Open Inventor Release 2025.2.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_LAST
109 };
110
114 enum BlendFactor
115 {
116 BLEND_ZERO,
117 BLEND_ONE,
118 BLEND_SRC_COLOR,
119 BLEND_ONE_MINUS_SRC_COLOR,
120 BLEND_DST_COLOR,
121 BLEND_ONE_MINUS_DST_COLOR,
122 BLEND_SRC_ALPHA,
123 BLEND_ONE_MINUS_SRC_ALPHA,
124 BLEND_DST_ALPHA,
125 BLEND_ONE_MINUS_DST_ALPHA,
126 BLEND_CONSTANT_COLOR,
127 BLEND_ONE_MINUS_CONSTANT_COLOR,
128 BLEND_CONSTANT_ALPHA,
129 BLEND_ONE_MINUS_CONSTANT_ALPHA,
130 BLEND_SRC_ALPHA_SATURATE,
131 BLEND_SRC1_COLOR,
132 BLEND_ONE_MINUS_SRC1_COLOR,
133 BLEND_SRC1_ALPHA,
134 BLEND_ONE_MINUS_SRC1_ALPHA
135 };
136
140 enum BufferAccess
141 {
142 READ,
143 WRITE,
144 READ_WRITE
145 };
146
150 enum BlendFunction
151 {
152 BLEND_FUNC_ADD,
153 BLEND_FUNC_SUBTRACT,
154 BLEND_FUNC_REVERSE_SUBTRACT,
155 BLEND_FUNC_MIN,
156 BLEND_FUNC_MAX
157 };
158
162 enum OffsetMode
163 {
164 OFFSET_SOLID = 0x01,
165 OFFSET_WIREFRAME = 0x02,
166 OFFSET_POINTS = 0x04
167 };
168
172 enum ComparisonFunction
173 {
174 COMP_FUNC_NEVER = 0,
175 COMP_FUNC_LESS,
176 COMP_FUNC_LESS_EQUAL,
177 COMP_FUNC_GREATER,
178 COMP_FUNC_GREATER_EQUAL,
179 COMP_FUNC_EQUAL,
180 COMP_FUNC_NOT_EQUAL,
181 COMP_FUNC_ALWAYS
182 };
183
187 enum LogicalOperation
188 {
189 LOGIC_OP_NOOP,
190 LOGIC_OP_CLEAR,
191 LOGIC_OP_SET,
192 LOGIC_OP_COPY,
193 LOGIC_OP_COPY_INVERTED,
194 LOGIC_OP_INVERT,
195 LOGIC_OP_AND,
196 LOGIC_OP_NAND,
197 LOGIC_OP_AND_REVERSE,
198 LOGIC_OP_AND_INVERTED,
199 LOGIC_OP_OR,
200 LOGIC_OP_NOR,
201 LOGIC_OP_XOR,
202 LOGIC_OP_OR_REVERSE,
203 LOGIC_OP_OR_INVERTED,
204 LOGIC_OP_EQUIV,
205 };
206
207 /*
208 * @brief Defines memory barrier available bitfields
209 */
210 enum MemoryBarrier
211 {
212 MEM_VERTEX_ATTRIB_ARRAY = 1,
213 MEM_ELEMENT_ARRAY = 1 << 1,
214 MEM_UNIFORM = 1 << 2,
215 MEM_TEXTURE_FETCH = 1 << 3,
216 MEM_SHADER_IMAGE_ACCESS = 1 << 4,
217 MEM_COMMAND = 1 << 5,
218 MEM_PIXEL_BUFFER = 1 << 6,
219 MEM_TEXTURE_UPDATE = 1 << 7,
220 MEM_BUFFER_UPDATE = 1 << 8,
221 MEM_FRAMEBUFFER = 1 << 9,
222 MEM_TRANSFORM_FEEDBACK = 1 << 10,
223 MEM_QUERY_BUFFER = 1 << 11,
224 MEM_ATOMIC_COUNTER = 1 << 12,
225 MEM_CLIENT_MAPPED_BUFFER = 1 << 13,
226 MEM_SHADER_STORAGE = 1 << 14,
227 MEM_ALL = 0xFFFFFFFF
228 };
229
230 enum { OIV_MAX_FIXED_TEXTURE_UNIT = 4 };
231
235 enum TextureModel
236 {
237 TEX_MODEL_MODULATE = 0x2100,
238 TEX_MODEL_DECAL = 0x2101,
239 TEX_MODEL_BLEND = 0x0BE2,
240 TEX_MODEL_REPLACE = 0x1E01,
241 TEX_MODEL_ADD = 0x0104,
242 TEX_MODEL_COMBINE = 0x8570,
243 TEX_MODEL_ADD_SIGNED = 0x8574,
244 TEX_MODEL_INTERPOLATE = 0x8575,
245 TEX_MODEL_SUBTRACT = 0x84E7,
246 TEX_MODEL_DOT3_RGB = 0x86AE,
247 TEX_MODEL_DOT3_RGBA = 0x86AF
248 };
249
253 enum TextureFilter
254 {
255 TEX_FILTER_AUTO = 0,
256 TEX_FILTER_NEAREST = 0x2600,
257 TEX_FILTER_LINEAR = 0x2601,
258 TEX_FILTER_NEAREST_MIPMAP_NEAREST = 0x2700,
259 TEX_FILTER_NEAREST_MIPMAP_LINEAR = 0x2702,
260 TEX_FILTER_LINEAR_MIPMAP_NEAREST = 0x2071,
261 TEX_FILTER_LINEAR_MIPMAP_LINEAR = 0x2073
262 };
263
267 enum SourceParameter
268 {
269 SRC_PARAM_CONSTANT = 0x8576,
270 SRC_PARAM_PRIMARY_COLOR = 0x8577,
271 SRC_PARAM_PREVIOUS = 0x8578,
272 SRC_PARAM_TEXTURE = 0x1702
273 };
274
279 enum OperandRGBA
280 {
281 SRC_COLOR = 0x0300,
282 ONE_MINUS_SRC_COLOR = 0x0301,
283 SRC_ALPHA = 0x0302,
284 ONE_MINUS_SRC_ALPHA = 0x0303
285 };
286
290 enum QueryType
291 {
292 QUERY_SAMPLES_PASSED,
293 QUERY_ANY_SAMPLES_PASSED,
294 QUERY_ANY_SAMPLES_PASSED_CONSERVATIVE,
295 QUERY_PRIMITIVES_GENERATED,
296 QUERY_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
297 QUERY_TIME_ELAPSED,
298 QUERY_TIMESTAMP
299 };
300
304 enum ShaderBufferType
305 {
306 SHADER_STORAGE_BUFFER,
307 UNIFORM_BUFFER
308 };
309
313 enum FogType
314 {
315 FOG_TYPE_NONE = 0,
316 FOG_TYPE_EXP,
317 FOG_TYPE_EXP2,
318 FOG_TYPE_LINEAR,
319 };
320
321};
322
323#endif