Open Inventor Release 2024.2.1
 
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-2017 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
58 enum ImageDataFormat
59 {
60 IMG_FORMAT_DEPTH_COMPONENT,
61 IMG_FORMAT_STENCIL_INDEX,
62 IMG_FORMAT_DEPTH_STENCIL,
63 IMG_FORMAT_RED,
64 IMG_FORMAT_GREEN,
65 IMG_FORMAT_BLUE,
66 IMG_FORMAT_RG,
67 IMG_FORMAT_RGB,
68 IMG_FORMAT_RGBA,
69 IMG_FORMAT_BGR,
70 IMG_FORMAT_BGRA,
71 IMG_FORMAT_RED_INTEGER,
72 IMG_FORMAT_GREEN_INTEGER,
73 IMG_FORMAT_BLUE_INTEGER,
74 IMG_FORMAT_RG_INTEGER,
75 IMG_FORMAT_RGB_INTEGER,
76 IMG_FORMAT_RGBA_INTEGER,
77 IMG_FORMAT_BGR_INTEGER,
78 IMG_FORMAT_BGRA_INTEGER
79 };
80
84 enum ShaderType
85 {
86 SHADER_TYPE_VERTEX,
87 SHADER_TYPE_GEOMETRY,
88 SHADER_TYPE_FRAGMENT,
89 SHADER_TYPE_TESS_CTRL,
90 SHADER_TYPE_TESS_EVAL,
91 SHADER_TYPE_COMPUTE,
92 SHADER_TYPE_LAST
93 };
94
98 enum BlendFactor
99 {
100 BLEND_ZERO,
101 BLEND_ONE,
102 BLEND_SRC_COLOR,
103 BLEND_ONE_MINUS_SRC_COLOR,
104 BLEND_DST_COLOR,
105 BLEND_ONE_MINUS_DST_COLOR,
106 BLEND_SRC_ALPHA,
107 BLEND_ONE_MINUS_SRC_ALPHA,
108 BLEND_DST_ALPHA,
109 BLEND_ONE_MINUS_DST_ALPHA,
110 BLEND_CONSTANT_COLOR,
111 BLEND_ONE_MINUS_CONSTANT_COLOR,
112 BLEND_CONSTANT_ALPHA,
113 BLEND_ONE_MINUS_CONSTANT_ALPHA,
114 BLEND_SRC_ALPHA_SATURATE,
115 BLEND_SRC1_COLOR,
116 BLEND_ONE_MINUS_SRC1_COLOR,
117 BLEND_SRC1_ALPHA,
118 BLEND_ONE_MINUS_SRC1_ALPHA
119 };
120
124 enum BufferAccess
125 {
126 READ,
127 WRITE,
128 READ_WRITE
129 };
130
134 enum BlendFunction
135 {
136 BLEND_FUNC_ADD,
137 BLEND_FUNC_SUBTRACT,
138 BLEND_FUNC_REVERSE_SUBTRACT,
139 BLEND_FUNC_MIN,
140 BLEND_FUNC_MAX
141 };
142
146 enum OffsetMode
147 {
148 OFFSET_SOLID = 0x01,
149 OFFSET_WIREFRAME = 0x02,
150 OFFSET_POINTS = 0x04
151 };
152
156 enum ComparisonFunction
157 {
158 COMP_FUNC_NEVER = 0,
159 COMP_FUNC_LESS,
160 COMP_FUNC_LESS_EQUAL,
161 COMP_FUNC_GREATER,
162 COMP_FUNC_GREATER_EQUAL,
163 COMP_FUNC_EQUAL,
164 COMP_FUNC_NOT_EQUAL,
165 COMP_FUNC_ALWAYS
166 };
167
171 enum LogicalOperation
172 {
173 LOGIC_OP_NOOP,
174 LOGIC_OP_CLEAR,
175 LOGIC_OP_SET,
176 LOGIC_OP_COPY,
177 LOGIC_OP_COPY_INVERTED,
178 LOGIC_OP_INVERT,
179 LOGIC_OP_AND,
180 LOGIC_OP_NAND,
181 LOGIC_OP_AND_REVERSE,
182 LOGIC_OP_AND_INVERTED,
183 LOGIC_OP_OR,
184 LOGIC_OP_NOR,
185 LOGIC_OP_XOR,
186 LOGIC_OP_OR_REVERSE,
187 LOGIC_OP_OR_INVERTED,
188 LOGIC_OP_EQUIV,
189 };
190
191 /*
192 * @brief Defines memory barrier available bitfields
193 */
194 enum MemoryBarrier
195 {
196 MEM_VERTEX_ATTRIB_ARRAY = 1,
197 MEM_ELEMENT_ARRAY = 1 << 1,
198 MEM_UNIFORM = 1 << 2,
199 MEM_TEXTURE_FETCH = 1 << 3,
200 MEM_SHADER_IMAGE_ACCESS = 1 << 4,
201 MEM_COMMAND = 1 << 5,
202 MEM_PIXEL_BUFFER = 1 << 6,
203 MEM_TEXTURE_UPDATE = 1 << 7,
204 MEM_BUFFER_UPDATE = 1 << 8,
205 MEM_FRAMEBUFFER = 1 << 9,
206 MEM_TRANSFORM_FEEDBACK = 1 << 10,
207 MEM_QUERY_BUFFER = 1 << 11,
208 MEM_ATOMIC_COUNTER = 1 << 12,
209 MEM_CLIENT_MAPPED_BUFFER = 1 << 13,
210 MEM_SHADER_STORAGE = 1 << 14,
211 MEM_ALL = 0xFFFFFFFF
212 };
213
214 enum { OIV_MAX_FIXED_TEXTURE_UNIT = 4 };
215
219 enum TextureModel
220 {
221 TEX_MODEL_MODULATE = 0x2100,
222 TEX_MODEL_DECAL = 0x2101,
223 TEX_MODEL_BLEND = 0x0BE2,
224 TEX_MODEL_REPLACE = 0x1E01,
225 TEX_MODEL_ADD = 0x0104,
226 TEX_MODEL_COMBINE = 0x8570,
227 TEX_MODEL_ADD_SIGNED = 0x8574,
228 TEX_MODEL_INTERPOLATE = 0x8575,
229 TEX_MODEL_SUBTRACT = 0x84E7,
230 TEX_MODEL_DOT3_RGB = 0x86AE,
231 TEX_MODEL_DOT3_RGBA = 0x86AF
232 };
233
237 enum TextureFilter
238 {
239 TEX_FILTER_AUTO = 0,
240 TEX_FILTER_NEAREST = 0x2600,
241 TEX_FILTER_LINEAR = 0x2601,
242 TEX_FILTER_NEAREST_MIPMAP_NEAREST = 0x2700,
243 TEX_FILTER_NEAREST_MIPMAP_LINEAR = 0x2702,
244 TEX_FILTER_LINEAR_MIPMAP_NEAREST = 0x2071,
245 TEX_FILTER_LINEAR_MIPMAP_LINEAR = 0x2073
246 };
247
251 enum SourceParameter
252 {
253 SRC_PARAM_CONSTANT = 0x8576,
254 SRC_PARAM_PRIMARY_COLOR = 0x8577,
255 SRC_PARAM_PREVIOUS = 0x8578,
256 SRC_PARAM_TEXTURE = 0x1702
257 };
258
263 enum OperandRGBA
264 {
265 SRC_COLOR = 0x0300,
266 ONE_MINUS_SRC_COLOR = 0x0301,
267 SRC_ALPHA = 0x0302,
268 ONE_MINUS_SRC_ALPHA = 0x0303
269 };
270
274 enum QueryType
275 {
276 QUERY_SAMPLES_PASSED,
277 QUERY_ANY_SAMPLES_PASSED,
278 QUERY_ANY_SAMPLES_PASSED_CONSERVATIVE,
279 QUERY_PRIMITIVES_GENERATED,
280 QUERY_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
281 QUERY_TIME_ELAPSED,
282 QUERY_TIMESTAMP
283 };
284
288 enum ShaderBufferType
289 {
290 SHADER_STORAGE_BUFFER,
291 UNIFORM_BUFFER
292 };
293
297 enum FogType
298 {
299 FOG_TYPE_NONE = 0,
300 FOG_TYPE_EXP,
301 FOG_TYPE_EXP2,
302 FOG_TYPE_LINEAR,
303 };
304
305};
306
307#endif