Visualization Library v1.0.3A lightweight C++ OpenGL middleware for 2D/3D graphics |
[Download] [Tutorials] [All Classes] [Grouped Classes] |
00001 /**************************************************************************************/ 00002 /* */ 00003 /* Visualization Library */ 00004 /* http://visualizationlibrary.org */ 00005 /* */ 00006 /* Copyright (c) 2005-2011, Michele Bosi */ 00007 /* All rights reserved. */ 00008 /* */ 00009 /* Redistribution and use in source and binary forms, with or without modification, */ 00010 /* are permitted provided that the following conditions are met: */ 00011 /* */ 00012 /* - Redistributions of source code must retain the above copyright notice, this */ 00013 /* list of conditions and the following disclaimer. */ 00014 /* */ 00015 /* - Redistributions in binary form must reproduce the above copyright notice, this */ 00016 /* list of conditions and the following disclaimer in the documentation and/or */ 00017 /* other materials provided with the distribution. */ 00018 /* */ 00019 /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND */ 00020 /* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED */ 00021 /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE */ 00022 /* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR */ 00023 /* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES */ 00024 /* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; */ 00025 /* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON */ 00026 /* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ 00027 /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */ 00028 /* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ 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 // ARB_texture_float / OpenGL 3 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 // ATI_texture_float (the enums are the same as ARB_texture_float) 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 // EXT_texture_shared_exponent 00118 TF_RGB9_E5_EXT = GL_RGB9_E5_EXT, 00119 00120 // EXT_packed_float 00121 TF_11F_G11F_B10F_EXT = GL_R11F_G11F_B10F_EXT, 00122 00123 // EXT_packed_depth_stencil / GL_ARB_framebuffer_object 00124 TF_DEPTH_STENCIL = GL_DEPTH_STENCIL, 00125 TF_DEPTH24_STENCIL8 = GL_DEPTH24_STENCIL8, 00126 00127 // ARB_depth_buffer_float 00128 TF_DEPTH_COMPONENT32F = GL_DEPTH_COMPONENT32F, 00129 TF_DEPTH32F_STENCIL8 = GL_DEPTH32F_STENCIL8, 00130 00131 // ARB_depth_texture 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 // ARB_texture_compression 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 // 3DFX_texture_compression_FXT1 00146 TF_COMPRESSED_RGB_FXT1_3DFX = GL_COMPRESSED_RGB_FXT1_3DFX, 00147 TF_COMPRESSED_RGBA_FXT1_3DFX = GL_COMPRESSED_RGBA_FXT1_3DFX, 00148 00149 // EXT_texture_compression_s3tc 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 // EXT_texture_compression_latc 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 // EXT_texture_compression_rgtc 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 // EXT_texture_integer 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 // GL_ARB_texture_rg 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 // sRGB OpenGL 2.1 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 // sRGB OpenGL 2.1 / 3.x 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 // GL_EXT_texture_sRGB compressed formats 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 // from table 3.12 opengl api specs 4.1 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 // EXT_packed_depth_stencil / GL_ARB_framebuffer_object 00302 IF_DEPTH_STENCIL = GL_DEPTH_STENCIL, 00303 00304 // compressed formats 00305 // note: with these format the type must be IT_IMPLICIT_TYPE 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 // GL 3.0 (EXT_texture_integer) 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 // EXT_texture_integer 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 // see table 3.12 opengl api specs 4.1 00379 CBF_R8 = GL_R8, 00380 // CBF_R8_SNORM = GL_R8_SNORM, 00381 CBF_R16 = GL_R16, 00382 // CBF_R16_SNORM = GL_R16_SNORM, 00383 CBF_RG8 = GL_RG8, 00384 // CBF_RG8_SNORM = GL_RG8_SNORM, 00385 CBF_RG16 = GL_RG16, 00386 // CBF_RG16_SNORM = GL_RG16_SNORM, 00387 // CBF_R3_G3_B2 = GL_R3_G3_B2, 00388 // CBF_RGB4 = GL_RGB4, 00389 // CBF_RGB5 = GL_RGB5, 00390 // CBF_RGB8 = GL_RGB8, 00391 // CBF_RGB8_SNORM = GL_RGB8_SNORM, 00392 // CBF_RGB10 = GL_RGB10, 00393 // CBF_RGB12 = GL_RGB12, 00394 // CBF_RGB16 = GL_RGB16, 00395 // CBF_RGB16_SNORM = GL_RGB16_SNORM, 00396 // CBF_RGBA2 = GL_RGBA2, 00397 // CBF_RGBA4 = GL_RGBA4, 00398 // CBF_RGB5_A1 = GL_RGB5_A1, 00399 CBF_RGBA8 = GL_RGBA8, 00400 // CBF_RGBA8_SNORM = GL_RGBA8_SNORM, 00401 CBF_RGB10_A2 = GL_RGB10_A2, 00402 CBF_RGB10_A2UI = GL_RGB10_A2UI, 00403 // CBF_RGBA12 = GL_RGBA12, 00404 CBF_RGBA16 = GL_RGBA16, 00405 // CBF_RGBA16_SNORM = GL_RGBA16_SNORM, 00406 // CBF_SRGB8 = GL_SRGB8, 00407 CBF_SRGB8_ALPHA8 = GL_SRGB8_ALPHA8, 00408 CBF_R16F = GL_R16F, 00409 CBF_RG16F = GL_RG16F, 00410 // CBF_RGB16F = GL_RGB16F, 00411 CBF_RGBA16F = GL_RGBA16F, 00412 CBF_R32F = GL_R32F, 00413 CBF_RG32F = GL_RG32F, 00414 // CBF_RGB32F = GL_RGB32F, 00415 CBF_RGBA32F = GL_RGBA32F, 00416 CBF_R11F_G11F_B10F = GL_R11F_G11F_B10F, 00417 // CBF_RGB9_E5 = GL_RGB9_E5, 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 // CBF_RGB8I = GL_RGB8I, 00431 // CBF_RGB8UI = GL_RGB8UI, 00432 // CBF_RGB16I = GL_RGB16I, 00433 // CBF_RGB16UI = GL_RGB16UI, 00434 // CBF_RGB32I = GL_RGB32I, 00435 // CBF_RGB32UI = GL_RGB32UI, 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, /* EXT_texture_shared_exponent, supports only GL_RGB */ 00610 IT_UNSIGNED_INT_10F_11F_11F_REV = GL_UNSIGNED_INT_10F_11F_11F_REV_EXT, /* EXT_packed_float, supports only GL_RGB */ 00611 IT_UNSIGNED_INT_24_8 = GL_UNSIGNED_INT_24_8, /* EXT_packed_depth_stencil/GL_ARB_framebuffer_object */ 00612 IT_FLOAT_32_UNSIGNED_INT_24_8_REV = GL_FLOAT_32_UNSIGNED_INT_24_8_REV /* ARB_depth_buffer_float */ 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 00622 PT_LINE_STRIP = GL_LINE_STRIP, 00623 PT_TRIANGLES = GL_TRIANGLES, 00624 PT_TRIANGLE_STRIP = GL_TRIANGLE_STRIP, 00625 PT_TRIANGLE_FAN = GL_TRIANGLE_FAN, 00626 PT_QUADS = GL_QUADS, 00627 PT_QUAD_STRIP = GL_QUAD_STRIP, 00628 PT_POLYGON = GL_POLYGON, 00629 00630 // geometry shader 00631 PT_LINES_ADJACENCY = GL_LINES_ADJACENCY_EXT, 00632 PT_LINE_STRIP_ADJACENCY = GL_LINE_STRIP_ADJACENCY_EXT, 00633 PT_TRIANGLES_ADJACENCY = GL_TRIANGLES_ADJACENCY_EXT, 00634 PT_TRIANGLE_STRIP_ADJACENCY = GL_TRIANGLE_STRIP_ADJACENCY_EXT, 00635 00636 // GL_ARB_tessellation_shader 00637 PT_PATCHES = GL_PATCHES, 00638 00639 PT_UNKNOWN, 00640 00641 } EPrimitiveType; 00642 00643 typedef enum 00644 { 00645 PF_FRONT=GL_FRONT, 00646 PF_BACK=GL_BACK, 00647 PF_FRONT_AND_BACK=GL_FRONT_AND_BACK 00648 } EPolygonFace; 00649 00650 typedef enum 00651 { 00652 HM_FASTEST=GL_FASTEST, 00653 HM_NICEST=GL_NICEST, 00654 HM_DONT_CARE=GL_DONT_CARE 00655 } EHintMode; 00656 00657 typedef enum 00658 { 00659 FF_CW=GL_CW, 00660 FF_CCW=GL_CCW 00661 } EFrontFace; 00662 00663 typedef enum 00664 { 00665 FU_NEVER=GL_NEVER, 00666 FU_LESS=GL_LESS, 00667 FU_EQUAL=GL_EQUAL, 00668 FU_LEQUAL=GL_LEQUAL, 00669 FU_GREATER=GL_GREATER, 00670 FU_NOTEQUAL=GL_NOTEQUAL, 00671 FU_GEQUAL=GL_GEQUAL, 00672 FU_ALWAYS=GL_ALWAYS 00673 } EFunction; 00674 00675 typedef enum 00676 { 00677 PM_FILL=GL_FILL, 00678 PM_LINE=GL_LINE, 00679 PM_POINT=GL_POINT 00680 } EPolygonMode; 00681 00682 typedef enum 00683 { 00684 SM_FLAT=GL_FLAT, 00685 SM_SMOOTH=GL_SMOOTH 00686 } EShadeModel; 00687 00688 typedef enum 00689 { 00690 BE_FUNC_ADD=GL_FUNC_ADD, 00691 BE_FUNC_SUBTRACT=GL_FUNC_SUBTRACT, 00692 BE_FUNC_REVERSE_SUBTRACT=GL_FUNC_REVERSE_SUBTRACT, 00693 BE_MIN=GL_MIN, 00694 BE_MAX=GL_MAX 00695 } EBlendEquation; 00696 00697 typedef enum 00698 { 00699 CM_EMISSION=GL_EMISSION, 00700 CM_AMBIENT=GL_AMBIENT, 00701 CM_DIFFUSE=GL_DIFFUSE, 00702 CM_SPECULAR=GL_SPECULAR, 00703 CM_AMBIENT_AND_DIFFUSE=GL_AMBIENT_AND_DIFFUSE 00704 } EColorMaterial; 00705 00706 typedef enum 00707 { 00708 CC_SEPARATE_SPECULAR_COLOR=GL_SEPARATE_SPECULAR_COLOR, 00709 CC_SINGLE_COLOR=GL_SINGLE_COLOR 00710 } EColorControl; 00711 00712 typedef enum 00713 { 00714 FM_LINEAR=GL_LINEAR, 00715 FM_EXP=GL_EXP, 00716 FM_EXP2=GL_EXP2 00717 } EFogMode; 00718 00719 typedef enum 00720 { 00721 LO_CLEAR=GL_CLEAR, 00722 LO_SET=GL_SET, 00723 LO_COPY=GL_COPY, 00724 LO_COPY_INVERTED=GL_COPY_INVERTED, 00725 LO_NOOP=GL_NOOP, 00726 LO_INVERT=GL_INVERT, 00727 LO_AND=GL_AND, 00728 LO_NAND=GL_NAND, 00729 LO_OR=GL_OR, 00730 LO_NOR=GL_NOR, 00731 LO_XOR=GL_XOR, 00732 LO_EQUIV=GL_EQUIV, 00733 LO_AND_REVERSE=GL_AND_REVERSE, 00734 LO_AND_INVERTED=GL_AND_INVERTED, 00735 LO_OR_REVERSE=GL_OR_REVERSE, 00736 LO_OR_INVERTED=GL_OR_INVERTED 00737 } ELogicOp; 00738 00739 typedef enum 00740 { 00741 SO_KEEP=GL_KEEP, 00742 SO_ZERO=GL_ZERO, 00743 SO_REPLACE=GL_REPLACE, 00744 SO_INCR=GL_INCR, 00745 SO_INCR_WRAP=GL_INCR_WRAP, 00746 SO_DECR=GL_DECR, 00747 SO_DECR_WRAP=GL_DECR_WRAP, 00748 SO_INVERT=GL_INVERT 00749 } EStencilOp; 00750 00751 typedef enum 00752 { 00753 TPF_NEAREST=GL_NEAREST, 00754 TPF_LINEAR=GL_LINEAR, 00755 TPF_NEAREST_MIPMAP_NEAREST=GL_NEAREST_MIPMAP_NEAREST, 00756 TPF_LINEAR_MIPMAP_NEAREST=GL_LINEAR_MIPMAP_NEAREST, 00757 TPF_NEAREST_MIPMAP_LINEAR=GL_NEAREST_MIPMAP_LINEAR, 00758 TPF_LINEAR_MIPMAP_LINEAR=GL_LINEAR_MIPMAP_LINEAR 00759 } ETexParamFilter; 00760 00761 typedef enum 00762 { 00763 TPW_CLAMP = GL_CLAMP, 00764 TPW_CLAMP_TO_BORDER = GL_CLAMP_TO_BORDER, 00765 TPW_CLAMP_TO_EDGE = GL_CLAMP_TO_EDGE, 00766 TPW_MIRRORED_REPEAT = GL_MIRRORED_REPEAT, 00767 TPW_REPEAT = GL_REPEAT 00768 } ETexParamWrap; 00769 00770 typedef enum 00771 { 00772 TEM_DECAL=GL_DECAL, 00773 TEM_MODULATE=GL_MODULATE, 00774 TEM_ADD=GL_ADD, 00775 TEM_BLEND=GL_BLEND, 00776 TEM_REPLACE=GL_REPLACE, 00777 TEM_COMBINE=GL_COMBINE, 00778 TEM_ADD_SIGN=GL_ADD_SIGNED, 00779 TEM_INTERPOLATE=GL_INTERPOLATE, 00780 TEM_SUBTRACT=GL_SUBTRACT, 00781 TEM_DOT3_RGB=GL_DOT3_RGB, 00782 TEM_DOT3_RGBA=GL_DOT3_RGBA 00783 } ETexEnvMode; 00784 00785 typedef enum 00786 { 00787 TES_TEXTURE=GL_TEXTURE, 00788 TES_TEXTURE0=GL_TEXTURE0, 00789 TES_TEXTURE1=GL_TEXTURE1, 00790 TES_TEXTURE2=GL_TEXTURE2, 00791 TES_TEXTURE3=GL_TEXTURE3, 00792 TES_TEXTURE4=GL_TEXTURE4, 00793 TES_TEXTURE5=GL_TEXTURE5, 00794 TES_TEXTURE6=GL_TEXTURE6, 00795 TES_TEXTURE7=GL_TEXTURE7, 00796 TES_CONSTANT=GL_CONSTANT, 00797 TES_PRIMARY_COLOR=GL_PRIMARY_COLOR, 00798 TES_PREVIOUS=GL_PREVIOUS 00799 } ETexEnvSource; 00800 00801 typedef enum 00802 { 00803 TEO_SRC_COLOR=GL_SRC_COLOR, 00804 TEO_ONE_MINUS_SRC_COLOR=GL_ONE_MINUS_SRC_COLOR, 00805 TEO_SRC_ALPHA=GL_SRC_ALPHA, 00806 TEO_ONE_MINUS_SRC_ALPHA=GL_ONE_MINUS_SRC_ALPHA 00807 } ETexEnvOperand; 00808 00810 typedef enum 00811 { 00812 TGM_DISABLED = 0, 00813 TGM_EYE_LINEAR = GL_EYE_LINEAR, 00814 TGM_OBJECT_LINEAR = GL_OBJECT_LINEAR, 00815 TGM_SPHERE_MAP = GL_SPHERE_MAP, 00816 TGM_REFLECTION_MAP = GL_REFLECTION_MAP, 00817 TGM_NORMAL_MAP = GL_NORMAL_MAP 00818 } ETexGenMode; 00819 00821 typedef enum 00822 { 00823 // Common ones 00824 EN_BLEND, 00825 EN_CULL_FACE, 00826 EN_DEPTH_TEST, 00827 EN_STENCIL_TEST, 00828 EN_DITHER, 00829 EN_POLYGON_OFFSET_FILL, 00830 EN_POLYGON_OFFSET_LINE, 00831 EN_POLYGON_OFFSET_POINT, 00832 EN_COLOR_LOGIC_OP, 00833 EN_MULTISAMPLE, 00834 00835 // Smoothing 00836 EN_POINT_SMOOTH, 00837 EN_LINE_SMOOTH, 00838 EN_POLYGON_SMOOTH, 00839 00840 // Stippling 00841 EN_LINE_STIPPLE, 00842 EN_POLYGON_STIPPLE, 00843 00844 // Point sprites 00845 EN_POINT_SPRITE, 00846 EN_PROGRAM_POINT_SIZE, 00847 00848 // Fixed function pipeline 00849 EN_ALPHA_TEST, 00850 EN_LIGHTING, 00851 EN_COLOR_SUM, 00852 EN_FOG, 00853 EN_NORMALIZE, 00854 EN_RESCALE_NORMAL, 00855 00856 // Available only under OpenGL 2.x 00857 EN_VERTEX_PROGRAM_TWO_SIDE, 00858 00859 // OpenGL 3.2 00860 EN_TEXTURE_CUBE_MAP_SEAMLESS, 00861 00862 // OpenGL 3.0 00863 EN_CLIP_DISTANCE0, 00864 EN_CLIP_DISTANCE1, 00865 EN_CLIP_DISTANCE2, 00866 EN_CLIP_DISTANCE3, 00867 EN_CLIP_DISTANCE4, 00868 EN_CLIP_DISTANCE5, 00869 EN_CLIP_DISTANCE6, 00870 EN_CLIP_DISTANCE7, 00871 00872 // Multisampling 00873 EN_SAMPLE_ALPHA_TO_COVERAGE, 00874 EN_SAMPLE_ALPHA_TO_ONE, 00875 EN_SAMPLE_COVERAGE, 00876 00877 EN_EnableCount, 00878 00879 EN_UnknownEnable 00880 00881 } EEnable; 00882 00883 typedef enum 00884 { 00885 BU_STREAM_DRAW = GL_STREAM_DRAW, 00886 BU_STREAM_READ = GL_STREAM_READ, 00887 BU_STREAM_COPY = GL_STREAM_COPY, 00888 BU_STATIC_DRAW = GL_STATIC_DRAW, 00889 BU_STATIC_READ = GL_STATIC_READ, 00890 BU_STATIC_COPY = GL_STATIC_COPY, 00891 BU_DYNAMIC_DRAW = GL_DYNAMIC_DRAW, 00892 BU_DYNAMIC_READ = GL_DYNAMIC_READ, 00893 BU_DYNAMIC_COPY = GL_DYNAMIC_COPY 00894 } EBufferObjectUsage; 00895 00896 typedef enum 00897 { 00898 BA_READ_ONLY = GL_READ_ONLY, 00899 BA_WRITE_ONLY = GL_WRITE_ONLY, 00900 BA_READ_WRITE = GL_READ_WRITE 00901 } EBufferObjectAccess; 00902 00903 typedef enum 00904 { 00905 AlignLeft = 1, 00906 AlignHCenter = 2, 00907 AlignRight = 4, 00908 AlignTop = 8, 00909 AlignVCenter = 16, 00910 AlignBottom = 32 00911 } EAlign; 00912 00913 typedef enum 00914 { 00915 TextAlignLeft, 00916 TextAlignRight, 00917 TextAlignCenter, 00918 TextAlignJustify, 00919 } ETextAlign; 00920 00921 typedef enum 00922 { 00923 Text2D = 1, 00924 Text3D = 2 00925 } ETextMode; 00926 00927 typedef enum 00928 { 00929 LeftToRightText, 00930 RightToLeftText, 00931 TopToBottomText 00932 } ETextLayout; 00933 00934 typedef enum 00935 { 00936 NeverDepthSort, 00937 AlwaysDepthSort, 00938 AlphaDepthSort 00939 } EDepthSortMode; 00940 00941 typedef enum 00942 { 00943 ID_None, 00944 ID_1D, 00945 ID_2D, 00946 ID_3D, 00947 ID_Cubemap, 00948 ID_Error 00949 } EImageDimension; 00950 00951 typedef enum 00952 { 00953 ST_RenderStates = 1, 00954 ST_Enables = 2, 00955 ST_TextureSamplers = 4, 00956 ST_Lights = 8, 00957 ST_ClipPlanes = 16 00958 } EStateType; 00959 00960 typedef enum 00961 { 00962 RS_VertexAttrib, 00963 RS_VertexAttrib0 = RS_VertexAttrib, 00964 RS_VertexAttrib1, 00965 RS_VertexAttrib2, 00966 RS_VertexAttrib3, 00967 RS_VertexAttrib4, 00968 RS_VertexAttrib5, 00969 RS_VertexAttrib6, 00970 RS_VertexAttrib7, 00971 00972 RS_AlphaFunc, 00973 RS_BlendColor, 00974 RS_BlendEquation, 00975 RS_BlendFunc, 00976 RS_Color, 00977 RS_ColorMask, 00978 RS_CullFace, 00979 RS_DepthFunc, 00980 RS_DepthMask, 00981 RS_DepthRange, 00982 RS_Fog, 00983 RS_FrontFace, 00984 RS_PolygonMode, 00985 RS_Hint, 00986 RS_LightModel, 00987 RS_LineStipple, 00988 RS_LineWidth, 00989 RS_LogicOp, 00990 RS_Material, 00991 RS_Normal, 00992 RS_PixelTransfer, 00993 RS_PointParameter, 00994 RS_PointSize, 00995 RS_PolygonOffset, 00996 RS_PolygonStipple, 00997 RS_SampleCoverage, 00998 RS_SecondaryColor, 00999 RS_ShadeModel, 01000 RS_StencilFunc, 01001 RS_StencilMask, 01002 RS_StencilOp, 01003 RS_GLSLProgram, 01004 01005 RS_Light, 01006 RS_Light0 = RS_Light, 01007 RS_Light1, 01008 RS_Light2, 01009 RS_Light3, 01010 RS_Light4, 01011 RS_Light5, 01012 RS_Light6, 01013 RS_Light7, 01014 01015 RS_ClipPlane, 01016 RS_ClipPlane0 = RS_ClipPlane, 01017 RS_ClipPlane1, 01018 RS_ClipPlane2, 01019 RS_ClipPlane3, 01020 RS_ClipPlane4, 01021 RS_ClipPlane5, 01022 01023 RS_TextureSampler, 01024 RS_TextureSampler0 = RS_TextureSampler + 0, 01025 RS_TextureSampler1 = RS_TextureSampler + 1, 01026 RS_TextureSampler2 = RS_TextureSampler + 2, 01027 RS_TextureSampler3 = RS_TextureSampler + 3, 01028 RS_TextureSampler4 = RS_TextureSampler + 4, 01029 RS_TextureSampler5 = RS_TextureSampler + 5, 01030 RS_TextureSampler6 = RS_TextureSampler + 6, 01031 RS_TextureSampler7 = RS_TextureSampler + 7, 01032 RS_TextureSampler8 = RS_TextureSampler + 8, 01033 RS_TextureSampler9 = RS_TextureSampler + 9, 01034 RS_TextureSampler10 = RS_TextureSampler + 10, 01035 RS_TextureSampler11 = RS_TextureSampler + 11, 01036 RS_TextureSampler12 = RS_TextureSampler + 12, 01037 RS_TextureSampler13 = RS_TextureSampler + 13, 01038 RS_TextureSampler14 = RS_TextureSampler + 14, 01039 RS_TextureSampler15 = RS_TextureSampler + 15, 01040 /* ... */ 01041 01042 RS_TexGen = RS_TextureSampler + VL_MAX_TEXTURE_UNITS, 01043 RS_TexGen0 = RS_TexGen + 0, 01044 RS_TexGen1 = RS_TexGen + 1, 01045 RS_TexGen2 = RS_TexGen + 2, 01046 RS_TexGen3 = RS_TexGen + 3, 01047 RS_TexGen4 = RS_TexGen + 4, 01048 RS_TexGen5 = RS_TexGen + 5, 01049 RS_TexGen6 = RS_TexGen + 6, 01050 RS_TexGen7 = RS_TexGen + 7, 01051 RS_TexGen8 = RS_TexGen + 8, 01052 RS_TexGen9 = RS_TexGen + 9, 01053 RS_TexGen10 = RS_TexGen + 10, 01054 RS_TexGen11 = RS_TexGen + 11, 01055 RS_TexGen12 = RS_TexGen + 12, 01056 RS_TexGen13 = RS_TexGen + 13, 01057 RS_TexGen14 = RS_TexGen + 14, 01058 RS_TexGen15 = RS_TexGen + 15, 01059 /* ... */ 01060 01061 RS_TexEnv = RS_TexGen + VL_MAX_TEXTURE_UNITS, 01062 RS_TexEnv0 = RS_TexEnv + 0, 01063 RS_TexEnv1 = RS_TexEnv + 1, 01064 RS_TexEnv2 = RS_TexEnv + 2, 01065 RS_TexEnv3 = RS_TexEnv + 3, 01066 RS_TexEnv4 = RS_TexEnv + 4, 01067 RS_TexEnv5 = RS_TexEnv + 5, 01068 RS_TexEnv6 = RS_TexEnv + 6, 01069 RS_TexEnv7 = RS_TexEnv + 7, 01070 RS_TexEnv8 = RS_TexEnv + 8, 01071 RS_TexEnv9 = RS_TexEnv + 9, 01072 RS_TexEnv10 = RS_TexEnv + 10, 01073 RS_TexEnv11 = RS_TexEnv + 11, 01074 RS_TexEnv12 = RS_TexEnv + 12, 01075 RS_TexEnv13 = RS_TexEnv + 13, 01076 RS_TexEnv14 = RS_TexEnv + 14, 01077 RS_TexEnv15 = RS_TexEnv + 15, 01078 /* ... */ 01079 01080 RS_TextureMatrix = RS_TexEnv + VL_MAX_TEXTURE_UNITS, 01081 RS_TextureMatrix0 = RS_TextureMatrix + 0, 01082 RS_TextureMatrix1 = RS_TextureMatrix + 1, 01083 RS_TextureMatrix2 = RS_TextureMatrix + 2, 01084 RS_TextureMatrix3 = RS_TextureMatrix + 3, 01085 RS_TextureMatrix4 = RS_TextureMatrix + 4, 01086 RS_TextureMatrix5 = RS_TextureMatrix + 5, 01087 RS_TextureMatrix6 = RS_TextureMatrix + 6, 01088 RS_TextureMatrix7 = RS_TextureMatrix + 7, 01089 RS_TextureMatrix8 = RS_TextureMatrix + 8, 01090 RS_TextureMatrix9 = RS_TextureMatrix + 9, 01091 RS_TextureMatrix10 = RS_TextureMatrix + 10, 01092 RS_TextureMatrix11 = RS_TextureMatrix + 11, 01093 RS_TextureMatrix12 = RS_TextureMatrix + 12, 01094 RS_TextureMatrix13 = RS_TextureMatrix + 13, 01095 RS_TextureMatrix14 = RS_TextureMatrix + 14, 01096 RS_TextureMatrix15 = RS_TextureMatrix + 15, 01097 /* ... */ 01098 01099 RS_RenderStateCount = RS_TextureMatrix15 + 1, 01100 01101 RS_NONE, 01102 01103 } ERenderState; 01104 01105 typedef enum 01106 { 01107 GIT_POINTS = GL_POINTS, 01108 GIT_LINES = GL_LINES, 01109 GIT_LINES_ADJACENCY = GL_LINES_ADJACENCY_EXT, 01110 GIT_TRIANGLES = GL_TRIANGLES, 01111 GIT_TRIANGLES_ADJACENCY = GL_TRIANGLES_ADJACENCY_EXT 01112 } EGeometryInputType; 01113 01114 typedef enum 01115 { 01116 GOT_POINTS = GL_POINTS, 01117 GOT_LINE_STRIP = GL_LINE_STRIP, 01118 GOT_TRIANGLE_STRIP = GL_TRIANGLE_STRIP, 01119 } EGeometryOutputType; 01120 01121 typedef enum 01122 { 01123 BB_COLOR_BUFFER_BIT = GL_COLOR_BUFFER_BIT, 01124 BB_DEPTH_BUFFER_BIT = GL_DEPTH_BUFFER_BIT, 01125 BB_STENCIL_BUFFER_BIT = GL_STENCIL_BUFFER_BIT 01126 } EBufferBits; 01127 01128 typedef enum 01129 { 01130 BT_AxisAlignedBillboard = 1, 01131 BT_SphericalBillboard = 2 01132 } EBillboardType; 01133 01134 typedef enum 01135 { 01136 SM_SortBackToFront, 01137 SM_SortFrontToBack 01138 } ESortMode; 01139 01140 typedef enum 01141 { 01142 GM_GetOrCreate, 01143 GM_DontCreate 01144 } EGetMode; 01145 01146 typedef enum 01147 { 01148 SE_Unknown, 01149 SE_ASCII, 01150 SE_UTF8, 01151 SE_UTF16_BE, 01152 SE_UTF16_LE, 01153 SE_UTF32_BE, 01154 SE_UTF32_LE, 01155 SE_LATIN1, 01156 } EStringEncoding; 01157 01158 typedef enum 01159 { 01160 OM_ReadOnly, 01161 OM_WriteOnly, 01162 } EOpenMode; 01163 01164 typedef enum 01165 { 01166 Key_None = 0, 01167 01168 // unicode keys 01169 01170 Key_0, 01171 Key_1, 01172 Key_2, 01173 Key_3, 01174 Key_4, 01175 Key_5, 01176 Key_6, 01177 Key_7, 01178 Key_8, 01179 Key_9, 01180 01181 Key_A, 01182 Key_B, 01183 Key_C, 01184 Key_D, 01185 Key_E, 01186 Key_F, 01187 Key_G, 01188 Key_H, 01189 Key_I, 01190 Key_J, 01191 Key_K, 01192 Key_L, 01193 Key_M, 01194 Key_N, 01195 Key_O, 01196 Key_P, 01197 Key_Q, 01198 Key_R, 01199 Key_S, 01200 Key_T, 01201 Key_U, 01202 Key_V, 01203 Key_W, 01204 Key_X, 01205 Key_Y, 01206 Key_Z, 01207 01208 Key_Return, 01209 Key_BackSpace, 01210 Key_Tab, 01211 Key_Space, 01212 01213 Key_Clear, 01214 Key_Escape, 01215 Key_Exclam, 01216 Key_QuoteDbl, 01217 Key_Hash, 01218 Key_Dollar, 01219 Key_Ampersand, 01220 Key_Quote, 01221 Key_LeftParen, 01222 Key_RightParen, 01223 Key_Asterisk, 01224 Key_Plus, 01225 Key_Comma, 01226 Key_Minus, 01227 Key_Period, 01228 Key_Slash, 01229 Key_Colon, 01230 Key_Semicolon, 01231 Key_Less, 01232 Key_Equal, 01233 Key_Greater, 01234 Key_Question, 01235 Key_At, 01236 Key_LeftBracket, 01237 Key_BackSlash, 01238 Key_RightBracket, 01239 Key_Caret, 01240 Key_Underscore, 01241 Key_QuoteLeft, 01242 01243 // non unicode keys 01244 01245 Key_Ctrl, 01246 Key_LeftCtrl, 01247 Key_RightCtrl, 01248 Key_Alt, 01249 Key_LeftAlt, 01250 Key_RightAlt, 01251 Key_Shift, 01252 Key_LeftShift, 01253 Key_RightShift, 01254 Key_Insert, 01255 Key_Delete, 01256 Key_Home, 01257 Key_End, 01258 Key_Print, 01259 Key_Pause, 01260 Key_PageUp, 01261 Key_PageDown, 01262 Key_Left, 01263 Key_Right, 01264 Key_Up, 01265 Key_Down, 01266 Key_F1, 01267 Key_F2, 01268 Key_F3, 01269 Key_F4, 01270 Key_F5, 01271 Key_F6, 01272 Key_F7, 01273 Key_F8, 01274 Key_F9, 01275 Key_F10, 01276 Key_F11, 01277 Key_F12, 01278 01279 Key_Unknown, 01280 01281 Key_NumberOfKeys 01282 01283 } EKey; 01284 01285 typedef enum 01286 { 01287 NoButton = 0, 01288 01289 LeftButton = 1, 01290 RightButton = 2, 01291 MiddleButton = 4, 01292 01293 UnknownButton, 01294 } EMouseButton; 01295 01296 typedef enum 01297 { 01298 IN_Local = 0x00, 01299 IN_Propagate = 0x01, 01300 IN_Sticky = 0x04, 01301 IN_Propagate_Overrides_Sticky = 0x01 | 0x02 | 0x04, 01302 IN_Propagate_Overrides = 0x01 | 0x02, 01303 IN_Propagate_Sticky = 0x01 | 0x04, 01304 } EInheritance; 01305 01306 typedef enum 01307 { 01308 ST_VERTEX_SHADER = GL_VERTEX_SHADER, 01309 ST_TESS_CONTROL_SHADER = GL_TESS_CONTROL_SHADER, 01310 ST_TESS_EVALUATION_SHADER = GL_TESS_EVALUATION_SHADER, 01311 ST_GEOMETRY_SHADER = GL_GEOMETRY_SHADER, 01312 ST_FRAGMENT_SHADER = GL_FRAGMENT_SHADER 01313 } EShaderType; 01314 01315 typedef enum 01316 { 01317 TW_TESS_WINDING_ODD = GLU_TESS_WINDING_ODD, 01318 TW_TESS_WINDING_NONZERO = GLU_TESS_WINDING_NONZERO, 01319 TW_TESS_WINDING_POSITIVE = GLU_TESS_WINDING_POSITIVE, 01320 TW_TESS_WINDING_NEGATIVE = GLU_TESS_WINDING_NEGATIVE, 01321 TW_TESS_WINDING_ABS_GEQ_TWO = GLU_TESS_WINDING_ABS_GEQ_TWO 01322 } ETessellationWinding; 01323 01324 typedef enum { 01325 VEL_VERBOSITY_SILENT, 01326 VEL_VERBOSITY_ERROR, 01327 VEL_VERBOSITY_NORMAL, 01328 VEL_VERBOSITY_DEBUG 01329 } EVerbosityLevel; 01330 01331 typedef enum 01332 { 01333 LL_LogNotify, 01334 LL_LogPrint, 01335 LL_LogBug, 01336 LL_LogError, 01337 LL_LogWarning, 01338 LL_LogDebug, 01339 } ELogLevel; 01340 01341 typedef enum 01342 { 01343 PPCO_LOWER_LEFT = GL_LOWER_LEFT, 01344 PPCO_UPPER_LEFT = GL_UPPER_LEFT 01345 } EPointSpriteCoordOrigin; 01346 01349 typedef enum 01350 { 01351 VAI_NORMAL, 01352 01353 01354 VAI_INTEGER, 01355 01356 01357 VAI_DOUBLE, 01358 01359 } EVertexAttribInterpretation; 01360 01362 typedef enum 01363 { 01364 VA_Position = 0, 01365 VA_Normal = 1, 01366 VA_Color = 2, 01367 VA_TexCoord0 = 3, 01368 } EVertexAttribBinding; 01369 01371 typedef enum 01372 { 01373 UT_NONE = 0x0, 01374 01375 UT_FLOAT = GL_FLOAT, 01376 UT_FLOAT_VEC2 = GL_FLOAT_VEC2, 01377 UT_FLOAT_VEC3 = GL_FLOAT_VEC3, 01378 UT_FLOAT_VEC4 = GL_FLOAT_VEC4, 01379 UT_DOUBLE = GL_DOUBLE, 01380 UT_DOUBLE_VEC2 = GL_DOUBLE_VEC2, 01381 UT_DOUBLE_VEC3 = GL_DOUBLE_VEC3, 01382 UT_DOUBLE_VEC4 = GL_DOUBLE_VEC4, 01383 UT_INT = GL_INT, 01384 UT_INT_VEC2 = GL_INT_VEC2, 01385 UT_INT_VEC3 = GL_INT_VEC3, 01386 UT_INT_VEC4 = GL_INT_VEC4, 01387 UT_UNSIGNED_INT = GL_UNSIGNED_INT, 01388 UT_UNSIGNED_INT_VEC2 = GL_UNSIGNED_INT_VEC2, 01389 UT_UNSIGNED_INT_VEC3 = GL_UNSIGNED_INT_VEC3, 01390 UT_UNSIGNED_INT_VEC4 = GL_UNSIGNED_INT_VEC4, 01391 UT_BOOL = GL_BOOL, 01392 UT_BOOL_VEC2 = GL_BOOL_VEC2, 01393 UT_BOOL_VEC3 = GL_BOOL_VEC3, 01394 UT_BOOL_VEC4 = GL_BOOL_VEC4, 01395 UT_FLOAT_MAT2 = GL_FLOAT_MAT2, 01396 UT_FLOAT_MAT3 = GL_FLOAT_MAT3, 01397 UT_FLOAT_MAT4 = GL_FLOAT_MAT4, 01398 UT_FLOAT_MAT2x3 = GL_FLOAT_MAT2x3, 01399 UT_FLOAT_MAT2x4 = GL_FLOAT_MAT2x4, 01400 UT_FLOAT_MAT3x2 = GL_FLOAT_MAT3x2, 01401 UT_FLOAT_MAT3x4 = GL_FLOAT_MAT3x4 , 01402 UT_FLOAT_MAT4x2 = GL_FLOAT_MAT4x2 , 01403 UT_FLOAT_MAT4x3 = GL_FLOAT_MAT4x3 , 01404 UT_DOUBLE_MAT2 = GL_DOUBLE_MAT2 , 01405 UT_DOUBLE_MAT3 = GL_DOUBLE_MAT3 , 01406 UT_DOUBLE_MAT4 = GL_DOUBLE_MAT4 , 01407 UT_DOUBLE_MAT2x3 = GL_DOUBLE_MAT2x3 , 01408 UT_DOUBLE_MAT2x4 = GL_DOUBLE_MAT2x4 , 01409 UT_DOUBLE_MAT3x2 = GL_DOUBLE_MAT3x2 , 01410 UT_DOUBLE_MAT3x4 = GL_DOUBLE_MAT3x4 , 01411 UT_DOUBLE_MAT4x2 = GL_DOUBLE_MAT4x2 , 01412 UT_DOUBLE_MAT4x3 = GL_DOUBLE_MAT4x3 , 01413 01414 UT_SAMPLER_1D = GL_SAMPLER_1D , 01415 UT_SAMPLER_2D = GL_SAMPLER_2D , 01416 UT_SAMPLER_3D = GL_SAMPLER_3D , 01417 UT_SAMPLER_CUBE = GL_SAMPLER_CUBE , 01418 UT_SAMPLER_1D_SHADOW = GL_SAMPLER_1D_SHADOW , 01419 UT_SAMPLER_2D_SHADOW = GL_SAMPLER_2D_SHADOW , 01420 UT_SAMPLER_1D_ARRAY = GL_SAMPLER_1D_ARRAY , 01421 UT_SAMPLER_2D_ARRAY = GL_SAMPLER_2D_ARRAY , 01422 UT_SAMPLER_1D_ARRAY_SHADOW = GL_SAMPLER_1D_ARRAY_SHADOW , 01423 UT_SAMPLER_2D_ARRAY_SHADOW = GL_SAMPLER_2D_ARRAY_SHADOW , 01424 UT_SAMPLER_2D_MULTISAMPLE = GL_SAMPLER_2D_MULTISAMPLE , 01425 UT_SAMPLER_2D_MULTISAMPLE_ARRAY = GL_SAMPLER_2D_MULTISAMPLE_ARRAY , 01426 UT_SAMPLER_CUBE_SHADOW = GL_SAMPLER_CUBE_SHADOW , 01427 UT_SAMPLER_BUFFER = GL_SAMPLER_BUFFER , 01428 UT_SAMPLER_2D_RECT = GL_SAMPLER_2D_RECT , 01429 UT_SAMPLER_2D_RECT_SHADOW = GL_SAMPLER_2D_RECT_SHADOW , 01430 UT_INT_SAMPLER_1D = GL_INT_SAMPLER_1D , 01431 UT_INT_SAMPLER_2D = GL_INT_SAMPLER_2D , 01432 UT_INT_SAMPLER_3D = GL_INT_SAMPLER_3D , 01433 UT_INT_SAMPLER_CUBE = GL_INT_SAMPLER_CUBE , 01434 UT_INT_SAMPLER_1D_ARRAY = GL_INT_SAMPLER_1D_ARRAY , 01435 UT_INT_SAMPLER_2D_ARRAY = GL_INT_SAMPLER_2D_ARRAY , 01436 UT_INT_SAMPLER_2D_MULTISAMPLE = GL_INT_SAMPLER_2D_MULTISAMPLE , 01437 UT_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY , 01438 UT_INT_SAMPLER_BUFFER = GL_INT_SAMPLER_BUFFER , 01439 UT_INT_SAMPLER_2D_RECT = GL_INT_SAMPLER_2D_RECT , 01440 UT_UNSIGNED_INT_SAMPLER_1D = GL_UNSIGNED_INT_SAMPLER_1D , 01441 UT_UNSIGNED_INT_SAMPLER_2D = GL_UNSIGNED_INT_SAMPLER_2D , 01442 UT_UNSIGNED_INT_SAMPLER_3D = GL_UNSIGNED_INT_SAMPLER_3D , 01443 UT_UNSIGNED_INT_SAMPLER_CUBE = GL_UNSIGNED_INT_SAMPLER_CUBE , 01444 UT_UNSIGNED_INT_SAMPLER_1D_ARRAY = GL_UNSIGNED_INT_SAMPLER_1D_ARRAY , 01445 UT_UNSIGNED_INT_SAMPLER_2D_ARRAY = GL_UNSIGNED_INT_SAMPLER_2D_ARRAY , 01446 UT_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE , 01447 UT_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY , 01448 UT_UNSIGNED_INT_SAMPLER_BUFFER = GL_UNSIGNED_INT_SAMPLER_BUFFER , 01449 UT_UNSIGNED_INT_SAMPLER_2D_RECT = GL_UNSIGNED_INT_SAMPLER_2D_RECT , 01450 01451 UT_UniformTypeCount 01452 01453 } EUniformType; 01454 01456 typedef enum 01457 { 01458 AT_FLOAT = GL_FLOAT, 01459 AT_FLOAT_VEC2 = GL_FLOAT_VEC2, 01460 AT_FLOAT_VEC3 = GL_FLOAT_VEC3, 01461 AT_FLOAT_VEC4 = GL_FLOAT_VEC4, 01462 AT_FLOAT_MAT2 = GL_FLOAT_MAT2, 01463 AT_FLOAT_MAT3 = GL_FLOAT_MAT3, 01464 AT_FLOAT_MAT4 = GL_FLOAT_MAT4, 01465 AT_FLOAT_MAT2x3 = GL_FLOAT_MAT2x3, 01466 AT_FLOAT_MAT2x4 = GL_FLOAT_MAT2x4, 01467 AT_FLOAT_MAT3x2 = GL_FLOAT_MAT3x2, 01468 AT_FLOAT_MAT3x4 = GL_FLOAT_MAT3x4, 01469 AT_FLOAT_MAT4x2 = GL_FLOAT_MAT4x2, 01470 AT_FLOAT_MAT4x3 = GL_FLOAT_MAT4x3, 01471 AT_INT = GL_INT, 01472 AT_INT_VEC2 = GL_INT_VEC2, 01473 AT_INT_VEC3 = GL_INT_VEC3, 01474 AT_INT_VEC4 = GL_INT_VEC4, 01475 AT_UNSIGNED_INT = GL_UNSIGNED_INT, 01476 AT_UNSIGNED_INT_VEC2 = GL_UNSIGNED_INT_VEC2, 01477 AT_UNSIGNED_INT_VEC3 = GL_UNSIGNED_INT_VEC3, 01478 AT_UNSIGNED_INT_VEC4 = GL_UNSIGNED_INT_VEC4, 01479 AT_DOUBLE = GL_DOUBLE, 01480 AT_DOUBLE_VEC2 = GL_DOUBLE_VEC2, 01481 AT_DOUBLE_VEC3 = GL_DOUBLE_VEC3, 01482 AT_DOUBLE_VEC4 = GL_DOUBLE_VEC4, 01483 AT_DOUBLE_MAT2 = GL_DOUBLE_MAT2, 01484 AT_DOUBLE_MAT3 = GL_DOUBLE_MAT3, 01485 AT_DOUBLE_MAT4 = GL_DOUBLE_MAT4, 01486 AT_DOUBLE_MAT2x3 = GL_DOUBLE_MAT2x3, 01487 AT_DOUBLE_MAT2x4 = GL_DOUBLE_MAT2x4, 01488 AT_DOUBLE_MAT3x2 = GL_DOUBLE_MAT3x2, 01489 AT_DOUBLE_MAT3x4 = GL_DOUBLE_MAT3x4, 01490 AT_DOUBLE_MAT4x2 = GL_DOUBLE_MAT4x2, 01491 AT_DOUBLE_MAT4x3 = GL_DOUBLE_MAT4x3, 01492 01493 } EAttributeType; 01494 01495 typedef enum 01496 { 01497 PMT_UserProjection, 01498 PMT_OrthographicProjection, 01499 PMT_PerspectiveProjection, 01500 PMT_PerspectiveProjectionFrustum 01501 } EProjectionMatrixType; 01502 01503 typedef enum 01504 { 01505 BUF_ForceUpdate = 0x1, 01506 BUF_DiscardRamBuffer = 0x2, 01507 } EBufferObjectUpdateFlags; 01508 01509 typedef enum 01510 { 01512 BUM_KeepRamBuffer = 0x0, 01513 01515 BUM_KeepRamBufferAndForceUpdate = BUF_ForceUpdate, 01516 01518 BUM_DiscardRamBuffer = BUF_DiscardRamBuffer, 01519 01521 BUM_DiscardRamBufferAndForceUpdate = BUF_DiscardRamBuffer | BUF_ForceUpdate 01522 } EBufferObjectUpdateMode; 01523 01524 typedef enum 01525 { 01526 SCM_OwnShaders, 01527 SCM_ShareShaders 01528 } EShaderCopyMode; 01529 01530 typedef enum 01531 { 01532 RCS_RenderingStarted, 01533 RCS_RenderingFinished 01534 } EResetContextStates; 01535 } 01536 01537 01538 #endif