00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00037 #ifndef vlnamespace_INCLUDE_ONCE
00038 #define vlnamespace_INCLUDE_ONCE
00039
00040 #include <vlCore/OpenGLDefs.hpp>
00041 #include <vlCore/config.hpp>
00042
00043 namespace vl
00044 {
00045 typedef enum
00046 {
00047 TF_UNKNOWN = 0,
00048
00049 TF_ALPHA = GL_ALPHA,
00050 TF_ALPHA4 = GL_ALPHA4,
00051 TF_ALPHA8 = GL_ALPHA8,
00052 TF_ALPHA12 = GL_ALPHA12,
00053 TF_ALPHA16 = GL_ALPHA16,
00054
00055 TF_INTENSITY = GL_INTENSITY,
00056 TF_INTENSITY4 = GL_INTENSITY4,
00057 TF_INTENSITY8 = GL_INTENSITY8,
00058 TF_INTENSITY12 = GL_INTENSITY12,
00059 TF_INTENSITY16 = GL_INTENSITY16,
00060 TF_LUMINANCE = GL_LUMINANCE,
00061 TF_LUMINANCE4 = GL_LUMINANCE4,
00062 TF_LUMINANCE8 = GL_LUMINANCE8,
00063 TF_LUMINANCE12 = GL_LUMINANCE12,
00064 TF_LUMINANCE16 = GL_LUMINANCE16,
00065 TF_LUMINANCE_ALPHA = GL_LUMINANCE_ALPHA,
00066 TF_LUMINANCE4_ALPHA4 = GL_LUMINANCE4_ALPHA4,
00067 TF_LUMINANCE6_ALPHA2 = GL_LUMINANCE6_ALPHA2,
00068 TF_LUMINANCE8_ALPHA8 = GL_LUMINANCE8_ALPHA8,
00069 TF_LUMINANCE12_ALPHA4 = GL_LUMINANCE12_ALPHA4,
00070 TF_LUMINANCE12_ALPHA12 = GL_LUMINANCE12_ALPHA12,
00071 TF_LUMINANCE16_ALPHA16 = GL_LUMINANCE16_ALPHA16,
00072 TF_R3_G3_B2 = GL_R3_G3_B2,
00073 TF_RGB = GL_RGB,
00074 TF_RGB4 = GL_RGB4,
00075 TF_RGB5 = GL_RGB5,
00076 TF_RGB8 = GL_RGB8,
00077 TF_RGB10 = GL_RGB10,
00078 TF_RGB12 = GL_RGB12,
00079 TF_RGB16 = GL_RGB16,
00080 TF_RGBA = GL_RGBA,
00081 TF_RGBA2 = GL_RGBA2,
00082 TF_RGBA4 = GL_RGBA4,
00083 TF_RGB5_A1 = GL_RGB5_A1,
00084 TF_RGBA8 = GL_RGBA8,
00085 TF_RGB10_A2 = GL_RGB10_A2,
00086 TF_RGBA12 = GL_RGBA12,
00087 TF_RGBA16 = GL_RGBA16,
00088
00089
00090 TF_RGBA32F = GL_RGBA32F,
00091 TF_RGB32F = GL_RGB32F,
00092 TF_ALPHA32F = GL_ALPHA32F_ARB,
00093 TF_INTENSITY32F = GL_INTENSITY32F_ARB,
00094 TF_LUMINANCE32F = GL_LUMINANCE32F_ARB,
00095 TF_LUMINANCE_ALPHA32F = GL_LUMINANCE_ALPHA32F_ARB,
00096 TF_RGBA16F = GL_RGBA16F,
00097 TF_RGB16F = GL_RGB16F,
00098 TF_ALPHA16F = GL_ALPHA16F_ARB,
00099 TF_INTENSITY16F = GL_INTENSITY16F_ARB,
00100 TF_LUMINANCE16F = GL_LUMINANCE16F_ARB,
00101 TF_LUMINANCE_ALPHA16F = GL_LUMINANCE_ALPHA16F_ARB,
00102
00103
00104 TF_RGBA_FLOAT32_ATI = GL_RGBA_FLOAT32_ATI,
00105 TF_RGB_FLOAT32_ATI = GL_RGB_FLOAT32_ATI,
00106 TF_ALPHA_FLOAT32_ATI = GL_ALPHA_FLOAT32_ATI,
00107 TF_INTENSITY_FLOAT32_ATI = GL_INTENSITY_FLOAT32_ATI,
00108 TF_LUMINANCE_FLOAT32_ATI = GL_LUMINANCE_FLOAT32_ATI,
00109 TF_LUMINANCE_ALPHA_FLOAT32_ATI = GL_LUMINANCE_ALPHA_FLOAT32_ATI,
00110 TF_RGBA_FLOAT16_ATI = GL_RGBA_FLOAT16_ATI,
00111 TF_RGB_FLOAT16_ATI = GL_RGB_FLOAT16_ATI,
00112 TF_ALPHA_FLOAT16_ATI = GL_ALPHA_FLOAT16_ATI,
00113 TF_INTENSITY_FLOAT16_ATI = GL_INTENSITY_FLOAT16_ATI,
00114 TF_LUMINANCE_FLOAT16_ATI = GL_LUMINANCE_FLOAT16_ATI,
00115 TF_LUMINANCE_ALPHA_FLOAT16_ATI = GL_LUMINANCE_ALPHA_FLOAT16_ATI,
00116
00117
00118 TF_RGB9_E5_EXT = GL_RGB9_E5_EXT,
00119
00120
00121 TF_11F_G11F_B10F_EXT = GL_R11F_G11F_B10F_EXT,
00122
00123
00124 TF_DEPTH_STENCIL = GL_DEPTH_STENCIL,
00125 TF_DEPTH24_STENCIL8 = GL_DEPTH24_STENCIL8,
00126
00127
00128 TF_DEPTH_COMPONENT32F = GL_DEPTH_COMPONENT32F,
00129 TF_DEPTH32F_STENCIL8 = GL_DEPTH32F_STENCIL8,
00130
00131
00132 TF_DEPTH_COMPONENT = GL_DEPTH_COMPONENT,
00133 TF_DEPTH_COMPONENT16 = GL_DEPTH_COMPONENT16,
00134 TF_DEPTH_COMPONENT24 = GL_DEPTH_COMPONENT24,
00135 TF_DEPTH_COMPONENT32 = GL_DEPTH_COMPONENT32,
00136
00137
00138 TF_COMPRESSED_ALPHA = GL_COMPRESSED_ALPHA_ARB,
00139 TF_COMPRESSED_INTENSITY = GL_COMPRESSED_INTENSITY_ARB,
00140 TF_COMPRESSED_LUMINANCE = GL_COMPRESSED_LUMINANCE_ARB,
00141 TF_COMPRESSED_LUMINANCE_ALPHA = GL_COMPRESSED_LUMINANCE_ALPHA_ARB,
00142 TF_COMPRESSED_RGB = GL_COMPRESSED_RGB_ARB,
00143 TF_COMPRESSED_RGBA = GL_COMPRESSED_RGBA_ARB,
00144
00145
00146 TF_COMPRESSED_RGB_FXT1_3DFX = GL_COMPRESSED_RGB_FXT1_3DFX,
00147 TF_COMPRESSED_RGBA_FXT1_3DFX = GL_COMPRESSED_RGBA_FXT1_3DFX,
00148
00149
00150 TF_COMPRESSED_RGB_S3TC_DXT1_EXT = GL_COMPRESSED_RGB_S3TC_DXT1_EXT,
00151 TF_COMPRESSED_RGBA_S3TC_DXT1_EXT = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT,
00152 TF_COMPRESSED_RGBA_S3TC_DXT3_EXT = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT,
00153 TF_COMPRESSED_RGBA_S3TC_DXT5_EXT = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT,
00154
00155
00156 TF_COMPRESSED_LUMINANCE_LATC1_EXT = GL_COMPRESSED_LUMINANCE_LATC1_EXT,
00157 TF_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT,
00158 TF_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT,
00159 TF_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT,
00160
00161
00162 TF_COMPRESSED_RED_RGTC1_EXT = GL_COMPRESSED_RED_RGTC1_EXT,
00163 TF_COMPRESSED_SIGNED_RED_RGTC1_EXT = GL_COMPRESSED_SIGNED_RED_RGTC1_EXT,
00164 TF_COMPRESSED_RED_GREEN_RGTC2_EXT = GL_COMPRESSED_RED_GREEN_RGTC2_EXT,
00165 TF_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
00166
00167
00168 TF_RGBA32UI_EXT = GL_RGBA32UI_EXT,
00169 TF_RGB32UI_EXT = GL_RGB32UI_EXT,
00170 TF_ALPHA32UI_EXT = GL_ALPHA32UI_EXT,
00171 TF_INTENSITY32UI_EXT = GL_INTENSITY32UI_EXT,
00172 TF_LUMINANCE32UI_EXT = GL_LUMINANCE32UI_EXT,
00173 TF_LUMINANCE_ALPHA32UI_EXT = GL_LUMINANCE_ALPHA32UI_EXT,
00174
00175 TF_RGBA16UI_EXT = GL_RGBA16UI_EXT,
00176 TF_RGB16UI_EXT = GL_RGB16UI_EXT,
00177 TF_ALPHA16UI_EXT = GL_ALPHA16UI_EXT,
00178 TF_INTENSITY16UI_EXT = GL_INTENSITY16UI_EXT,
00179 TF_LUMINANCE16UI_EXT = GL_LUMINANCE16UI_EXT,
00180 TF_LUMINANCE_ALPHA16UI_EXT = GL_LUMINANCE_ALPHA16UI_EXT,
00181
00182 TF_RGBA8UI_EXT = GL_RGBA8UI_EXT,
00183 TF_RGB8UI_EXT = GL_RGB8UI_EXT,
00184 TF_ALPHA8UI_EXT = GL_ALPHA8UI_EXT,
00185 TF_INTENSITY8UI_EXT = GL_INTENSITY8UI_EXT,
00186 TF_LUMINANCE8UI_EXT = GL_LUMINANCE8UI_EXT,
00187 TF_LUMINANCE_ALPHA8UI_EXT = GL_LUMINANCE_ALPHA8UI_EXT,
00188
00189 TF_RGBA32I_EXT = GL_RGBA32I_EXT,
00190 TF_RGB32I_EXT = GL_RGB32I_EXT,
00191 TF_ALPHA32I_EXT = GL_ALPHA32I_EXT,
00192 TF_INTENSITY32I_EXT = GL_INTENSITY32I_EXT,
00193 TF_LUMINANCE32I_EXT = GL_LUMINANCE32I_EXT,
00194 TF_LUMINANCE_ALPHA32I_EXT = GL_LUMINANCE_ALPHA32I_EXT,
00195
00196 TF_RGBA16I_EXT = GL_RGBA16I_EXT,
00197 TF_RGB16I_EXT = GL_RGB16I_EXT,
00198 TF_ALPHA16I_EXT = GL_ALPHA16I_EXT,
00199 TF_INTENSITY16I_EXT = GL_INTENSITY16I_EXT,
00200 TF_LUMINANCE16I_EXT = GL_LUMINANCE16I_EXT,
00201 TF_LUMINANCE_ALPHA16I_EXT = GL_LUMINANCE_ALPHA16I_EXT,
00202
00203 TF_RGBA8I_EXT = GL_RGBA8I_EXT,
00204 TF_RGB8I_EXT = GL_RGB8I_EXT,
00205 TF_ALPHA8I_EXT = GL_ALPHA8I_EXT,
00206 TF_INTENSITY8I_EXT = GL_INTENSITY8I_EXT,
00207 TF_LUMINANCE8I_EXT = GL_LUMINANCE8I_EXT,
00208 TF_LUMINANCE_ALPHA8I_EXT = GL_LUMINANCE_ALPHA8I_EXT,
00209
00210
00211 TF_RED = GL_RED,
00212 TF_COMPRESSED_RED = GL_COMPRESSED_RED,
00213 TF_COMPRESSED_RG = GL_COMPRESSED_RG,
00214 TF_RG = GL_RG,
00215 TF_R8 = GL_R8,
00216 TF_R16 = GL_R16,
00217 TF_RG8 = GL_RG8,
00218 TF_RG16 = GL_RG16,
00219 TF_R16F = GL_R16F,
00220 TF_R32F = GL_R32F,
00221 TF_RG16F = GL_RG16F,
00222 TF_RG32F = GL_RG32F,
00223 TF_R8I = GL_R8I,
00224 TF_R8UI = GL_R8UI,
00225 TF_R16I = GL_R16I,
00226 TF_R16UI = GL_R16UI,
00227 TF_R32I = GL_R32I,
00228 TF_R32UI = GL_R32UI,
00229 TF_RG8I = GL_RG8I,
00230 TF_RG8UI = GL_RG8UI,
00231 TF_RG16I = GL_RG16I,
00232 TF_RG16UI = GL_RG16UI,
00233 TF_RG32I = GL_RG32I,
00234 TF_RG32UI = GL_RG32UI,
00235
00236
00237 TF_SLUMINANCE_ALPHA = GL_SLUMINANCE_ALPHA,
00238 TF_SLUMINANCE8_ALPHA8 = GL_SLUMINANCE8_ALPHA8,
00239 TF_SLUMINANCE = GL_SLUMINANCE,
00240 TF_SLUMINANCE8 = GL_SLUMINANCE8,
00241 TF_COMPRESSED_SLUMINANCE = GL_COMPRESSED_SLUMINANCE,
00242 TF_COMPRESSED_SLUMINANCE_ALPHA = GL_COMPRESSED_SLUMINANCE_ALPHA,
00243
00244
00245 TF_SRGB = GL_SRGB,
00246 TF_SRGB8 = GL_SRGB8,
00247 TF_SRGB_ALPHA = GL_SRGB_ALPHA,
00248 TF_SRGB8_ALPHA8 = GL_SRGB8_ALPHA8,
00249 TF_COMPRESSED_SRGB = GL_COMPRESSED_SRGB,
00250 TF_COMPRESSED_SRGB_ALPHA = GL_COMPRESSED_SRGB_ALPHA,
00251
00252
00253 TF_COMPRESSED_SRGB_S3TC_DXT1_EXT = GL_COMPRESSED_SRGB_S3TC_DXT1_EXT,
00254 TF_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
00255 TF_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
00256 TF_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
00257
00258
00259 TF_R8_SNORM = GL_R8_SNORM,
00260 TF_R16_SNORM = GL_R16_SNORM,
00261 TF_RG8_SNORM = GL_RG8_SNORM,
00262 TF_RG16_SNORM = GL_RG16_SNORM,
00263 TF_RGB8_SNORM = GL_RGB8_SNORM,
00264 TF_RGBA8_SNORM = GL_RGBA8_SNORM,
00265 TF_RGB10_A2UI = GL_RGB10_A2UI,
00266 TF_RGBA16_SNORM = GL_RGBA16_SNORM,
00267 TF_R11F_G11F_B10F = GL_R11F_G11F_B10F,
00268 TF_RGB9_E5 = GL_RGB9_E5,
00269 TF_RGB8I = GL_RGB8I,
00270 TF_RGB8UI = GL_RGB8UI,
00271 TF_RGB16I = GL_RGB16I,
00272 TF_RGB16UI = GL_RGB16UI,
00273 TF_RGB32I = GL_RGB32I,
00274 TF_RGB32UI = GL_RGB32UI,
00275 TF_RGBA8I = GL_RGBA8I,
00276 TF_RGBA8UI = GL_RGBA8UI,
00277 TF_RGBA16I = GL_RGBA16I,
00278 TF_RGBA16UI = GL_RGBA16UI,
00279 TF_RGBA32I = GL_RGBA32I,
00280 TF_RGBA32UI = GL_RGBA32UI
00281
00282 } ETextureFormat;
00283
00284 typedef enum
00285 {
00286 IF_RGB = GL_RGB,
00287 IF_RGBA = GL_RGBA,
00288 IF_BGR = GL_BGR,
00289 IF_BGRA = GL_BGRA,
00290 IF_RG = GL_RG,
00291 IF_RG_INTEGER = GL_RG_INTEGER,
00292 IF_RED = GL_RED,
00293 IF_GREEN = GL_GREEN,
00294 IF_BLUE = GL_BLUE,
00295 IF_ALPHA = GL_ALPHA,
00296 IF_LUMINANCE = GL_LUMINANCE,
00297 IF_LUMINANCE_ALPHA = GL_LUMINANCE_ALPHA,
00298 IF_DEPTH_COMPONENT = GL_DEPTH_COMPONENT,
00299 IF_STENCIL_INDEX = GL_STENCIL_INDEX,
00300
00301
00302 IF_DEPTH_STENCIL = GL_DEPTH_STENCIL,
00303
00304
00305
00306
00307 IF_COMPRESSED_RGB_S3TC_DXT1 = GL_COMPRESSED_RGB_S3TC_DXT1_EXT,
00308 IF_COMPRESSED_RGBA_S3TC_DXT1 = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT,
00309 IF_COMPRESSED_RGBA_S3TC_DXT3 = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT,
00310 IF_COMPRESSED_RGBA_S3TC_DXT5 = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT,
00311
00312
00313 IF_RED_INTEGER = GL_RED_INTEGER,
00314 IF_GREEN_INTEGER = GL_GREEN_INTEGER,
00315 IF_BLUE_INTEGER = GL_BLUE_INTEGER,
00316 IF_ALPHA_INTEGER = GL_ALPHA_INTEGER,
00317 IF_RGB_INTEGER = GL_RGB_INTEGER,
00318 IF_RGBA_INTEGER = GL_RGBA_INTEGER,
00319 IF_BGR_INTEGER = GL_BGR_INTEGER,
00320 IF_BGRA_INTEGER = GL_BGRA_INTEGER,
00321
00322
00323 IF_LUMINANCE_INTEGER = GL_LUMINANCE_INTEGER_EXT,
00324 IF_LUMINANCE_ALPHA_INTEGER = GL_LUMINANCE_ALPHA_INTEGER_EXT,
00325
00326 } EImageFormat;
00327
00328 typedef enum
00329 {
00330 T2DT_TEXTURE_2D = GL_TEXTURE_2D,
00331 T2DT_TEXTURE_CUBE_MAP_POSITIVE_X = GL_TEXTURE_CUBE_MAP_POSITIVE_X,
00332 T2DT_TEXTURE_CUBE_MAP_NEGATIVE_X = GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
00333 T2DT_TEXTURE_CUBE_MAP_POSITIVE_Y = GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
00334 T2DT_TEXTURE_CUBE_MAP_NEGATIVE_Y = GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
00335 T2DT_TEXTURE_CUBE_MAP_POSITIVE_Z = GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
00336 T2DT_TEXTURE_CUBE_MAP_NEGATIVE_Z = GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
00337 T2DT_TEXTURE_RECTANGLE = GL_TEXTURE_RECTANGLE_ARB,
00338 T2DT_TEXTURE_1D_ARRAY = GL_TEXTURE_1D_ARRAY,
00339 T2DT_TEXTURE_2D_MULTISAMPLE = GL_TEXTURE_2D_MULTISAMPLE,
00340 } ETex2DTarget;
00341
00342 typedef enum
00343 {
00344 AP_NO_ATTACHMENT = 0,
00345
00346 AP_COLOR_ATTACHMENT0 = GL_COLOR_ATTACHMENT0,
00347 AP_COLOR_ATTACHMENT1 = GL_COLOR_ATTACHMENT1,
00348 AP_COLOR_ATTACHMENT2 = GL_COLOR_ATTACHMENT2,
00349 AP_COLOR_ATTACHMENT3 = GL_COLOR_ATTACHMENT3,
00350 AP_COLOR_ATTACHMENT4 = GL_COLOR_ATTACHMENT4,
00351 AP_COLOR_ATTACHMENT5 = GL_COLOR_ATTACHMENT5,
00352 AP_COLOR_ATTACHMENT6 = GL_COLOR_ATTACHMENT6,
00353 AP_COLOR_ATTACHMENT7 = GL_COLOR_ATTACHMENT7,
00354 AP_COLOR_ATTACHMENT8 = GL_COLOR_ATTACHMENT8,
00355 AP_COLOR_ATTACHMENT9 = GL_COLOR_ATTACHMENT9,
00356 AP_COLOR_ATTACHMENT10 = GL_COLOR_ATTACHMENT10,
00357 AP_COLOR_ATTACHMENT11 = GL_COLOR_ATTACHMENT11,
00358 AP_COLOR_ATTACHMENT12 = GL_COLOR_ATTACHMENT12,
00359 AP_COLOR_ATTACHMENT13 = GL_COLOR_ATTACHMENT13,
00360 AP_COLOR_ATTACHMENT14 = GL_COLOR_ATTACHMENT14,
00361 AP_COLOR_ATTACHMENT15 = GL_COLOR_ATTACHMENT15,
00362
00363 AP_DEPTH_ATTACHMENT = GL_DEPTH_ATTACHMENT,
00364
00365 AP_STENCIL_ATTACHMENT = GL_STENCIL_ATTACHMENT,
00366
00367 AP_DEPTH_STENCIL_ATTACHMENT = GL_DEPTH_STENCIL_ATTACHMENT,
00368 } EAttachmentPoint;
00369
00371 typedef enum
00372 {
00373 CBF_RED = GL_RED,
00374 CBF_RG = GL_RG,
00375 CBF_RGB = GL_RGB,
00376 CBF_RGBA = GL_RGBA,
00377
00378
00379 CBF_R8 = GL_R8,
00380
00381 CBF_R16 = GL_R16,
00382
00383 CBF_RG8 = GL_RG8,
00384
00385 CBF_RG16 = GL_RG16,
00386
00387
00388
00389
00390
00391
00392
00393
00394
00395
00396
00397
00398
00399 CBF_RGBA8 = GL_RGBA8,
00400
00401 CBF_RGB10_A2 = GL_RGB10_A2,
00402 CBF_RGB10_A2UI = GL_RGB10_A2UI,
00403
00404 CBF_RGBA16 = GL_RGBA16,
00405
00406
00407 CBF_SRGB8_ALPHA8 = GL_SRGB8_ALPHA8,
00408 CBF_R16F = GL_R16F,
00409 CBF_RG16F = GL_RG16F,
00410
00411 CBF_RGBA16F = GL_RGBA16F,
00412 CBF_R32F = GL_R32F,
00413 CBF_RG32F = GL_RG32F,
00414
00415 CBF_RGBA32F = GL_RGBA32F,
00416 CBF_R11F_G11F_B10F = GL_R11F_G11F_B10F,
00417
00418 CBF_R8I = GL_R8I,
00419 CBF_R8UI = GL_R8UI,
00420 CBF_R16I = GL_R16I,
00421 CBF_R16UI = GL_R16UI,
00422 CBF_R32I = GL_R32I,
00423 CBF_R32UI = GL_R32UI,
00424 CBF_RG8I = GL_RG8I,
00425 CBF_RG8UI = GL_RG8UI,
00426 CBF_RG16I = GL_RG16I,
00427 CBF_RG16UI = GL_RG16UI,
00428 CBF_RG32I = GL_RG32I,
00429 CBF_RG32UI = GL_RG32UI,
00430
00431
00432
00433
00434
00435
00436 CBF_RGBA8I = GL_RGBA8I,
00437 CBF_RGBA8UI = GL_RGBA8UI,
00438 CBF_RGBA16I = GL_RGBA16I,
00439 CBF_RGBA16UI = GL_RGBA16UI,
00440 CBF_RGBA32I = GL_RGBA32I,
00441 CBF_RGBA32UI = GL_RGBA32UI
00442
00443 } EColorBufferFormat;
00444
00445 typedef enum
00446 {
00447 DBF_DEPTH_COMPONENT = GL_DEPTH_COMPONENT,
00448 DBF_DEPTH_COMPONENT16 = GL_DEPTH_COMPONENT16,
00449 DBF_DEPTH_COMPONENT24 = GL_DEPTH_COMPONENT24,
00450 DBF_DEPTH_COMPONENT32 = GL_DEPTH_COMPONENT32,
00451 DBF_DEPTH_COMPONENT32F = GL_DEPTH_COMPONENT32F,
00452 } EDepthBufferFormat;
00453
00454 typedef enum
00455 {
00456 SBF_STENCIL_INDEX1 = GL_STENCIL_INDEX1_EXT,
00457 SBF_STENCIL_INDEX4 = GL_STENCIL_INDEX4_EXT,
00458 SBF_STENCIL_INDEX8 = GL_STENCIL_INDEX8_EXT,
00459 SBF_STENCIL_INDEX16 = GL_STENCIL_INDEX16_EXT
00460 } EStencilBufferFormat;
00461
00462 typedef enum
00463 {
00464 DSBT_DEPTH_STENCIL = GL_DEPTH_STENCIL,
00465 DSBT_DEPTH24_STENCIL8 = GL_DEPTH24_STENCIL8,
00466 DSBT_DEPTH32F_STENCIL8 = GL_DEPTH32F_STENCIL8,
00467 } EDepthStencilBufferFormat;
00468
00469 typedef enum
00470 {
00471 CF_DO_NOT_CLEAR = 0,
00472 CF_CLEAR_COLOR = GL_COLOR_BUFFER_BIT,
00473 CF_CLEAR_DEPTH = GL_DEPTH_BUFFER_BIT,
00474 CF_CLEAR_STENCIL = GL_STENCIL_BUFFER_BIT,
00475 CF_CLEAR_COLOR_DEPTH = CF_CLEAR_COLOR + CF_CLEAR_DEPTH,
00476 CF_CLEAR_COLOR_STENCIL = CF_CLEAR_COLOR + CF_CLEAR_STENCIL,
00477 CF_CLEAR_DEPTH_STENCIL = CF_CLEAR_DEPTH + CF_CLEAR_STENCIL,
00478 CF_CLEAR_COLOR_DEPTH_STENCIL = CF_CLEAR_COLOR + CF_CLEAR_DEPTH + CF_CLEAR_STENCIL,
00479 } EClearFlags;
00480
00481 typedef enum
00482 {
00483 CCM_Float,
00484 CCM_Int,
00485 CCM_UInt
00486 } EClearColorMode;
00487
00488 typedef enum
00489 {
00490 BF_ZERO=GL_ZERO,
00491 BF_ONE=GL_ONE,
00492 BF_SRC_COLOR=GL_SRC_COLOR,
00493 BF_ONE_MINUS_SRC_COLOR=GL_ONE_MINUS_SRC_COLOR,
00494 BF_DST_COLOR=GL_DST_COLOR,
00495 BF_ONE_MINUS_DST_COLOR=GL_ONE_MINUS_DST_COLOR,
00496 BF_SRC_ALPHA=GL_SRC_ALPHA,
00497 BF_ONE_MINUS_SRC_ALPHA=GL_ONE_MINUS_SRC_ALPHA,
00498 BF_DST_ALPHA=GL_DST_ALPHA,
00499 BF_ONE_MINUS_DST_ALPHA=GL_ONE_MINUS_DST_ALPHA,
00500 BF_CONSTANT_COLOR=GL_CONSTANT_COLOR,
00501 BF_ONE_MINUS_CONSTANT_COLOR=GL_ONE_MINUS_CONSTANT_COLOR,
00502 BF_CONSTANT_ALPHA=GL_CONSTANT_ALPHA,
00503 BF_ONE_MINUS_CONSTANT_ALPHA=GL_ONE_MINUS_CONSTANT_ALPHA,
00504 BF_SRC_ALPHA_SATURATE=GL_SRC_ALPHA_SATURATE
00505 } EBlendFactor;
00506
00507 typedef enum
00508 {
00509 TD_TEXTURE_UNKNOWN = 0,
00510 TD_TEXTURE_1D = GL_TEXTURE_1D,
00511 TD_TEXTURE_2D = GL_TEXTURE_2D,
00512 TD_TEXTURE_3D = GL_TEXTURE_3D,
00513 TD_TEXTURE_CUBE_MAP = GL_TEXTURE_CUBE_MAP,
00514 TD_TEXTURE_RECTANGLE = GL_TEXTURE_RECTANGLE,
00515 TD_TEXTURE_1D_ARRAY = GL_TEXTURE_1D_ARRAY,
00516 TD_TEXTURE_2D_ARRAY = GL_TEXTURE_2D_ARRAY,
00517 TD_TEXTURE_BUFFER = GL_TEXTURE_BUFFER,
00518 TD_TEXTURE_2D_MULTISAMPLE = GL_TEXTURE_2D_MULTISAMPLE,
00519 TD_TEXTURE_2D_MULTISAMPLE_ARRAY = GL_TEXTURE_2D_MULTISAMPLE_ARRAY
00520 } ETextureDimension;
00521
00522 typedef enum
00523 {
00524 TCM_NONE = GL_NONE,
00525 TCM_COMPARE_R_TO_TEXTURE = GL_COMPARE_R_TO_TEXTURE,
00526 TCM_COMPARE_REF_DEPTH_TO_TEXTURE = GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT
00527 } ETexCompareMode;
00528
00529 typedef enum
00530 {
00531 TCF_LEQUAL = GL_LEQUAL,
00532 TCF_GEQUAL = GL_GEQUAL,
00533 TCF_LESS = GL_LESS,
00534 TCF_GREATER = GL_GREATER,
00535 TCF_EQUAL = GL_EQUAL,
00536 TCF_NOTEQUAL = GL_NOTEQUAL,
00537 TCF_ALWAYS = GL_ALWAYS,
00538 TCF_NEVER = GL_NEVER
00539 } ETexCompareFunc;
00540
00541 typedef enum
00542 {
00543 DTM_LUMINANCE = GL_LUMINANCE,
00544 DTM_INTENSITY = GL_INTENSITY,
00545 DTM_ALPHA = GL_ALPHA,
00546 DTM_RED = GL_RED
00547 } EDepthTextureMode;
00548
00549 typedef enum
00550 {
00551 RDB_NONE = GL_NONE,
00552 RDB_FRONT_LEFT = GL_FRONT_LEFT,
00553 RDB_FRONT_RIGHT = GL_FRONT_RIGHT,
00554 RDB_BACK_LEFT = GL_BACK_LEFT,
00555 RDB_BACK_RIGHT = GL_BACK_RIGHT,
00556 RDB_AUX0 = GL_AUX0,
00557 RDB_AUX1 = GL_AUX1,
00558 RDB_AUX2 = GL_AUX2,
00559 RDB_AUX3 = GL_AUX3,
00560 RDB_COLOR_ATTACHMENT0 = GL_COLOR_ATTACHMENT0_EXT,
00561 RDB_COLOR_ATTACHMENT1 = GL_COLOR_ATTACHMENT1_EXT,
00562 RDB_COLOR_ATTACHMENT2 = GL_COLOR_ATTACHMENT2_EXT,
00563 RDB_COLOR_ATTACHMENT3 = GL_COLOR_ATTACHMENT3_EXT,
00564 RDB_COLOR_ATTACHMENT4 = GL_COLOR_ATTACHMENT4_EXT,
00565 RDB_COLOR_ATTACHMENT5 = GL_COLOR_ATTACHMENT5_EXT,
00566 RDB_COLOR_ATTACHMENT6 = GL_COLOR_ATTACHMENT6_EXT,
00567 RDB_COLOR_ATTACHMENT7 = GL_COLOR_ATTACHMENT7_EXT,
00568 RDB_COLOR_ATTACHMENT8 = GL_COLOR_ATTACHMENT8_EXT,
00569 RDB_COLOR_ATTACHMENT9 = GL_COLOR_ATTACHMENT9_EXT,
00570 RDB_COLOR_ATTACHMENT10 = GL_COLOR_ATTACHMENT10_EXT,
00571 RDB_COLOR_ATTACHMENT11 = GL_COLOR_ATTACHMENT11_EXT,
00572 RDB_COLOR_ATTACHMENT12 = GL_COLOR_ATTACHMENT12_EXT,
00573 RDB_COLOR_ATTACHMENT13 = GL_COLOR_ATTACHMENT13_EXT,
00574 RDB_COLOR_ATTACHMENT14 = GL_COLOR_ATTACHMENT14_EXT,
00575 RDB_COLOR_ATTACHMENT15 = GL_COLOR_ATTACHMENT15_EXT
00576 } EReadDrawBuffer;
00577
00578 typedef enum
00579 {
00580 FBB_FRAMEBUFFER = GL_FRAMEBUFFER,
00581 FBB_DRAW_FRAMEBUFFER = GL_DRAW_FRAMEBUFFER,
00582 FBB_READ_FRAMEBUFFER = GL_READ_FRAMEBUFFER,
00583 } EFrameBufferBind;
00584
00585 typedef enum
00586 {
00587 IT_IMPLICIT_TYPE = 0,
00588
00589 IT_UNSIGNED_BYTE = GL_UNSIGNED_BYTE,
00590 IT_BYTE = GL_BYTE,
00591 IT_UNSIGNED_SHORT = GL_UNSIGNED_SHORT,
00592 IT_SHORT = GL_SHORT,
00593 IT_UNSIGNED_INT = GL_UNSIGNED_INT,
00594 IT_INT = GL_INT,
00595 IT_FLOAT = GL_FLOAT,
00596 IT_UNSIGNED_BYTE_3_3_2 = GL_UNSIGNED_BYTE_3_3_2,
00597 IT_UNSIGNED_BYTE_2_3_3_REV = GL_UNSIGNED_BYTE_2_3_3_REV,
00598 IT_UNSIGNED_SHORT_5_6_5 = GL_UNSIGNED_SHORT_5_6_5,
00599 IT_UNSIGNED_SHORT_5_6_5_REV = GL_UNSIGNED_SHORT_5_6_5_REV,
00600 IT_UNSIGNED_SHORT_4_4_4_4 = GL_UNSIGNED_SHORT_4_4_4_4,
00601 IT_UNSIGNED_SHORT_4_4_4_4_REV = GL_UNSIGNED_SHORT_4_4_4_4_REV,
00602 IT_UNSIGNED_SHORT_5_5_5_1 = GL_UNSIGNED_SHORT_5_5_5_1,
00603 IT_UNSIGNED_SHORT_1_5_5_5_REV = GL_UNSIGNED_SHORT_1_5_5_5_REV,
00604 IT_UNSIGNED_INT_8_8_8_8 = GL_UNSIGNED_INT_8_8_8_8,
00605 IT_UNSIGNED_INT_8_8_8_8_REV = GL_UNSIGNED_INT_8_8_8_8_REV,
00606 IT_UNSIGNED_INT_10_10_10_2 = GL_UNSIGNED_INT_10_10_10_2,
00607 IT_UNSIGNED_INT_2_10_10_10_REV = GL_UNSIGNED_INT_2_10_10_10_REV,
00608
00609 IT_UNSIGNED_INT_5_9_9_9_REV = GL_UNSIGNED_INT_5_9_9_9_REV_EXT,
00610 IT_UNSIGNED_INT_10F_11F_11F_REV = GL_UNSIGNED_INT_10F_11F_11F_REV_EXT,
00611 IT_UNSIGNED_INT_24_8 = GL_UNSIGNED_INT_24_8,
00612 IT_FLOAT_32_UNSIGNED_INT_24_8_REV = GL_FLOAT_32_UNSIGNED_INT_24_8_REV
00613
00614 } EImageType;
00615
00616 typedef enum
00617 {
00618 PT_POINTS = GL_POINTS,
00619 PT_LINES = GL_LINES,
00620 PT_LINE_LOOP = GL_LINE_LOOP,
00621 PT_LINE_STRIP = GL_LINE_STRIP,
00622 PT_TRIANGLES = GL_TRIANGLES,
00623 PT_TRIANGLE_STRIP = GL_TRIANGLE_STRIP,
00624 PT_TRIANGLE_FAN = GL_TRIANGLE_FAN,
00625 PT_QUADS = GL_QUADS,
00626 PT_QUAD_STRIP = GL_QUAD_STRIP,
00627 PT_POLYGON = GL_POLYGON,
00628
00629
00630 PT_LINES_ADJACENCY = GL_LINES_ADJACENCY_EXT,
00631 PT_LINE_STRIP_ADJACENCY = GL_LINE_STRIP_ADJACENCY_EXT,
00632 PT_TRIANGLES_ADJACENCY = GL_TRIANGLES_ADJACENCY_EXT,
00633 PT_TRIANGLE_STRIP_ADJACENCY = GL_TRIANGLE_STRIP_ADJACENCY_EXT,
00634
00635
00636 PT_PATCHES = GL_PATCHES
00637
00638 } EPrimitiveType;
00639
00640 typedef enum
00641 {
00642 PF_FRONT=GL_FRONT,
00643 PF_BACK=GL_BACK,
00644 PF_FRONT_AND_BACK=GL_FRONT_AND_BACK
00645 } EPolygonFace;
00646
00647 typedef enum
00648 {
00649 HM_FASTEST=GL_FASTEST,
00650 HM_NICEST=GL_NICEST,
00651 HM_DONT_CARE=GL_DONT_CARE
00652 } EHintMode;
00653
00654 typedef enum
00655 {
00656 FF_CW=GL_CW,
00657 FF_CCW=GL_CCW
00658 } EFrontFace;
00659
00660 typedef enum
00661 {
00662 FU_NEVER=GL_NEVER,
00663 FU_LESS=GL_LESS,
00664 FU_EQUAL=GL_EQUAL,
00665 FU_LEQUAL=GL_LEQUAL,
00666 FU_GREATER=GL_GREATER,
00667 FU_NOTEQUAL=GL_NOTEQUAL,
00668 FU_GEQUAL=GL_GEQUAL,
00669 FU_ALWAYS=GL_ALWAYS
00670 } EFunction;
00671
00672 typedef enum
00673 {
00674 PM_FILL=GL_FILL,
00675 PM_LINE=GL_LINE,
00676 PM_POINT=GL_POINT
00677 } EPolygonMode;
00678
00679 typedef enum
00680 {
00681 SM_FLAT=GL_FLAT,
00682 SM_SMOOTH=GL_SMOOTH
00683 } EShadeModel;
00684
00685 typedef enum
00686 {
00687 BE_FUNC_ADD=GL_FUNC_ADD,
00688 BE_FUNC_SUBTRACT=GL_FUNC_SUBTRACT,
00689 BE_FUNC_REVERSE_SUBTRACT=GL_FUNC_REVERSE_SUBTRACT,
00690 BE_MIN=GL_MIN,
00691 BE_MAX=GL_MAX
00692 } EBlendEquation;
00693
00694 typedef enum
00695 {
00696 CM_EMISSION=GL_EMISSION,
00697 CM_AMBIENT=GL_AMBIENT,
00698 CM_DIFFUSE=GL_DIFFUSE,
00699 CM_SPECULAR=GL_SPECULAR,
00700 CM_AMBIENT_AND_DIFFUSE=GL_AMBIENT_AND_DIFFUSE
00701 } EColorMaterial;
00702
00703 typedef enum
00704 {
00705 CC_SEPARATE_SPECULAR_COLOR=GL_SEPARATE_SPECULAR_COLOR,
00706 CC_SINGLE_COLOR=GL_SINGLE_COLOR
00707 } EColorControl;
00708
00709 typedef enum
00710 {
00711 FM_LINEAR=GL_LINEAR,
00712 FM_EXP=GL_EXP,
00713 FM_EXP2=GL_EXP2
00714 } EFogMode;
00715
00716 typedef enum
00717 {
00718 LO_CLEAR=GL_CLEAR,
00719 LO_SET=GL_SET,
00720 LO_COPY=GL_COPY,
00721 LO_COPY_INVERTED=GL_COPY_INVERTED,
00722 LO_NOOP=GL_NOOP,
00723 LO_INVERT=GL_INVERT,
00724 LO_AND=GL_AND,
00725 LO_NAND=GL_NAND,
00726 LO_OR=GL_OR,
00727 LO_NOR=GL_NOR,
00728 LO_XOR=GL_XOR,
00729 LO_EQUIV=GL_EQUIV,
00730 LO_AND_REVERSE=GL_AND_REVERSE,
00731 LO_AND_INVERTED=GL_AND_INVERTED,
00732 LO_OR_REVERSE=GL_OR_REVERSE,
00733 LO_OR_INVERTED=GL_OR_INVERTED
00734 } ELogicOp;
00735
00736 typedef enum
00737 {
00738 SO_KEEP=GL_KEEP,
00739 SO_ZERO=GL_ZERO,
00740 SO_REPLACE=GL_REPLACE,
00741 SO_INCR=GL_INCR,
00742 SO_INCR_WRAP=GL_INCR_WRAP,
00743 SO_DECR=GL_DECR,
00744 SO_DECR_WRAP=GL_DECR_WRAP,
00745 SO_INVERT=GL_INVERT
00746 } EStencilOp;
00747
00748 typedef enum
00749 {
00750 TPF_NEAREST=GL_NEAREST,
00751 TPF_LINEAR=GL_LINEAR,
00752 TPF_NEAREST_MIPMAP_NEAREST=GL_NEAREST_MIPMAP_NEAREST,
00753 TPF_LINEAR_MIPMAP_NEAREST=GL_LINEAR_MIPMAP_NEAREST,
00754 TPF_NEAREST_MIPMAP_LINEAR=GL_NEAREST_MIPMAP_LINEAR,
00755 TPF_LINEAR_MIPMAP_LINEAR=GL_LINEAR_MIPMAP_LINEAR
00756 } ETexParamFilter;
00757
00758 typedef enum
00759 {
00760 TPW_CLAMP = GL_CLAMP,
00761 TPW_CLAMP_TO_BORDER = GL_CLAMP_TO_BORDER,
00762 TPW_CLAMP_TO_EDGE = GL_CLAMP_TO_EDGE,
00763 TPW_MIRRORED_REPEAT = GL_MIRRORED_REPEAT,
00764 TPW_REPEAT = GL_REPEAT
00765 } ETexParamWrap;
00766
00767 typedef enum
00768 {
00769 TEM_DECAL=GL_DECAL,
00770 TEM_MODULATE=GL_MODULATE,
00771 TEM_ADD=GL_ADD,
00772 TEM_BLEND=GL_BLEND,
00773 TEM_REPLACE=GL_REPLACE,
00774 TEM_COMBINE=GL_COMBINE,
00775 TEM_ADD_SIGN=GL_ADD_SIGNED,
00776 TEM_INTERPOLATE=GL_INTERPOLATE,
00777 TEM_SUBTRACT=GL_SUBTRACT,
00778 TEM_DOT3_RGB=GL_DOT3_RGB,
00779 TEM_DOT3_RGBA=GL_DOT3_RGBA
00780 } ETexEnvMode;
00781
00782 typedef enum
00783 {
00784 TES_TEXTURE=GL_TEXTURE,
00785 TES_TEXTURE0=GL_TEXTURE0,
00786 TES_TEXTURE1=GL_TEXTURE1,
00787 TES_TEXTURE2=GL_TEXTURE2,
00788 TES_TEXTURE3=GL_TEXTURE3,
00789 TES_TEXTURE4=GL_TEXTURE4,
00790 TES_TEXTURE5=GL_TEXTURE5,
00791 TES_TEXTURE6=GL_TEXTURE6,
00792 TES_TEXTURE7=GL_TEXTURE7,
00793 TES_CONSTANT=GL_CONSTANT,
00794 TES_PRIMARY_COLOR=GL_PRIMARY_COLOR,
00795 TES_PREVIOUS=GL_PREVIOUS
00796 } ETexEnvSource;
00797
00798 typedef enum
00799 {
00800 TEO_SRC_COLOR=GL_SRC_COLOR,
00801 TEO_ONE_MINUS_SRC_COLOR=GL_ONE_MINUS_SRC_COLOR,
00802 TEO_SRC_ALPHA=GL_SRC_ALPHA,
00803 TEO_ONE_MINUS_SRC_ALPHA=GL_ONE_MINUS_SRC_ALPHA
00804 } ETexEnvOperand;
00805
00807 typedef enum
00808 {
00809 TGM_DISABLED = 0,
00810 TGM_EYE_LINEAR=GL_EYE_LINEAR,
00811 TGM_OBJECT_LINEAR=GL_OBJECT_LINEAR,
00812 TGM_SPHERE_MAP=GL_SPHERE_MAP,
00813 TGM_REFLECTION_MAP=GL_REFLECTION_MAP,
00814 TGM_NORMAL_MAP=GL_NORMAL_MAP
00815 } ETexGenMode;
00816
00818 typedef enum
00819 {
00820 EN_ALPHA_TEST,
00821 EN_BLEND,
00822 EN_COLOR_LOGIC_OP,
00823 EN_LIGHTING,
00824 EN_COLOR_SUM,
00825 EN_CULL_FACE,
00826 EN_DEPTH_TEST,
00827 EN_FOG,
00828 EN_LINE_SMOOTH,
00829 EN_LINE_STIPPLE,
00830 EN_POLYGON_STIPPLE,
00831 EN_NORMALIZE,
00832 EN_POINT_SMOOTH,
00833 EN_POINT_SPRITE,
00834 EN_POLYGON_SMOOTH,
00835 EN_POLYGON_OFFSET_FILL,
00836 EN_POLYGON_OFFSET_LINE,
00837 EN_POLYGON_OFFSET_POINT,
00838 EN_RESCALE_NORMAL,
00839 EN_STENCIL_TEST,
00840 EN_VERTEX_PROGRAM_POINT_SIZE,
00841 EN_VERTEX_PROGRAM_TWO_SIDE,
00842
00843
00844 EN_TEXTURE_CUBE_MAP_SEAMLESS,
00845 EN_GL_CLIP_DISTANCE0,
00846 EN_GL_CLIP_DISTANCE1,
00847 EN_GL_CLIP_DISTANCE2,
00848 EN_GL_CLIP_DISTANCE3,
00849 EN_GL_CLIP_DISTANCE4,
00850 EN_GL_CLIP_DISTANCE5,
00851
00852
00853 EN_SAMPLE_ALPHA_TO_COVERAGE,
00854 EN_SAMPLE_ALPHA_TO_ONE,
00855 EN_SAMPLE_COVERAGE,
00856
00857 EN_EnableCount,
00858
00859 EN_UnknownEnable
00860
00861 } EEnable;
00862
00863 typedef enum
00864 {
00865 BU_STREAM_DRAW = GL_STREAM_DRAW,
00866 BU_STREAM_READ = GL_STREAM_READ,
00867 BU_STREAM_COPY = GL_STREAM_COPY,
00868 BU_STATIC_DRAW = GL_STATIC_DRAW,
00869 BU_STATIC_READ = GL_STATIC_READ,
00870 BU_STATIC_COPY = GL_STATIC_COPY,
00871 BU_DYNAMIC_DRAW = GL_DYNAMIC_DRAW,
00872 BU_DYNAMIC_READ = GL_DYNAMIC_READ,
00873 BU_DYNAMIC_COPY = GL_DYNAMIC_COPY
00874 } EGLBufferUsage;
00875
00876 typedef enum
00877 {
00878 GBA_READ_ONLY = GL_READ_ONLY,
00879 GBA_WRITE_ONLY = GL_WRITE_ONLY,
00880 GBA_READ_WRITE = GL_READ_WRITE
00881 } EGLBufferAccess;
00882
00883 typedef enum
00884 {
00885 AlignLeft = 1,
00886 AlignHCenter = 2,
00887 AlignRight = 4,
00888 AlignTop = 8,
00889 AlignVCenter = 16,
00890 AlignBottom = 32
00891 } EAlign;
00892
00893 typedef enum
00894 {
00895 TextAlignLeft,
00896 TextAlignRight,
00897 TextAlignCenter,
00898 TextAlignJustify,
00899 } ETextAlign;
00900
00901 typedef enum
00902 {
00903 Text2D = 1,
00904 Text3D = 2
00905 } ETextMode;
00906
00907 typedef enum
00908 {
00909 LeftToRightText,
00910 RightToLeftText,
00911 TopToBottomText
00912 } ETextLayout;
00913
00914 typedef enum
00915 {
00916 NeverDepthSort,
00917 AlwaysDepthSort,
00918 AlphaDepthSort
00919 } EDepthSortMode;
00920
00921 typedef enum
00922 {
00923 ID_None,
00924 ID_1D,
00925 ID_2D,
00926 ID_3D,
00927 ID_Cubemap,
00928 ID_Error
00929 } EImageDimension;
00930
00931 typedef enum
00932 {
00933 ST_RenderStates = 1,
00934 ST_Enables = 2,
00935 ST_TextureUnits = 4,
00936 ST_Lights = 8,
00937 ST_ClipPlanes = 16
00938 } EStateType;
00939
00940 typedef enum
00941 {
00942 RS_AlphaFunc,
00943 RS_BlendColor,
00944 RS_BlendEquation,
00945 RS_BlendFunc,
00946 RS_ColorMask,
00947 RS_CullFace,
00948 RS_DepthFunc,
00949 RS_DepthMask,
00950 RS_DepthRange,
00951 RS_Fog,
00952 RS_FrontFace,
00953 RS_PolygonMode,
00954 RS_Hint,
00955 RS_LightModel,
00956 RS_LineStipple,
00957 RS_LineWidth,
00958 RS_LogicOp,
00959 RS_Material,
00960 RS_PixelTransfer,
00961 RS_PointParameter,
00962 RS_PointSize,
00963 RS_PolygonOffset,
00964 RS_PolygonStipple,
00965 RS_SampleCoverage,
00966 RS_ShadeModel,
00967 RS_StencilFunc,
00968 RS_StencilMask,
00969 RS_StencilOp,
00970 RS_GLSLProgram,
00971
00972 RS_Light0,
00973 RS_Light1,
00974 RS_Light2,
00975 RS_Light3,
00976 RS_Light4,
00977 RS_Light5,
00978 RS_Light6,
00979 RS_Light7,
00980
00981 RS_ClipPlane0,
00982 RS_ClipPlane1,
00983 RS_ClipPlane2,
00984 RS_ClipPlane3,
00985 RS_ClipPlane4,
00986 RS_ClipPlane5,
00987
00988 RS_TextureUnit0,
00989 RS_TextureUnit1 = RS_TextureUnit0 + 1,
00990 RS_TextureUnit2 = RS_TextureUnit0 + 2,
00991 RS_TextureUnit3 = RS_TextureUnit0 + 3,
00992 RS_TextureUnit4 = RS_TextureUnit0 + 4,
00993 RS_TextureUnit5 = RS_TextureUnit0 + 5,
00994 RS_TextureUnit6 = RS_TextureUnit0 + 6,
00995 RS_TextureUnit7 = RS_TextureUnit0 + 7,
00996 RS_TextureUnit8 = RS_TextureUnit0 + 8,
00997 RS_TextureUnit9 = RS_TextureUnit0 + 9,
00998 RS_TextureUnit10 = RS_TextureUnit0 + 10,
00999 RS_TextureUnit11 = RS_TextureUnit0 + 11,
01000 RS_TextureUnit12 = RS_TextureUnit0 + 12,
01001 RS_TextureUnit13 = RS_TextureUnit0 + 13,
01002 RS_TextureUnit14 = RS_TextureUnit0 + 14,
01003 RS_TextureUnit15 = RS_TextureUnit0 + 15,
01004
01005
01006 RS_TexGen0 = RS_TextureUnit0 + VL_MAX_TEXTURE_UNITS * 1,
01007 RS_TexGen1 = RS_TexGen0 + 1,
01008 RS_TexGen2 = RS_TexGen0 + 2,
01009 RS_TexGen3 = RS_TexGen0 + 3,
01010 RS_TexGen4 = RS_TexGen0 + 4,
01011 RS_TexGen5 = RS_TexGen0 + 5,
01012 RS_TexGen6 = RS_TexGen0 + 6,
01013 RS_TexGen7 = RS_TexGen0 + 7,
01014 RS_TexGen8 = RS_TexGen0 + 8,
01015 RS_TexGen9 = RS_TexGen0 + 9,
01016 RS_TexGen10 = RS_TexGen0 + 10,
01017 RS_TexGen11 = RS_TexGen0 + 11,
01018 RS_TexGen12 = RS_TexGen0 + 12,
01019 RS_TexGen13 = RS_TexGen0 + 13,
01020 RS_TexGen14 = RS_TexGen0 + 14,
01021 RS_TexGen15 = RS_TexGen0 + 15,
01022
01023
01024 RS_TexEnv0 = RS_TextureUnit0 + VL_MAX_TEXTURE_UNITS * 2,
01025 RS_TexEnv1 = RS_TexEnv0 + 1,
01026 RS_TexEnv2 = RS_TexEnv0 + 2,
01027 RS_TexEnv3 = RS_TexEnv0 + 3,
01028 RS_TexEnv4 = RS_TexEnv0 + 4,
01029 RS_TexEnv5 = RS_TexEnv0 + 5,
01030 RS_TexEnv6 = RS_TexEnv0 + 6,
01031 RS_TexEnv7 = RS_TexEnv0 + 7,
01032 RS_TexEnv8 = RS_TexEnv0 + 8,
01033 RS_TexEnv9 = RS_TexEnv0 + 9,
01034 RS_TexEnv10 = RS_TexEnv0 + 10,
01035 RS_TexEnv11 = RS_TexEnv0 + 11,
01036 RS_TexEnv12 = RS_TexEnv0 + 12,
01037 RS_TexEnv13 = RS_TexEnv0 + 13,
01038 RS_TexEnv14 = RS_TexEnv0 + 14,
01039 RS_TexEnv15 = RS_TexEnv0 + 15,
01040
01041
01042 RS_TextureMatrix0 = RS_TextureUnit0 + VL_MAX_TEXTURE_UNITS * 3,
01043 RS_TextureMatrix1 = RS_TextureMatrix0 + 1,
01044 RS_TextureMatrix2 = RS_TextureMatrix0 + 2,
01045 RS_TextureMatrix3 = RS_TextureMatrix0 + 3,
01046 RS_TextureMatrix4 = RS_TextureMatrix0 + 4,
01047 RS_TextureMatrix5 = RS_TextureMatrix0 + 5,
01048 RS_TextureMatrix6 = RS_TextureMatrix0 + 6,
01049 RS_TextureMatrix7 = RS_TextureMatrix0 + 7,
01050 RS_TextureMatrix8 = RS_TextureMatrix0 + 8,
01051 RS_TextureMatrix9 = RS_TextureMatrix0 + 9,
01052 RS_TextureMatrix10 = RS_TextureMatrix0 + 10,
01053 RS_TextureMatrix11 = RS_TextureMatrix0 + 11,
01054 RS_TextureMatrix12 = RS_TextureMatrix0 + 12,
01055 RS_TextureMatrix13 = RS_TextureMatrix0 + 13,
01056 RS_TextureMatrix14 = RS_TextureMatrix0 + 14,
01057 RS_TextureMatrix15 = RS_TextureMatrix0 + 15,
01058
01059
01060 RS_COUNT = RS_TextureUnit0 + VL_MAX_TEXTURE_UNITS * 4,
01061 RS_NONE,
01062
01063 } ERenderState;
01064
01065 typedef enum
01066 {
01067 GIT_POINTS = GL_POINTS,
01068 GIT_LINES = GL_LINES,
01069 GIT_LINES_ADJACENCY = GL_LINES_ADJACENCY_EXT,
01070 GIT_TRIANGLES = GL_TRIANGLES,
01071 GIT_TRIANGLES_ADJACENCY = GL_TRIANGLES_ADJACENCY_EXT
01072 } EGeometryInputType;
01073
01074 typedef enum
01075 {
01076 GOT_POINTS = GL_POINTS,
01077 GOT_LINE_STRIP = GL_LINE_STRIP,
01078 GOT_TRIANGLE_STRIP = GL_TRIANGLE_STRIP,
01079 } EGeometryOutputType;
01080
01081 typedef enum
01082 {
01083 BB_COLOR_BUFFER_BIT = GL_COLOR_BUFFER_BIT,
01084 BB_DEPTH_BUFFER_BIT = GL_DEPTH_BUFFER_BIT,
01085 BB_STENCIL_BUFFER_BIT = GL_STENCIL_BUFFER_BIT
01086 } EBufferBits;
01087
01088 typedef enum
01089 {
01090 BT_AxisAlignedBillboard = 1,
01091 BT_SphericalBillboard = 2
01092 } EBillboardType;
01093
01094 typedef enum
01095 {
01096 SM_SortBackToFront,
01097 SM_SortFrontToBack
01098 } ESortMode;
01099
01100 typedef enum
01101 {
01102 GM_GetOrCreate,
01103 GM_DontCreate
01104 } EGetMode;
01105
01106 typedef enum
01107 {
01108 SE_Unknown,
01109 SE_ASCII,
01110 SE_UTF8,
01111 SE_UTF16_BE,
01112 SE_UTF16_LE,
01113 SE_UTF32_BE,
01114 SE_UTF32_LE,
01115 SE_LATIN1,
01116 } EStringEncoding;
01117
01118 typedef enum
01119 {
01120 OM_ReadOnly,
01121 OM_WriteOnly,
01122 } EOpenMode;
01123
01124 typedef enum
01125 {
01126 Key_None = 0,
01127
01128
01129
01130 Key_0,
01131 Key_1,
01132 Key_2,
01133 Key_3,
01134 Key_4,
01135 Key_5,
01136 Key_6,
01137 Key_7,
01138 Key_8,
01139 Key_9,
01140
01141 Key_A,
01142 Key_B,
01143 Key_C,
01144 Key_D,
01145 Key_E,
01146 Key_F,
01147 Key_G,
01148 Key_H,
01149 Key_I,
01150 Key_J,
01151 Key_K,
01152 Key_L,
01153 Key_M,
01154 Key_N,
01155 Key_O,
01156 Key_P,
01157 Key_Q,
01158 Key_R,
01159 Key_S,
01160 Key_T,
01161 Key_U,
01162 Key_V,
01163 Key_W,
01164 Key_X,
01165 Key_Y,
01166 Key_Z,
01167
01168 Key_Return,
01169 Key_BackSpace,
01170 Key_Tab,
01171 Key_Space,
01172
01173 Key_Clear,
01174 Key_Escape,
01175 Key_Exclam,
01176 Key_QuoteDbl,
01177 Key_Hash,
01178 Key_Dollar,
01179 Key_Ampersand,
01180 Key_Quote,
01181 Key_LeftParen,
01182 Key_RightParen,
01183 Key_Asterisk,
01184 Key_Plus,
01185 Key_Comma,
01186 Key_Minus,
01187 Key_Period,
01188 Key_Slash,
01189 Key_Colon,
01190 Key_Semicolon,
01191 Key_Less,
01192 Key_Equal,
01193 Key_Greater,
01194 Key_Question,
01195 Key_At,
01196 Key_LeftBracket,
01197 Key_BackSlash,
01198 Key_RightBracket,
01199 Key_Caret,
01200 Key_Underscore,
01201 Key_QuoteLeft,
01202
01203
01204
01205 Key_Ctrl,
01206 Key_LeftCtrl,
01207 Key_RightCtrl,
01208 Key_Alt,
01209 Key_LeftAlt,
01210 Key_RightAlt,
01211 Key_Shift,
01212 Key_LeftShift,
01213 Key_RightShift,
01214 Key_Insert,
01215 Key_Delete,
01216 Key_Home,
01217 Key_End,
01218 Key_Print,
01219 Key_Pause,
01220 Key_PageUp,
01221 Key_PageDown,
01222 Key_Left,
01223 Key_Right,
01224 Key_Up,
01225 Key_Down,
01226 Key_F1,
01227 Key_F2,
01228 Key_F3,
01229 Key_F4,
01230 Key_F5,
01231 Key_F6,
01232 Key_F7,
01233 Key_F8,
01234 Key_F9,
01235 Key_F10,
01236 Key_F11,
01237 Key_F12,
01238
01239 Key_Unknown,
01240
01241 Key_NumberOfKeys
01242
01243 } EKey;
01244
01245 typedef enum
01246 {
01247 NoButton = 0,
01248
01249 LeftButton = 1,
01250 RightButton = 2,
01251 MiddleButton = 4,
01252
01253 UnknownButton,
01254 } EMouseButton;
01255
01256 typedef enum
01257 {
01258 IN_Local = 0x00,
01259 IN_Propagate = 0x01,
01260 IN_Sticky = 0x04,
01261 IN_Propagate_Overrides_Sticky = 0x01 | 0x02 | 0x04,
01262 IN_Propagate_Overrides = 0x01 | 0x02,
01263 IN_Propagate_Sticky = 0x01 | 0x04,
01264 } EInheritance;
01265
01266 typedef enum
01267 {
01268 ST_VERTEX_SHADER = GL_VERTEX_SHADER,
01269 ST_TESS_CONTROL_SHADER = GL_TESS_CONTROL_SHADER,
01270 ST_TESS_EVALUATION_SHADER = GL_TESS_EVALUATION_SHADER,
01271 ST_GEOMETRY_SHADER = GL_GEOMETRY_SHADER,
01272 ST_FRAGMENT_SHADER = GL_FRAGMENT_SHADER
01273 } EShaderType;
01274
01275 typedef enum
01276 {
01277 TW_TESS_WINDING_ODD = GLU_TESS_WINDING_ODD,
01278 TW_TESS_WINDING_NONZERO = GLU_TESS_WINDING_NONZERO,
01279 TW_TESS_WINDING_POSITIVE = GLU_TESS_WINDING_POSITIVE,
01280 TW_TESS_WINDING_NEGATIVE = GLU_TESS_WINDING_NEGATIVE,
01281 TW_TESS_WINDING_ABS_GEQ_TWO = GLU_TESS_WINDING_ABS_GEQ_TWO
01282 } ETessellationWinding;
01283
01284 typedef enum {
01285 VEL_VERBOSITY_SILENT,
01286 VEL_VERBOSITY_ERROR,
01287 VEL_VERBOSITY_NORMAL,
01288 VEL_VERBOSITY_DEBUG
01289 } EVerbosityLevel;
01290
01291
01292 typedef enum
01293 {
01294 UT_NONE = 0x0,
01295
01296 UT_Float,
01297 UT_Float2,
01298 UT_Float3,
01299 UT_Float4,
01300
01301 UT_Double,
01302 UT_Double2,
01303 UT_Double3,
01304 UT_Double4,
01305
01306 UT_Int,
01307 UT_Int2,
01308 UT_Int3,
01309 UT_Int4,
01310
01311 UT_UInt,
01312 UT_UInt2,
01313 UT_UInt3,
01314 UT_UInt4,
01315
01316 UT_Mat2F,
01317 UT_Mat3F,
01318 UT_Mat4F,
01319
01320 UT_Mat2x3F,
01321 UT_Mat3x2F,
01322 UT_Mat2x4F,
01323 UT_Mat4x2F,
01324 UT_Mat3x4F,
01325 UT_Mat4x3F,
01326
01327 UT_Mat2D,
01328 UT_Mat3D,
01329 UT_Mat4D,
01330
01331 UT_Mat2x3D,
01332 UT_Mat3x2D,
01333 UT_Mat2x4D,
01334 UT_Mat4x2D,
01335 UT_Mat3x4D,
01336 UT_Mat4x3D,
01337 } EUniformType;
01338
01339 typedef enum
01340 {
01341 PPCO_LOWER_LEFT = GL_LOWER_LEFT,
01342 PPCO_UPPER_LEFT = GL_UPPER_LEFT
01343 } EPointSpriteCoordOrigin;
01344
01347 typedef enum
01348 {
01349 VAB_NORMAL,
01350
01351
01352 VAB_PURE_INTEGER,
01353
01354
01355 VAB_PURE_DOUBLE,
01356
01357 } EVertexAttribBehavior;
01358 }
01359
01360
01361 #endif