1 /* Small parts were taken from glext.h, here's the lisence: */ 2 3 /* 4 ** License Applicability. Except to the extent portions of this file are 5 ** made subject to an alternative license as permitted in the SGI Free 6 ** Software License B, Version 1.1 (the "License"), the contents of this 7 ** file are subject only to the provisions of the License. You may not use 8 ** this file except in compliance with the License. You may obtain a copy 9 ** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600 10 ** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at: 11 ** 12 ** http://oss.sgi.com/projects/FreeB 13 ** 14 ** Note that, as provided in the License, the Software is distributed on an 15 ** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS 16 ** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND 17 ** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A 18 ** PARTICULAR PURPOSE, AND NON-INFRINGEMENT. 19 ** 20 ** Original Code. The Original Code is: OpenGL Sample Implementation, 21 ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics, 22 ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc. 23 ** Copyright in any portions created by third parties is as indicated 24 ** elsewhere herein. All Rights Reserved. 25 ** 26 ** Additional Notice Provisions: This software was created using the 27 ** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has 28 ** not been independently verified as being compliant with the OpenGL(R) 29 ** version 1.2.1 Specification. 30 */ 31 32 /* Most parts copyright (c) 2001-2002 Lev Povalahev under this lisence: */ 33 34 /* ---------------------------------------------------------------------------- 35 Copyright (c) 2002, Lev Povalahev 36 All rights reserved. 37 38 Redistribution and use in source and binary forms, with or without modification, 39 are permitted provided that the following conditions are met: 40 41 * Redistributions of source code must retain the above copyright notice, 42 this list of conditions and the following disclaimer. 43 * Redistributions in binary form must reproduce the above copyright notice, 44 this list of conditions and the following disclaimer in the documentation 45 and/or other materials provided with the distribution. 46 * The name of the author may be used to endorse or promote products 47 derived from this software without specific prior written permission. 48 49 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 50 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 51 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 52 IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 53 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 54 BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 55 OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 56 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 57 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 58 THE POSSIBILITY OF SUCH DAMAGE. 59 ------------------------------------------------------------------------------*/ 60 /* 61 GL_draw_range_elements support added by Benjamin Karaban 62 63 Lev Povalahev contact information: 64 65 levp@gmx.net 66 67 http://www.uni-karlsruhe.de/~uli2/ 68 */ 69 /* These extensions are supported: 70 GL_ARB_imaging 71 GL_ARB_depth_texture 72 GL_ARB_matrix_palette 73 GL_ARB_multisample 74 GL_ARB_multitexture 75 GL_ARB_point_parameters 76 GL_ARB_shadow 77 GL_ARB_shadow_ambient 78 GL_ARB_texture_compression 79 GL_ARB_texture_env_add 80 GL_ARB_texture_env_dot3 81 GL_ARB_texture_env_combine 82 GL_ARB_texture_env_crossbar 83 GL_ARB_texture_border_clamp 84 GL_ARB_texture_cube_map 85 GL_ARB_texture_mirrored_repeat 86 GL_ARB_transpose_matrix 87 GL_ARB_vertex_blend 88 GL_ARB_vertex_program 89 GL_ARB_window_pos 90 GL_EXT_abgr 91 GL_EXT_bgra 92 GL_EXT_blend_function_separate 93 GL_EXT_compiled_vertex_array 94 GL_EXT_cull_vertex 95 GL_EXT_draw_range_elements 96 GL_EXT_fog_coord 97 GL_EXT_multi_draw_arrays 98 GL_EXT_point_parameters 99 GL_EXT_secondary_color 100 GL_EXT_separate_specular_color 101 GL_EXT_shadow_funcs 102 GL_EXT_stencil_two_side 103 GL_EXT_stencil_wrap 104 GL_EXT_texture_compression_s3tc 105 GL_EXT_texture_filter_anisotropic 106 GL_EXT_texture_lod_bias 107 GL_EXT_vertex_shader 108 GL_EXT_vertex_weighting 109 GL_ATI_element_array 110 GL_ATI_envmap_bumpmap 111 GL_ATI_fragment_shader 112 GL_ATI_pn_triangles 113 GL_ATI_texture_mirror_once 114 GL_ATI_vertex_array_object; 115 GL_ATI_vertex_streams 116 GL_ATIX_point_sprites 117 GL_ATIX_texture_env_route 118 GL_HP_occlusion_test 119 GL_NV_blend_square 120 GL_NV_copy_depth_to_color 121 GL_NV_depth_clamp 122 GL_NV_element_array 123 GL_NV_evaluators 124 GL_NV_fence 125 GL_NV_float_buffer 126 GL_NV_fog_distance 127 GL_NV_light_max_exponent 128 GL_NV_occlusion_query 129 GL_NV_packed_depth_stencil 130 GL_NV_point_sprite 131 GL_NV_primitive_restart 132 GL_NV_register_combiners 133 GL_NV_register_combiners2 134 GL_NV_texgen_reflection 135 GL_NV_texture_env_combine4 136 GL_NV_texture_rectangle 137 GL_NV_texture_shader 138 GL_NV_texture_shader2 139 GL_NV_texture_shader3 140 GL_NV_vertex_array_range 141 GL_NV_vertex_array_range2 142 GL_NV_vertex_program 143 GL_NV_vertex_program1_1 144 GL_NV_vertex_program2 145 GL_SGIS_generate_mipmap 146 GL_SGIX_shadow 147 GL_SGIX_depth_texture 148 WGL_ARB_buffer_region 149 WGL_ARB_extensions_string 150 WGL_ARB_make_current_read; 151 WGL_ARB_multisample 152 WGL_ARB_pbuffer 153 WGL_ARB_pixel_format 154 WGL_ARB_render_texture 155 WGL_EXT_extensions_string 156 WGL_EXT_swap_control 157 WGL_NV_render_depth_texture 158 WGL_NV_render_texture_rectangle 159 */ 160 #ifndef __EXTGL_H__ 161 #define __EXTGL_H__ 162 163 /*-----------------------------------------*/ 164 /*-----------------------------------------*/ 165 166 #if defined(_WIN32) && !defined(APIENTRY) 167 #define WIN32_LEAN_AND_MEAN 1 168 #include <windows.h> 169 #endif 170 171 #define __glext_h_ 172 #include <GL/gl.h> 173 174 #if defined(_WIN32) 175 176 #elif defined(__APPLE__) 177 # include <OpenGL/glext.h> 178 #else 179 # include <GL/glx.h> 180 #endif /* _WIN32 */ 181 182 #include <string.h> 183 184 #ifndef APIENTRY 185 #define APIENTRY 186 #endif 187 188 #ifdef __cplusplus 189 extern "C" { 190 #endif 191 192 /* OpenGL 1.2 */ 193 194 #ifndef GL_VERSION_1_2 195 #define GL_ARB_imaging 1 196 #define GL_VERSION_1_2 1 197 #define GL_RESCALE_NORMAL 0x803A 198 #define GL_CLAMP_TO_EDGE 0x812F 199 #define GL_MAX_ELEMENTS_VERTICES 0x80E8 200 #define GL_MAX_ELEMENTS_INDICES 0x80E9 201 #define GL_BGR 0x80E0 202 #define GL_BGRA 0x80E1 203 #define GL_UNSIGNED_BYTE_3_3_2 0x8032 204 #define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362 205 #define GL_UNSIGNED_SHORT_5_6_5 0x8363 206 #define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364 207 #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 208 #define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365 209 #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 210 #define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 211 #define GL_UNSIGNED_INT_8_8_8_8 0x8035 212 #define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367 213 #define GL_UNSIGNED_INT_10_10_10_2 0x8036 214 #define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368 215 #define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8 216 #define GL_SINGLE_COLOR 0x81F9 217 #define GL_SEPARATE_SPECULAR_COLOR 0x81FA 218 #define GL_TEXTURE_MIN_LOD 0x813A 219 #define GL_TEXTURE_MAX_LOD 0x813B 220 #define GL_TEXTURE_BASE_LEVEL 0x813C 221 #define GL_TEXTURE_MAX_LEVEL 0x813D 222 #define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12 223 #define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13 224 #define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22 225 #define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23 226 #define GL_ALIASED_POINT_SIZE_RANGE 0x846D 227 #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E 228 #define GL_PACK_SKIP_IMAGES 0x806B 229 #define GL_PACK_IMAGE_HEIGHT 0x806C 230 #define GL_UNPACK_SKIP_IMAGES 0x806D 231 #define GL_UNPACK_IMAGE_HEIGHT 0x806E 232 #define GL_TEXTURE_3D 0x806F 233 #define GL_PROXY_TEXTURE_3D 0x8070 234 #define GL_TEXTURE_DEPTH 0x8071 235 #define GL_TEXTURE_WRAP_R 0x8072 236 #define GL_MAX_3D_TEXTURE_SIZE 0x8073 237 #define GL_TEXTURE_BINDING_3D 0x806A 238 #define GL_COLOR_TABLE 0x80D0 239 #define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1 240 #define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2 241 #define GL_PROXY_COLOR_TABLE 0x80D3 242 #define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4 243 #define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5 244 #define GL_COLOR_TABLE_SCALE 0x80D6 245 #define GL_COLOR_TABLE_BIAS 0x80D7 246 #define GL_COLOR_TABLE_FORMAT 0x80D8 247 #define GL_COLOR_TABLE_WIDTH 0x80D9 248 #define GL_COLOR_TABLE_RED_SIZE 0x80DA 249 #define GL_COLOR_TABLE_GREEN_SIZE 0x80DB 250 #define GL_COLOR_TABLE_BLUE_SIZE 0x80DC 251 #define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD 252 #define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE 253 #define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF 254 #define GL_CONVOLUTION_1D 0x8010 255 #define GL_CONVOLUTION_2D 0x8011 256 #define GL_SEPARABLE_2D 0x8012 257 #define GL_CONVOLUTION_BORDER_MODE 0x8013 258 #define GL_CONVOLUTION_FILTER_SCALE 0x8014 259 #define GL_CONVOLUTION_FILTER_BIAS 0x8015 260 #define GL_REDUCE 0x8016 261 #define GL_CONVOLUTION_FORMAT 0x8017 262 #define GL_CONVOLUTION_WIDTH 0x8018 263 #define GL_CONVOLUTION_HEIGHT 0x8019 264 #define GL_MAX_CONVOLUTION_WIDTH 0x801A 265 #define GL_MAX_CONVOLUTION_HEIGHT 0x801B 266 #define GL_POST_CONVOLUTION_RED_SCALE 0x801C 267 #define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D 268 #define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E 269 #define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F 270 #define GL_POST_CONVOLUTION_RED_BIAS 0x8020 271 #define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021 272 #define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022 273 #define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023 274 #define GL_CONSTANT_BORDER 0x8151 275 #define GL_REPLICATE_BORDER 0x8153 276 #define GL_CONVOLUTION_BORDER_COLOR 0x8154 277 #define GL_COLOR_MATRIX 0x80B1 278 #define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2 279 #define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3 280 #define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4 281 #define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5 282 #define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6 283 #define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7 284 #define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8 285 #define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9 286 #define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA 287 #define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB 288 #define GL_HISTOGRAM 0x8024 289 #define GL_PROXY_HISTOGRAM 0x8025 290 #define GL_HISTOGRAM_WIDTH 0x8026 291 #define GL_HISTOGRAM_FORMAT 0x8027 292 #define GL_HISTOGRAM_RED_SIZE 0x8028 293 #define GL_HISTOGRAM_GREEN_SIZE 0x8029 294 #define GL_HISTOGRAM_BLUE_SIZE 0x802A 295 #define GL_HISTOGRAM_ALPHA_SIZE 0x802B 296 #define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C 297 #define GL_HISTOGRAM_SINK 0x802D 298 #define GL_MINMAX 0x802E 299 #define GL_MINMAX_FORMAT 0x802F 300 #define GL_MINMAX_SINK 0x8030 301 #define GL_TABLE_TOO_LARGE 0x8031 302 #define GL_BLEND_EQUATION 0x8009 303 #define GL_MIN 0x8007 304 #define GL_MAX 0x8008 305 #define GL_FUNC_ADD 0x8006 306 #define GL_FUNC_SUBTRACT 0x800A 307 #define GL_FUNC_REVERSE_SUBTRACT 0x800B 308 #define GL_BLEND_COLOR 0x8005 309 #define GL_CONSTANT_COLOR 0x8001 310 #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 311 #define GL_CONSTANT_ALPHA 0x8003 312 #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 313 314 typedef void (APIENTRY * glColorTablePROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table ); 315 typedef void (APIENTRY * glColorSubTablePROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data ); 316 typedef void (APIENTRY * glColorTableParameterivPROC) (GLenum target, GLenum pname, const GLint *params); 317 typedef void (APIENTRY * glColorTableParameterfvPROC) (GLenum target, GLenum pname, const GLfloat *params); 318 typedef void (APIENTRY * glCopyColorSubTablePROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width ); 319 typedef void (APIENTRY * glCopyColorTablePROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width ); 320 typedef void (APIENTRY * glGetColorTablePROC) (GLenum target, GLenum format, GLenum type, GLvoid *table ); 321 typedef void (APIENTRY * glGetColorTableParameterfvPROC) (GLenum target, GLenum pname, GLfloat *params ); 322 typedef void (APIENTRY * glGetColorTableParameterivPROC) (GLenum target, GLenum pname, GLint *params ); 323 typedef void (APIENTRY * glBlendEquationPROC) (GLenum mode ); 324 typedef void (APIENTRY * glBlendColorPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ); 325 typedef void (APIENTRY * glHistogramPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink ); 326 typedef void (APIENTRY * glResetHistogramPROC) (GLenum target ); 327 typedef void (APIENTRY * glGetHistogramPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values ); 328 typedef void (APIENTRY * glGetHistogramParameterfvPROC) (GLenum target, GLenum pname, GLfloat *params ); 329 typedef void (APIENTRY * glGetHistogramParameterivPROC) (GLenum target, GLenum pname, GLint *params ); 330 typedef void (APIENTRY * glMinmaxPROC) (GLenum target, GLenum internalformat, GLboolean sink ); 331 typedef void (APIENTRY * glResetMinmaxPROC) (GLenum target ); 332 typedef void (APIENTRY * glGetMinmaxPROC) (GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values ); 333 typedef void (APIENTRY * glGetMinmaxParameterfvPROC) (GLenum target, GLenum pname, GLfloat *params ); 334 typedef void (APIENTRY * glGetMinmaxParameterivPROC) (GLenum target, GLenum pname, GLint *params ); 335 typedef void (APIENTRY * glConvolutionFilter1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image ); 336 typedef void (APIENTRY * glConvolutionFilter2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image ); 337 typedef void (APIENTRY * glConvolutionParameterfPROC) (GLenum target, GLenum pname, GLfloat params ); 338 typedef void (APIENTRY * glConvolutionParameterfvPROC) (GLenum target, GLenum pname, const GLfloat *params ); 339 typedef void (APIENTRY * glConvolutionParameteriPROC) (GLenum target, GLenum pname, GLint params ); 340 typedef void (APIENTRY * glConvolutionParameterivPROC) (GLenum target, GLenum pname, const GLint *params ); 341 typedef void (APIENTRY * glCopyConvolutionFilter1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width ); 342 typedef void (APIENTRY * glCopyConvolutionFilter2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); 343 typedef void (APIENTRY * glGetConvolutionFilterPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image ); 344 typedef void (APIENTRY * glGetConvolutionParameterfvPROC) (GLenum target, GLenum pname, GLfloat *params ); 345 typedef void (APIENTRY * glGetConvolutionParameterivPROC) (GLenum target, GLenum pname, GLint *params ); 346 typedef void (APIENTRY * glSeparableFilter2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column ); 347 typedef void (APIENTRY * glGetSeparableFilterPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span ); 348 typedef void (APIENTRY * glDrawRangeElementsPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices ); 349 typedef void (APIENTRY * glTexImage3DPROC) (GLenum target, GLint level, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels ); 350 typedef void (APIENTRY * glTexSubImage3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels); 351 typedef void (APIENTRY * glCopyTexSubImage3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height ); 352 353 extern glBlendColorPROC glBlendColor; 354 extern glBlendEquationPROC glBlendEquation; 355 extern glColorTablePROC glColorTable; 356 extern glColorTableParameterfvPROC glColorTableParameterfv; 357 extern glColorTableParameterivPROC glColorTableParameteriv; 358 extern glCopyColorTablePROC glCopyColorTable; 359 extern glGetColorTablePROC glGetColorTable; 360 extern glGetColorTableParameterfvPROC glGetColorTableParameterfv; 361 extern glGetColorTableParameterivPROC glGetColorTableParameteriv; 362 extern glColorSubTablePROC glColorSubTable; 363 extern glCopyColorSubTablePROC glCopyColorSubTable; 364 extern glConvolutionFilter1DPROC glConvolutionFilter1D; 365 extern glConvolutionFilter2DPROC glConvolutionFilter2D; 366 extern glConvolutionParameterfPROC glConvolutionParameterf; 367 extern glConvolutionParameterfvPROC glConvolutionParameterfv; 368 extern glConvolutionParameteriPROC glConvolutionParameteri; 369 extern glConvolutionParameterivPROC glConvolutionParameteriv; 370 extern glCopyConvolutionFilter1DPROC glCopyConvolutionFilter1D; 371 extern glCopyConvolutionFilter2DPROC glCopyConvolutionFilter2D; 372 extern glGetConvolutionFilterPROC glGetConvolutionFilter; 373 extern glGetConvolutionParameterfvPROC glGetConvolutionParameterfv; 374 extern glGetConvolutionParameterivPROC glGetConvolutionParameteriv; 375 extern glGetSeparableFilterPROC glGetSeparableFilter; 376 extern glSeparableFilter2DPROC glSeparableFilter2D; 377 extern glGetHistogramPROC glGetHistogram; 378 extern glGetHistogramParameterfvPROC glGetHistogramParameterfv; 379 extern glGetHistogramParameterivPROC glGetHistogramParameteriv; 380 extern glGetMinmaxPROC glGetMinmax; 381 extern glGetMinmaxParameterfvPROC glGetMinmaxParameterfv; 382 extern glGetMinmaxParameterivPROC glGetMinmaxParameteriv; 383 extern glHistogramPROC glHistogram; 384 extern glMinmaxPROC glMinmax; 385 extern glResetHistogramPROC glResetHistogram; 386 extern glResetMinmaxPROC glResetMinmax; 387 extern glDrawRangeElementsPROC glDrawRangeElements; 388 extern glTexImage3DPROC glTexImage3D; 389 extern glTexSubImage3DPROC glTexSubImage3D; 390 extern glCopyTexSubImage3DPROC glCopyTexSubImage3D; 391 392 #endif /* GL_VERSION_1_2 */ 393 394 /* OpenGL 1.3 */ 395 396 #ifndef GL_VERSION_1_3 397 #define GL_VERSION_1_3 1 398 #define GL_TEXTURE0 0x84C0 399 #define GL_TEXTURE1 0x84C1 400 #define GL_TEXTURE2 0x84C2 401 #define GL_TEXTURE3 0x84C3 402 #define GL_TEXTURE4 0x84C4 403 #define GL_TEXTURE5 0x84C5 404 #define GL_TEXTURE6 0x84C6 405 #define GL_TEXTURE7 0x84C7 406 #define GL_TEXTURE8 0x84C8 407 #define GL_TEXTURE9 0x84C9 408 #define GL_TEXTURE10 0x84CA 409 #define GL_TEXTURE11 0x84CB 410 #define GL_TEXTURE12 0x84CC 411 #define GL_TEXTURE13 0x84CD 412 #define GL_TEXTURE14 0x84CE 413 #define GL_TEXTURE15 0x84CF 414 #define GL_TEXTURE16 0x84D0 415 #define GL_TEXTURE17 0x84D1 416 #define GL_TEXTURE18 0x84D2 417 #define GL_TEXTURE19 0x84D3 418 #define GL_TEXTURE20 0x84D4 419 #define GL_TEXTURE21 0x84D5 420 #define GL_TEXTURE22 0x84D6 421 #define GL_TEXTURE23 0x84D7 422 #define GL_TEXTURE24 0x84D8 423 #define GL_TEXTURE25 0x84D9 424 #define GL_TEXTURE26 0x84DA 425 #define GL_TEXTURE27 0x84DB 426 #define GL_TEXTURE28 0x84DC 427 #define GL_TEXTURE29 0x84DD 428 #define GL_TEXTURE30 0x84DE 429 #define GL_TEXTURE31 0x84DF 430 #define GL_ACTIVE_TEXTURE 0x84E0 431 #define GL_CLIENT_ACTIVE_TEXTURE 0x84E1 432 #define GL_MAX_TEXTURE_UNITS 0x84E2 433 434 #define GL_NORMAL_MAP 0x8511 435 #define GL_REFLECTION_MAP 0x8512 436 #define GL_TEXTURE_CUBE_MAP 0x8513 437 #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 438 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 439 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516 440 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517 441 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518 442 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 443 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A 444 #define GL_PROXY_TEXTURE_CUBE_MAP 0x851B 445 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C 446 447 #define GL_COMPRESSED_ALPHA 0x84E9 448 #define GL_COMPRESSED_LUMINANCE 0x84EA 449 #define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB 450 #define GL_COMPRESSED_INTENSITY 0x84EC 451 #define GL_COMPRESSED_RGB 0x84ED 452 #define GL_COMPRESSED_RGBA 0x84EE 453 #define GL_TEXTURE_COMPRESSION_HINT 0x84EF 454 #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0 455 #define GL_TEXTURE_COMPRESSED 0x86A1 456 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 457 #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 458 459 #define GL_MULTISAMPLE 0x809D 460 #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E 461 #define GL_SAMPLE_ALPHA_TO_ONE 0x809F 462 #define GL_SAMPLE_COVERAGE 0x80A0 463 #define GL_SAMPLE_BUFFERS 0x80A8 464 #define GL_SAMPLES 0x80A9 465 #define GL_SAMPLE_COVERAGE_VALUE 0x80AA 466 #define GL_SAMPLE_COVERAGE_INVERT 0x80AB 467 #define GL_MULTISAMPLE_BIT 0x20000000 468 469 #define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3 470 #define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4 471 #define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5 472 #define GL_TRANSPOSE_COLOR_MATRIX 0x84E6 473 474 #define GL_COMBINE 0x8570 475 #define GL_COMBINE_RGB 0x8571 476 #define GL_COMBINE_ALPHA 0x8572 477 #define GL_SOURCE0_RGB 0x8580 478 #define GL_SOURCE1_RGB 0x8581 479 #define GL_SOURCE2_RGB 0x8582 480 #define GL_SOURCE0_ALPHA 0x8588 481 #define GL_SOURCE1_ALPHA 0x8589 482 #define GL_SOURCE2_ALPHA 0x858A 483 #define GL_OPERAND0_RGB 0x8590 484 #define GL_OPERAND1_RGB 0x8591 485 #define GL_OPERAND2_RGB 0x8592 486 #define GL_OPERAND0_ALPHA 0x8598 487 #define GL_OPERAND1_ALPHA 0x8599 488 #define GL_OPERAND2_ALPHA 0x859A 489 #define GL_RGB_SCALE 0x8573 490 #define GL_ADD_SIGNED 0x8574 491 #define GL_INTERPOLATE 0x8575 492 #define GL_SUBTRACT 0x84E7 493 #define GL_CONSTANT 0x8576 494 #define GL_PRIMARY_COLOR 0x8577 495 #define GL_PREVIOUS 0x8578 496 #define GL_DOT3_RGB 0x86AE 497 #define GL_DOT3_RGBA 0x86AF 498 #define GL_CLAMP_TO_BORDER 0x812D 499 500 typedef void (APIENTRY * glActiveTexturePROC) (GLenum texture ); 501 typedef void (APIENTRY * glClientActiveTexturePROC) (GLenum texture ); 502 typedef void (APIENTRY * glCompressedTexImage1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data ); 503 typedef void (APIENTRY * glCompressedTexImage2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data ); 504 typedef void (APIENTRY * glCompressedTexImage3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data ); 505 typedef void (APIENTRY * glCompressedTexSubImage1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data ); 506 typedef void (APIENTRY * glCompressedTexSubImage2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data ); 507 typedef void (APIENTRY * glCompressedTexSubImage3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data ); 508 typedef void (APIENTRY * glGetCompressedTexImagePROC) (GLenum target, GLint lod, GLvoid *img ); 509 typedef void (APIENTRY * glMultiTexCoord1dPROC) (GLenum target, GLdouble s ); 510 typedef void (APIENTRY * glMultiTexCoord1dvPROC) (GLenum target, const GLdouble *v ); 511 typedef void (APIENTRY * glMultiTexCoord1fPROC) (GLenum target, GLfloat s ); 512 typedef void (APIENTRY * glMultiTexCoord1fvPROC) (GLenum target, const GLfloat *v ); 513 typedef void (APIENTRY * glMultiTexCoord1iPROC) (GLenum target, GLint s ); 514 typedef void (APIENTRY * glMultiTexCoord1ivPROC) (GLenum target, const GLint *v ); 515 typedef void (APIENTRY * glMultiTexCoord1sPROC) (GLenum target, GLshort s ); 516 typedef void (APIENTRY * glMultiTexCoord1svPROC) (GLenum target, const GLshort *v ); 517 typedef void (APIENTRY * glMultiTexCoord2dPROC) (GLenum target, GLdouble s, GLdouble t ); 518 typedef void (APIENTRY * glMultiTexCoord2dvPROC) (GLenum target, const GLdouble *v ); 519 typedef void (APIENTRY * glMultiTexCoord2fPROC) (GLenum target, GLfloat s, GLfloat t ); 520 typedef void (APIENTRY * glMultiTexCoord2fvPROC) (GLenum target, const GLfloat *v ); 521 typedef void (APIENTRY * glMultiTexCoord2iPROC) (GLenum target, GLint s, GLint t ); 522 typedef void (APIENTRY * glMultiTexCoord2ivPROC) (GLenum target, const GLint *v ); 523 typedef void (APIENTRY * glMultiTexCoord2sPROC) (GLenum target, GLshort s, GLshort t ); 524 typedef void (APIENTRY * glMultiTexCoord2svPROC) (GLenum target, const GLshort *v ); 525 typedef void (APIENTRY * glMultiTexCoord3dPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r ); 526 typedef void (APIENTRY * glMultiTexCoord3dvPROC) (GLenum target, const GLdouble *v ); 527 typedef void (APIENTRY * glMultiTexCoord3fPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r ); 528 typedef void (APIENTRY * glMultiTexCoord3fvPROC) (GLenum target, const GLfloat *v ); 529 typedef void (APIENTRY * glMultiTexCoord3iPROC) (GLenum target, GLint s, GLint t, GLint r ); 530 typedef void (APIENTRY * glMultiTexCoord3ivPROC) (GLenum target, const GLint *v ); 531 typedef void (APIENTRY * glMultiTexCoord3sPROC) (GLenum target, GLshort s, GLshort t, GLshort r ); 532 typedef void (APIENTRY * glMultiTexCoord3svPROC) (GLenum target, const GLshort *v ); 533 typedef void (APIENTRY * glMultiTexCoord4dPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q ); 534 typedef void (APIENTRY * glMultiTexCoord4dvPROC) (GLenum target, const GLdouble *v ); 535 typedef void (APIENTRY * glMultiTexCoord4fPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ); 536 typedef void (APIENTRY * glMultiTexCoord4fvPROC) (GLenum target, const GLfloat *v ); 537 typedef void (APIENTRY * glMultiTexCoord4iPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q ); 538 typedef void (APIENTRY * glMultiTexCoord4ivPROC) (GLenum target, const GLint *v ); 539 typedef void (APIENTRY * glMultiTexCoord4sPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q ); 540 typedef void (APIENTRY * glMultiTexCoord4svPROC) (GLenum target, const GLshort *v ); 541 typedef void (APIENTRY * glLoadTransposeMatrixdPROC) (const GLdouble m[16] ); 542 typedef void (APIENTRY * glLoadTransposeMatrixfPROC) (const GLfloat m[16] ); 543 typedef void (APIENTRY * glMultTransposeMatrixdPROC) (const GLdouble m[16] ); 544 typedef void (APIENTRY * glMultTransposeMatrixfPROC) (const GLfloat m[16] ); 545 typedef void (APIENTRY * glSampleCoveragePROC) (GLclampf value, GLboolean invert ); 546 547 extern glActiveTexturePROC glActiveTexture; 548 extern glClientActiveTexturePROC glClientActiveTexture; 549 extern glMultiTexCoord1dPROC glMultiTexCoord1d; 550 extern glMultiTexCoord1dvPROC glMultiTexCoord1dv; 551 extern glMultiTexCoord1fPROC glMultiTexCoord1f; 552 extern glMultiTexCoord1fvPROC glMultiTexCoord1fv; 553 extern glMultiTexCoord1iPROC glMultiTexCoord1i; 554 extern glMultiTexCoord1ivPROC glMultiTexCoord1iv; 555 extern glMultiTexCoord1sPROC glMultiTexCoord1s; 556 extern glMultiTexCoord1svPROC glMultiTexCoord1sv; 557 extern glMultiTexCoord2dPROC glMultiTexCoord2d; 558 extern glMultiTexCoord2dvPROC glMultiTexCoord2dv; 559 extern glMultiTexCoord2fPROC glMultiTexCoord2f; 560 extern glMultiTexCoord2fvPROC glMultiTexCoord2fv; 561 extern glMultiTexCoord2iPROC glMultiTexCoord2i; 562 extern glMultiTexCoord2ivPROC glMultiTexCoord2iv; 563 extern glMultiTexCoord2sPROC glMultiTexCoord2s; 564 extern glMultiTexCoord2svPROC glMultiTexCoord2sv; 565 extern glMultiTexCoord3dPROC glMultiTexCoord3d; 566 extern glMultiTexCoord3dvPROC glMultiTexCoord3dv; 567 extern glMultiTexCoord3fPROC glMultiTexCoord3f; 568 extern glMultiTexCoord3fvPROC glMultiTexCoord3fv; 569 extern glMultiTexCoord3iPROC glMultiTexCoord3i; 570 extern glMultiTexCoord3ivPROC glMultiTexCoord3iv; 571 extern glMultiTexCoord3sPROC glMultiTexCoord3s; 572 extern glMultiTexCoord3svPROC glMultiTexCoord3sv; 573 extern glMultiTexCoord4dPROC glMultiTexCoord4d; 574 extern glMultiTexCoord4dvPROC glMultiTexCoord4dv; 575 extern glMultiTexCoord4fPROC glMultiTexCoord4f; 576 extern glMultiTexCoord4fvPROC glMultiTexCoord4fv; 577 extern glMultiTexCoord4iPROC glMultiTexCoord4i; 578 extern glMultiTexCoord4ivPROC glMultiTexCoord4iv; 579 extern glMultiTexCoord4sPROC glMultiTexCoord4s; 580 extern glMultiTexCoord4svPROC glMultiTexCoord4sv; 581 extern glLoadTransposeMatrixfPROC glLoadTransposeMatrixf; 582 extern glLoadTransposeMatrixdPROC glLoadTransposeMatrixd; 583 extern glMultTransposeMatrixfPROC glMultTransposeMatrixf; 584 extern glMultTransposeMatrixdPROC glMultTransposeMatrixd; 585 extern glCompressedTexImage3DPROC glCompressedTexImage3D; 586 extern glCompressedTexImage2DPROC glCompressedTexImage2D; 587 extern glCompressedTexImage1DPROC glCompressedTexImage1D; 588 extern glCompressedTexSubImage3DPROC glCompressedTexSubImage3D; 589 extern glCompressedTexSubImage2DPROC glCompressedTexSubImage2D; 590 extern glCompressedTexSubImage1DPROC glCompressedTexSubImage1D; 591 extern glGetCompressedTexImagePROC glGetCompressedTexImage; 592 extern glSampleCoveragePROC glSampleCoverage; 593 594 #endif /* GL_VERSION_1_3 */ 595 596 /* OpenGL 1.4 */ 597 598 #ifndef GL_VERSION_1_4 599 #define GL_VERSION_1_4 600 601 #ifndef GL_VERSION_1_2 602 #define GL_BLEND_EQUATION 0x8009 603 #define GL_MIN 0x8007 604 #define GL_MAX 0x8008 605 #define GL_FUNC_ADD 0x8006 606 #define GL_FUNC_SUBTRACT 0x800A 607 #define GL_FUNC_REVERSE_SUBTRACT 0x800B 608 #define GL_BLEND_COLOR 0x8005 609 #define GL_CONSTANT_COLOR 0x8001 610 #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 611 #define GL_CONSTANT_ALPHA 0x8003 612 #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 613 #endif /* GL_VERSION_1_2 */ 614 615 #define GL_GENERATE_MIPMAP 0x8191 616 #define GL_GENERATE_MIPMAP_HINT 0x8192 617 #define GL_DEPTH_COMPONENT16 0x81A5 618 #define GL_DEPTH_COMPONENT24 0x81A6 619 #define GL_DEPTH_COMPONENT32 0x81A7 620 #define GL_TEXTURE_DEPTH_SIZE 0x884A 621 #define GL_DEPTH_TEXTURE_MODE 0x884B 622 #define GL_TEXTURE_COMPARE_MODE 0x884C 623 #define GL_TEXTURE_COMPARE_FUNC 0x884D 624 #define GL_COMPARE_R_TO_TEXTURE 0x884E 625 #define GL_FOG_COORDINATE_SOURCE 0x8450 626 #define GL_FOG_COORDINATE 0x8451 627 #define GL_FRAGMENT_DEPTH 0x8452 628 #define GL_CURRENT_FOG_COORDINATE 0x8453 629 #define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454 630 #define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455 631 #define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456 632 #define GL_FOG_COORDINATE_ARRAY 0x8457 633 #define GL_POINT_SIZE_MIN 0x8126 634 #define GL_POINT_SIZE_MAX 0x8127 635 #define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 636 #define GL_POINT_DISTANCE_ATTENUATION 0x8129 637 #define GL_COLOR_SUM 0x8458 638 #define GL_CURRENT_SECONDARY_COLOR 0x8459 639 #define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A 640 #define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B 641 #define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C 642 #define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D 643 #define GL_SECONDARY_COLOR_ARRAY 0x845E 644 #define GL_BLEND_DST_RGB 0x80C8 645 #define GL_BLEND_SRC_RGB 0x80C9 646 #define GL_BLEND_DST_ALPHA 0x80CA 647 #define GL_BLEND_SRC_ALPHA 0x80CB 648 #define GL_INCR_WRAP 0x8507 649 #define GL_DECR_WRAP 0x8508 650 #define GL_TEXTURE_FILTER_CONTROL 0x8500 651 #define GL_TEXTURE_LOD_BIAS 0x8501 652 #define GL_MAX_TEXTURE_LOD_BIAS 0x84FD 653 #define GL_GL_MIRRORED_REPEAT 0x8370 654 655 #ifndef GL_VERSION_1_2 656 typedef void (APIENTRY * glBlendEquationPROC) (GLenum mode ); 657 typedef void (APIENTRY * glBlendColorPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha ); 658 #endif /* GL_VERSION_1_2 */ 659 typedef void (APIENTRY * glFogCoordfPROC) (GLfloat coord); 660 typedef void (APIENTRY * glFogCoordfvPROC) (const GLfloat *coord); 661 typedef void (APIENTRY * glFogCoorddPROC) (GLdouble coord); 662 typedef void (APIENTRY * glFogCoorddvPROC) (const GLdouble *coord); 663 typedef void (APIENTRY * glFogCoordPointerPROC) (GLenum type, GLsizei stride, const GLvoid *pointer); 664 typedef void (APIENTRY * glMultiDrawArraysPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); 665 typedef void (APIENTRY * glMultiDrawElementsPROC) (GLenum mode, GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount); 666 typedef void (APIENTRY * glPointParameterfPROC) (GLenum pname, GLfloat param); 667 typedef void (APIENTRY * glPointParameterfvPROC) (GLenum pname, GLfloat *params); 668 typedef void (APIENTRY * glSecondaryColor3bPROC) (GLbyte red, GLbyte green, GLbyte blue); 669 typedef void (APIENTRY * glSecondaryColor3bvPROC) (const GLbyte *v); 670 typedef void (APIENTRY * glSecondaryColor3dPROC) (GLdouble red, GLdouble green, GLdouble blue); 671 typedef void (APIENTRY * glSecondaryColor3dvPROC) (const GLdouble *v); 672 typedef void (APIENTRY * glSecondaryColor3fPROC) (GLfloat red, GLfloat green, GLfloat blue); 673 typedef void (APIENTRY * glSecondaryColor3fvPROC) (const GLfloat *v); 674 typedef void (APIENTRY * glSecondaryColor3iPROC) (GLint red, GLint green, GLint blue); 675 typedef void (APIENTRY * glSecondaryColor3ivPROC) (const GLint *v); 676 typedef void (APIENTRY * glSecondaryColor3sPROC) (GLshort red, GLshort green, GLshort blue); 677 typedef void (APIENTRY * glSecondaryColor3svPROC) (const GLshort *v); 678 typedef void (APIENTRY * glSecondaryColor3ubPROC) (GLubyte red, GLubyte green, GLubyte blue); 679 typedef void (APIENTRY * glSecondaryColor3ubvPROC) (const GLubyte *v); 680 typedef void (APIENTRY * glSecondaryColor3uiPROC) (GLuint red, GLuint green, GLuint blue); 681 typedef void (APIENTRY * glSecondaryColor3uivPROC) (const GLuint *v); 682 typedef void (APIENTRY * glSecondaryColor3usPROC) (GLushort red, GLushort green, GLushort blue); 683 typedef void (APIENTRY * glSecondaryColor3usvPROC) (const GLushort *v); 684 typedef void (APIENTRY * glSecondaryColorPointerPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer); 685 typedef void (APIENTRY * glBlendFuncSeparatePROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); 686 typedef void (APIENTRY * glWindowPos2dPROC) (GLdouble x, GLdouble y); 687 typedef void (APIENTRY * glWindowPos2fPROC) (GLfloat x, GLfloat y); 688 typedef void (APIENTRY * glWindowPos2iPROC) (GLint x, GLint y); 689 typedef void (APIENTRY * glWindowPos2sPROC) (GLshort x, GLshort y); 690 typedef void (APIENTRY * glWindowPos2dvPROC) (const GLdouble *p); 691 typedef void (APIENTRY * glWindowPos2fvPROC) (const GLfloat *p); 692 typedef void (APIENTRY * glWindowPos2ivPROC) (const GLint *p); 693 typedef void (APIENTRY * glWindowPos2svPROC) (const GLshort *p); 694 typedef void (APIENTRY * glWindowPos3dPROC) (GLdouble x, GLdouble y, GLdouble z); 695 typedef void (APIENTRY * glWindowPos3fPROC) (GLfloat x, GLfloat y, GLfloat z); 696 typedef void (APIENTRY * glWindowPos3iPROC) (GLint x, GLint y, GLint z); 697 typedef void (APIENTRY * glWindowPos3sPROC) (GLshort x, GLshort y, GLshort z); 698 typedef void (APIENTRY * glWindowPos3dvPROC) (const GLdouble *p); 699 typedef void (APIENTRY * glWindowPos3fvPROC) (const GLfloat *p); 700 typedef void (APIENTRY * glWindowPos3ivPROC) (const GLint *p); 701 typedef void (APIENTRY * glWindowPos3svPROC) (const GLshort *p); 702 703 #ifndef GL_VERSION_1_2 704 extern glBlendColorPROC glBlendColor; 705 extern glBlendEquationPROC glBlendEquation; 706 #endif /* GL_VERSION_1_2 */ 707 extern glFogCoordfPROC glFogCoordf; 708 extern glFogCoordfvPROC glFogCoordfv; 709 extern glFogCoorddPROC glFogCoordd; 710 extern glFogCoorddvPROC glFogCoorddv; 711 extern glFogCoordPointerPROC glFogCoordPointer; 712 extern glMultiDrawArraysPROC glMultiDrawArrays; 713 extern glMultiDrawElementsPROC glMultiDrawElements; 714 extern glPointParameterfPROC glPointParameterf; 715 extern glPointParameterfvPROC glPointParameterfv; 716 extern glSecondaryColor3bPROC glSecondaryColor3b; 717 extern glSecondaryColor3bvPROC glSecondaryColor3bv; 718 extern glSecondaryColor3dPROC glSecondaryColor3d; 719 extern glSecondaryColor3dvPROC glSecondaryColor3dv; 720 extern glSecondaryColor3fPROC glSecondaryColor3f; 721 extern glSecondaryColor3fvPROC glSecondaryColor3fv; 722 extern glSecondaryColor3iPROC glSecondaryColor3i; 723 extern glSecondaryColor3ivPROC glSecondaryColor3iv; 724 extern glSecondaryColor3sPROC glSecondaryColor3s; 725 extern glSecondaryColor3svPROC glSecondaryColor3sv; 726 extern glSecondaryColor3ubPROC glSecondaryColor3ub; 727 extern glSecondaryColor3ubvPROC glSecondaryColor3ubv; 728 extern glSecondaryColor3uiPROC glSecondaryColor3ui; 729 extern glSecondaryColor3uivPROC glSecondaryColor3uiv; 730 extern glSecondaryColor3usPROC glSecondaryColor3us; 731 extern glSecondaryColor3usvPROC glSecondaryColor3usv; 732 extern glSecondaryColorPointerPROC glSecondaryColorPointer; 733 extern glBlendFuncSeparatePROC glBlendFuncSeparate; 734 extern glWindowPos2dPROC glWindowPos2d; 735 extern glWindowPos2fPROC glWindowPos2f; 736 extern glWindowPos2iPROC glWindowPos2i; 737 extern glWindowPos2sPROC glWindowPos2s; 738 extern glWindowPos2dvPROC glWindowPos2dv; 739 extern glWindowPos2fvPROC glWindowPos2fv; 740 extern glWindowPos2ivPROC glWindowPos2iv; 741 extern glWindowPos2svPROC glWindowPos2sv; 742 extern glWindowPos3dPROC glWindowPos3d; 743 extern glWindowPos3fPROC glWindowPos3f; 744 extern glWindowPos3iPROC glWindowPos3i; 745 extern glWindowPos3sPROC glWindowPos3s; 746 extern glWindowPos3dvPROC glWindowPos3dv; 747 extern glWindowPos3fvPROC glWindowPos3fv; 748 extern glWindowPos3ivPROC glWindowPos3iv; 749 extern glWindowPos3svPROC glWindowPos3sv; 750 751 #endif /* GL_VERSION_1_4 */ 752 753 /*-------------------------------------------------------------------*/ 754 /*------------EXTENSIONS---------------------------------------------*/ 755 /*-------------------------------------------------------------------*/ 756 757 /*-------------------------------------------------------------------*/ 758 /*------------ARB_MULTITEXTURE---------------------------------------*/ 759 /*-------------------------------------------------------------------*/ 760 761 #ifndef GL_ARB_multitexture 762 #define GL_ARB_multitexture 1 763 #define GL_TEXTURE0_ARB 0x84C0 764 #define GL_TEXTURE1_ARB 0x84C1 765 #define GL_TEXTURE2_ARB 0x84C2 766 #define GL_TEXTURE3_ARB 0x84C3 767 #define GL_TEXTURE4_ARB 0x84C4 768 #define GL_TEXTURE5_ARB 0x84C5 769 #define GL_TEXTURE6_ARB 0x84C6 770 #define GL_TEXTURE7_ARB 0x84C7 771 #define GL_TEXTURE8_ARB 0x84C8 772 #define GL_TEXTURE9_ARB 0x84C9 773 #define GL_TEXTURE10_ARB 0x84CA 774 #define GL_TEXTURE11_ARB 0x84CB 775 #define GL_TEXTURE12_ARB 0x84CC 776 #define GL_TEXTURE13_ARB 0x84CD 777 #define GL_TEXTURE14_ARB 0x84CE 778 #define GL_TEXTURE15_ARB 0x84CF 779 #define GL_TEXTURE16_ARB 0x84D0 780 #define GL_TEXTURE17_ARB 0x84D1 781 #define GL_TEXTURE18_ARB 0x84D2 782 #define GL_TEXTURE19_ARB 0x84D3 783 #define GL_TEXTURE20_ARB 0x84D4 784 #define GL_TEXTURE21_ARB 0x84D5 785 #define GL_TEXTURE22_ARB 0x84D6 786 #define GL_TEXTURE23_ARB 0x84D7 787 #define GL_TEXTURE24_ARB 0x84D8 788 #define GL_TEXTURE25_ARB 0x84D9 789 #define GL_TEXTURE26_ARB 0x84DA 790 #define GL_TEXTURE27_ARB 0x84DB 791 #define GL_TEXTURE28_ARB 0x84DC 792 #define GL_TEXTURE29_ARB 0x84DD 793 #define GL_TEXTURE30_ARB 0x84DE 794 #define GL_TEXTURE31_ARB 0x84DF 795 #define GL_ACTIVE_TEXTURE_ARB 0x84E0 796 #define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1 797 #define GL_MAX_TEXTURE_UNITS_ARB 0x84E2 798 799 typedef void (APIENTRY * glActiveTextureARBPROC) (GLenum texture ); 800 typedef void (APIENTRY * glClientActiveTextureARBPROC) (GLenum texture ); 801 typedef void (APIENTRY * glMultiTexCoord1dARBPROC) (GLenum target, GLdouble s ); 802 typedef void (APIENTRY * glMultiTexCoord1dvARBPROC) (GLenum target, const GLdouble *v ); 803 typedef void (APIENTRY * glMultiTexCoord1fARBPROC) (GLenum target, GLfloat s ); 804 typedef void (APIENTRY * glMultiTexCoord1fvARBPROC) (GLenum target, const GLfloat *v ); 805 typedef void (APIENTRY * glMultiTexCoord1iARBPROC) (GLenum target, GLint s ); 806 typedef void (APIENTRY * glMultiTexCoord1ivARBPROC) (GLenum target, const GLint *v ); 807 typedef void (APIENTRY * glMultiTexCoord1sARBPROC) (GLenum target, GLshort s ); 808 typedef void (APIENTRY * glMultiTexCoord1svARBPROC) (GLenum target, const GLshort *v ); 809 typedef void (APIENTRY * glMultiTexCoord2dARBPROC) (GLenum target, GLdouble s, GLdouble t ); 810 typedef void (APIENTRY * glMultiTexCoord2dvARBPROC) (GLenum target, const GLdouble *v ); 811 typedef void (APIENTRY * glMultiTexCoord2fARBPROC) (GLenum target, GLfloat s, GLfloat t ); 812 typedef void (APIENTRY * glMultiTexCoord2fvARBPROC) (GLenum target, const GLfloat *v ); 813 typedef void (APIENTRY * glMultiTexCoord2iARBPROC) (GLenum target, GLint s, GLint t ); 814 typedef void (APIENTRY * glMultiTexCoord2ivARBPROC) (GLenum target, const GLint *v ); 815 typedef void (APIENTRY * glMultiTexCoord2sARBPROC) (GLenum target, GLshort s, GLshort t ); 816 typedef void (APIENTRY * glMultiTexCoord2svARBPROC) (GLenum target, const GLshort *v ); 817 typedef void (APIENTRY * glMultiTexCoord3dARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r ); 818 typedef void (APIENTRY * glMultiTexCoord3dvARBPROC) (GLenum target, const GLdouble *v ); 819 typedef void (APIENTRY * glMultiTexCoord3fARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r ); 820 typedef void (APIENTRY * glMultiTexCoord3fvARBPROC) (GLenum target, const GLfloat *v ); 821 typedef void (APIENTRY * glMultiTexCoord3iARBPROC) (GLenum target, GLint s, GLint t, GLint r ); 822 typedef void (APIENTRY * glMultiTexCoord3ivARBPROC) (GLenum target, const GLint *v ); 823 typedef void (APIENTRY * glMultiTexCoord3sARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r ); 824 typedef void (APIENTRY * glMultiTexCoord3svARBPROC) (GLenum target, const GLshort *v ); 825 typedef void (APIENTRY * glMultiTexCoord4dARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q ); 826 typedef void (APIENTRY * glMultiTexCoord4dvARBPROC) (GLenum target, const GLdouble *v ); 827 typedef void (APIENTRY * glMultiTexCoord4fARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q ); 828 typedef void (APIENTRY * glMultiTexCoord4fvARBPROC) (GLenum target, const GLfloat *v ); 829 typedef void (APIENTRY * glMultiTexCoord4iARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q ); 830 typedef void (APIENTRY * glMultiTexCoord4ivARBPROC) (GLenum target, const GLint *v ); 831 typedef void (APIENTRY * glMultiTexCoord4sARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q ); 832 typedef void (APIENTRY * glMultiTexCoord4svARBPROC) (GLenum target, const GLshort *v ); 833 834 extern glActiveTextureARBPROC glActiveTextureARB; 835 extern glClientActiveTextureARBPROC glClientActiveTextureARB; 836 extern glMultiTexCoord1dARBPROC glMultiTexCoord1dARB; 837 extern glMultiTexCoord1dvARBPROC glMultiTexCoord1dvARB; 838 extern glMultiTexCoord1fARBPROC glMultiTexCoord1fARB; 839 extern glMultiTexCoord1fvARBPROC glMultiTexCoord1fvARB; 840 extern glMultiTexCoord1iARBPROC glMultiTexCoord1iARB; 841 extern glMultiTexCoord1ivARBPROC glMultiTexCoord1ivARB; 842 extern glMultiTexCoord1sARBPROC glMultiTexCoord1sARB; 843 extern glMultiTexCoord1svARBPROC glMultiTexCoord1svARB; 844 extern glMultiTexCoord2dARBPROC glMultiTexCoord2dARB; 845 extern glMultiTexCoord2dvARBPROC glMultiTexCoord2dvARB; 846 extern glMultiTexCoord2fARBPROC glMultiTexCoord2fARB; 847 extern glMultiTexCoord2fvARBPROC glMultiTexCoord2fvARB; 848 extern glMultiTexCoord2iARBPROC glMultiTexCoord2iARB; 849 extern glMultiTexCoord2ivARBPROC glMultiTexCoord2ivARB; 850 extern glMultiTexCoord2sARBPROC glMultiTexCoord2sARB; 851 extern glMultiTexCoord2svARBPROC glMultiTexCoord2svARB; 852 extern glMultiTexCoord3dARBPROC glMultiTexCoord3dARB; 853 extern glMultiTexCoord3dvARBPROC glMultiTexCoord3dvARB; 854 extern glMultiTexCoord3fARBPROC glMultiTexCoord3fARB; 855 extern glMultiTexCoord3fvARBPROC glMultiTexCoord3fvARB; 856 extern glMultiTexCoord3iARBPROC glMultiTexCoord3iARB; 857 extern glMultiTexCoord3ivARBPROC glMultiTexCoord3ivARB; 858 extern glMultiTexCoord3sARBPROC glMultiTexCoord3sARB; 859 extern glMultiTexCoord3svARBPROC glMultiTexCoord3svARB; 860 extern glMultiTexCoord4dARBPROC glMultiTexCoord4dARB; 861 extern glMultiTexCoord4dvARBPROC glMultiTexCoord4dvARB; 862 extern glMultiTexCoord4fARBPROC glMultiTexCoord4fARB; 863 extern glMultiTexCoord4fvARBPROC glMultiTexCoord4fvARB; 864 extern glMultiTexCoord4iARBPROC glMultiTexCoord4iARB; 865 extern glMultiTexCoord4ivARBPROC glMultiTexCoord4ivARB; 866 extern glMultiTexCoord4sARBPROC glMultiTexCoord4sARB; 867 extern glMultiTexCoord4svARBPROC glMultiTexCoord4svARB; 868 869 #endif /* GL_ARB_multitexture */ 870 871 /*-------------------------------------------------------------------*/ 872 /*------------ARB_TRANSPOSE_MATRIX-----------------------------------*/ 873 /*-------------------------------------------------------------------*/ 874 875 #ifndef GL_ARB_transpose_matrix 876 #define GL_ARB_transpose_matrix 1 877 878 #define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3 879 #define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4 880 #define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5 881 #define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6 882 883 typedef void (APIENTRY * glLoadTransposeMatrixdARBPROC) (const GLdouble m[16] ); 884 typedef void (APIENTRY * glLoadTransposeMatrixfARBPROC) (const GLfloat m[16] ); 885 typedef void (APIENTRY * glMultTransposeMatrixdARBPROC) (const GLdouble m[16] ); 886 typedef void (APIENTRY * glMultTransposeMatrixfARBPROC) (const GLfloat m[16] ); 887 888 extern glLoadTransposeMatrixfARBPROC glLoadTransposeMatrixfARB; 889 extern glLoadTransposeMatrixdARBPROC glLoadTransposeMatrixdARB; 890 extern glMultTransposeMatrixfARBPROC glMultTransposeMatrixfARB; 891 extern glMultTransposeMatrixdARBPROC glMultTransposeMatrixdARB; 892 893 #endif /* GL_ARB_transpose_matrix */ 894 895 /*-------------------------------------------------------------------*/ 896 /*------------ARB_TEXTURE_COMPRESSION--------------------------------*/ 897 /*-------------------------------------------------------------------*/ 898 899 #ifndef GL_ARB_texture_compression 900 #define GL_ARB_texture_compression 1 901 902 #define GL_COMPRESSED_ALPHA_ARB 0x84E9 903 #define GL_COMPRESSED_LUMINANCE_ARB 0x84EA 904 #define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB 905 #define GL_COMPRESSED_INTENSITY_ARB 0x84EC 906 #define GL_COMPRESSED_RGB_ARB 0x84ED 907 #define GL_COMPRESSED_RGBA_ARB 0x84EE 908 #define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF 909 #define GL_TEXTURE_IMAGE_SIZE_ARB 0x86A0 910 #define GL_TEXTURE_COMPRESSED_ARB 0x86A1 911 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2 912 #define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3 913 914 typedef void (APIENTRY * glCompressedTexImage1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data ); 915 typedef void (APIENTRY * glCompressedTexImage2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data ); 916 typedef void (APIENTRY * glCompressedTexImage3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data ); 917 typedef void (APIENTRY * glCompressedTexSubImage1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data ); 918 typedef void (APIENTRY * glCompressedTexSubImage2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data ); 919 typedef void (APIENTRY * glCompressedTexSubImage3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data ); 920 typedef void (APIENTRY * glGetCompressedTexImageARBPROC) (GLenum target, GLint lod, GLvoid *img ); 921 922 extern glCompressedTexImage3DARBPROC glCompressedTexImage3DARB; 923 extern glCompressedTexImage2DARBPROC glCompressedTexImage2DARB; 924 extern glCompressedTexImage1DARBPROC glCompressedTexImage1DARB; 925 extern glCompressedTexSubImage3DARBPROC glCompressedTexSubImage3DARB; 926 extern glCompressedTexSubImage2DARBPROC glCompressedTexSubImage2DARB; 927 extern glCompressedTexSubImage1DARBPROC glCompressedTexSubImage1DARB; 928 extern glGetCompressedTexImageARBPROC glGetCompressedTexImageARB; 929 930 #endif /* GL_ARB_texture_compression */ 931 932 /*-------------------------------------------------------------------*/ 933 /*------------ARB_CUBE_MAP-------------------------------------------*/ 934 /*-------------------------------------------------------------------*/ 935 936 #ifndef GL_ARB_texture_cube_map 937 #define GL_ARB_texture_cube_map 1 938 939 #define GL_NORMAL_MAP_ARB 0x8511 940 #define GL_REFLECTION_MAP_ARB 0x8512 941 #define GL_TEXTURE_CUBE_MAP_ARB 0x8513 942 #define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514 943 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515 944 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516 945 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517 946 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518 947 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519 948 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A 949 #define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B 950 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C 951 952 #endif /* GL_ARB_texture_cube_map */ 953 954 /*-------------------------------------------------------------------*/ 955 /*------------SGIX_SHADOW--------------------------------------------*/ 956 /*-------------------------------------------------------------------*/ 957 958 #ifndef GL_SGIX_shadow 959 #define GL_SGIX_shadow 1 960 961 #define GL_TEXTURE_COMPARE_SGIX 0x819A 962 #define GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B 963 #define GL_TEXTURE_LEQUAL_R_SGIX 0x819C 964 #define GL_TEXTURE_GEQUAL_R_SGIX 0x819D 965 966 #endif /* GL_SGIX_shadow */ 967 968 /*-------------------------------------------------------------------*/ 969 /*------------SGIX_DEPTH_TEXTURE-------------------------------------*/ 970 /*-------------------------------------------------------------------*/ 971 972 #ifndef GL_SGIX_depth_texture 973 #define GL_SGIX_depth_texture 1 974 975 #define GL_DEPTH_COMPONENT16_SGIX 0x81A5 976 #define GL_DEPTH_COMPONENT24_SGIX 0x81A6 977 #define GL_DEPTH_COMPONENT32_SGIX 0x81A7 978 979 #endif /* GL_SGIX_depth_texture */ 980 981 /*-------------------------------------------------------------------*/ 982 /*------------EXT_COMPILED_VERTEX_ARRAY------------------------------*/ 983 /*-------------------------------------------------------------------*/ 984 985 #ifndef GL_EXT_compiled_vertex_array 986 #define GL_EXT_compiled_vertex_array 1 987 988 #define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8 989 #define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9 990 991 typedef void (APIENTRY * glLockArraysEXTPROC) (GLint first, GLsizei count); 992 typedef void (APIENTRY * glUnlockArraysEXTPROC) (); 993 994 extern glLockArraysEXTPROC glLockArraysEXT; 995 extern glUnlockArraysEXTPROC glUnlockArraysEXT; 996 997 #endif /* GL_EXT_compiled_vertex_array */ 998 999 /*-------------------------------------------------------------------*/ 1000 /*------------ARB_TEXTURE_ENV_COMBINE--------------------------------*/ 1001 /*-------------------------------------------------------------------*/ 1002 1003 #ifndef GL_ARB_texture_env_combine 1004 #define GL_ARB_texture_env_combine 1 1005 1006 #define GL_COMBINE_ARB 0x8570 1007 #define GL_COMBINE_RGB_ARB 0x8571 1008 #define GL_COMBINE_ALPHA_ARB 0x8572 1009 #define GL_RGB_SCALE_ARB 0x8573 1010 #define GL_ADD_SIGNED_ARB 0x8574 1011 #define GL_INTERPOLATE_ARB 0x8575 1012 #define GL_CONSTANT_ARB 0x8576 1013 #define GL_PRIMARY_COLOR_ARB 0x8577 1014 #define GL_PREVIOUS_ARB 0x8578 1015 #define GL_SOURCE0_RGB_ARB 0x8580 1016 #define GL_SOURCE1_RGB_ARB 0x8581 1017 #define GL_SOURCE2_RGB_ARB 0x8582 1018 #define GL_SOURCE0_ALPHA_ARB 0x8588 1019 #define GL_SOURCE1_ALPHA_ARB 0x8589 1020 #define GL_SOURCE2_ALPHA_ARB 0x858A 1021 #define GL_OPERAND0_RGB_ARB 0x8590 1022 #define GL_OPERAND1_RGB_ARB 0x8591 1023 #define GL_OPERAND2_RGB_ARB 0x8592 1024 #define GL_OPERAND0_ALPHA_ARB 0x8598 1025 #define GL_OPERAND1_ALPHA_ARB 0x8599 1026 #define GL_OPERAND2_ALPHA_ARB 0x859A 1027 1028 #endif /* GL_ARB_texture_env_combine */ 1029 1030 /*-------------------------------------------------------------------*/ 1031 /*------------ARB_TEXTURE_ENV_DOT3-----------------------------------*/ 1032 /*-------------------------------------------------------------------*/ 1033 1034 #ifndef GL_ARB_texture_env_dot3 1035 #define GL_ARB_texture_env_dot3 1 1036 1037 #define GL_DOT3_RGB_ARB 0x86AE 1038 #define GL_DOT3_RGBA_ARB 0x86AF 1039 1040 #endif /* GL_ARB_texture_env_dot3 */ 1041 1042 /*-------------------------------------------------------------------*/ 1043 /*------------ARB_TEXTURE_BORDER_CLAMP-------------------------------*/ 1044 /*-------------------------------------------------------------------*/ 1045 1046 #ifndef GL_ARB_texture_border_clamp 1047 #define GL_ARB_texture_border_clamp 1 1048 1049 #define GL_CLAMP_TO_BORDER_ARB 0x812D 1050 1051 #endif /* GL_ARB_texture_border_clamp */ 1052 1053 /*-------------------------------------------------------------------*/ 1054 /*------------ARB_TEXTURE_ENV_ADD------------------------------------*/ 1055 /*-------------------------------------------------------------------*/ 1056 1057 #ifndef GL_ARB_texture_env_add 1058 #define GL_ARB_texture_env_add 1 1059 1060 1061 #endif /* GL_ARB_texture_env_add */ 1062 1063 /*-------------------------------------------------------------------*/ 1064 /*------------EXT_SECONDARY_COLOR------------------------------------*/ 1065 /*-------------------------------------------------------------------*/ 1066 1067 #ifndef GL_EXT_secondary_color 1068 #define GL_EXT_secondary_color 1 1069 1070 #define GL_COLOR_SUM_EXT 0x8458 1071 #define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459 1072 #define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A 1073 #define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B 1074 #define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C 1075 #define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D 1076 #define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E 1077 1078 typedef void (APIENTRY * glSecondaryColor3bEXTPROC) (GLbyte red, GLbyte green, GLbyte blue); 1079 typedef void (APIENTRY * glSecondaryColor3bvEXTPROC) (const GLbyte *v); 1080 typedef void (APIENTRY * glSecondaryColor3dEXTPROC) (GLdouble red, GLdouble green, GLdouble blue); 1081 typedef void (APIENTRY * glSecondaryColor3dvEXTPROC) (const GLdouble *v); 1082 typedef void (APIENTRY * glSecondaryColor3fEXTPROC) (GLfloat red, GLfloat green, GLfloat blue); 1083 typedef void (APIENTRY * glSecondaryColor3fvEXTPROC) (const GLfloat *v); 1084 typedef void (APIENTRY * glSecondaryColor3iEXTPROC) (GLint red, GLint green, GLint blue); 1085 typedef void (APIENTRY * glSecondaryColor3ivEXTPROC) (const GLint *v); 1086 typedef void (APIENTRY * glSecondaryColor3sEXTPROC) (GLshort red, GLshort green, GLshort blue); 1087 typedef void (APIENTRY * glSecondaryColor3svEXTPROC) (const GLshort *v); 1088 typedef void (APIENTRY * glSecondaryColor3ubEXTPROC) (GLubyte red, GLubyte green, GLubyte blue); 1089 typedef void (APIENTRY * glSecondaryColor3ubvEXTPROC) (const GLubyte *v); 1090 typedef void (APIENTRY * glSecondaryColor3uiEXTPROC) (GLuint red, GLuint green, GLuint blue); 1091 typedef void (APIENTRY * glSecondaryColor3uivEXTPROC) (const GLuint *v); 1092 typedef void (APIENTRY * glSecondaryColor3usEXTPROC) (GLushort red, GLushort green, GLushort blue); 1093 typedef void (APIENTRY * glSecondaryColor3usvEXTPROC) (const GLushort *v); 1094 typedef void (APIENTRY * glSecondaryColorPointerEXTPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer); 1095 1096 extern glSecondaryColor3bEXTPROC glSecondaryColor3bEXT; 1097 extern glSecondaryColor3bvEXTPROC glSecondaryColor3bvEXT; 1098 extern glSecondaryColor3dEXTPROC glSecondaryColor3dEXT; 1099 extern glSecondaryColor3dvEXTPROC glSecondaryColor3dvEXT; 1100 extern glSecondaryColor3fEXTPROC glSecondaryColor3fEXT; 1101 extern glSecondaryColor3fvEXTPROC glSecondaryColor3fvEXT; 1102 extern glSecondaryColor3iEXTPROC glSecondaryColor3iEXT; 1103 extern glSecondaryColor3ivEXTPROC glSecondaryColor3ivEXT; 1104 extern glSecondaryColor3sEXTPROC glSecondaryColor3sEXT; 1105 extern glSecondaryColor3svEXTPROC glSecondaryColor3svEXT; 1106 extern glSecondaryColor3ubEXTPROC glSecondaryColor3ubEXT; 1107 extern glSecondaryColor3ubvEXTPROC glSecondaryColor3ubvEXT; 1108 extern glSecondaryColor3uiEXTPROC glSecondaryColor3uiEXT; 1109 extern glSecondaryColor3uivEXTPROC glSecondaryColor3uivEXT; 1110 extern glSecondaryColor3usEXTPROC glSecondaryColor3usEXT; 1111 extern glSecondaryColor3usvEXTPROC glSecondaryColor3usvEXT; 1112 extern glSecondaryColorPointerEXTPROC glSecondaryColorPointerEXT; 1113 1114 #endif /* GL_EXT_secondary_color */ 1115 1116 /*-------------------------------------------------------------------*/ 1117 /*------------EXT_FOG_COORD------------------------------------------*/ 1118 /*-------------------------------------------------------------------*/ 1119 1120 #ifndef GL_EXT_fog_coord 1121 #define GL_EXT_fog_coord 1 1122 1123 #define GL_FOG_COORDINATE_SOURCE_EXT 0x8450 1124 #define GL_FOG_COORDINATE_EXT 0x8451 1125 #define GL_FRAGMENT_DEPTH_EXT 0x8452 1126 #define GL_CURRENT_FOG_COORDINATE_EXT 0x8453 1127 #define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454 1128 #define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455 1129 #define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456 1130 #define GL_FOG_COORDINATE_ARRAY_EXT 0x8457 1131 1132 typedef void (APIENTRY * glFogCoordfEXTPROC) (GLfloat coord); 1133 typedef void (APIENTRY * glFogCoordfvEXTPROC) (const GLfloat *coord); 1134 typedef void (APIENTRY * glFogCoorddEXTPROC) (GLdouble coord); 1135 typedef void (APIENTRY * glFogCoorddvEXTPROC) (const GLdouble *coord); 1136 typedef void (APIENTRY * glFogCoordPointerEXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer); 1137 1138 extern glFogCoordfEXTPROC glFogCoordfEXT; 1139 extern glFogCoordfvEXTPROC glFogCoordfvEXT; 1140 extern glFogCoorddEXTPROC glFogCoorddEXT; 1141 extern glFogCoorddvEXTPROC glFogCoorddvEXT; 1142 extern glFogCoordPointerEXTPROC glFogCoordPointerEXT; 1143 1144 #endif /* GL_EXT_fog_coord */ 1145 1146 /*-------------------------------------------------------------------*/ 1147 /*------------NV_VERTEX_ARRAY_RANGE----------------------------------*/ 1148 /*-------------------------------------------------------------------*/ 1149 1150 #ifndef GL_NV_vertex_array_range 1151 #define GL_NV_vertex_array_range 1 1152 1153 #define GL_VERTEX_ARRAY_RANGE_NV 0x851D 1154 #define GL_VERTEX_ARRAY_RANGE_LENGTH_NV 0x851E 1155 #define GL_VERTEX_ARRAY_RANGE_VALID_NV 0x851F 1156 #define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520 1157 #define GL_VERTEX_ARRAY_RANGE_POINTER_NV 0x8521 1158 1159 typedef void (APIENTRY * glFlushVertexArrayRangeNVPROC) (void); 1160 typedef void (APIENTRY * glVertexArrayRangeNVPROC) (GLsizei size, const GLvoid *pointer); 1161 1162 extern glFlushVertexArrayRangeNVPROC glFlushVertexArrayRangeNV; 1163 extern glVertexArrayRangeNVPROC glVertexArrayRangeNV; 1164 1165 #ifdef _WIN32 1166 1167 typedef void * (APIENTRY * wglAllocateMemoryNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority); 1168 typedef void (APIENTRY * wglFreeMemoryNVPROC) (void *pointer); 1169 1170 extern wglAllocateMemoryNVPROC wglAllocateMemoryNV; 1171 extern wglFreeMemoryNVPROC wglFreeMemoryNV; 1172 1173 #endif /* WIN32 */ 1174 1175 #endif /* GL_NV_vertex_array_range */ 1176 1177 /*-------------------------------------------------------------------*/ 1178 /*------------NV_VERTEX_ARRAY_RANGE2---------------------------------*/ 1179 /*-------------------------------------------------------------------*/ 1180 1181 #ifndef GL_NV_vertex_array_range2 1182 #define GL_NV_vertex_array_range2 1 1183 1184 #define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533 1185 1186 #endif /* GL_NV_vertex_array_range2 */ 1187 1188 /*-------------------------------------------------------------------*/ 1189 /*------------EXT_POINT_PARAMETERS-----------------------------------*/ 1190 /*-------------------------------------------------------------------*/ 1191 1192 #ifndef GL_EXT_point_parameters 1193 #define GL_EXT_point_parameters 1 1194 1195 #define GL_POINT_SIZE_MIN_EXT 0x8126 1196 #define GL_POINT_SIZE_MAX_EXT 0x8127 1197 #define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128 1198 #define GL_DISTANCE_ATTENUATION_EXT 0x8129 1199 1200 typedef void (APIENTRY * glPointParameterfEXTPROC) (GLenum pname, GLfloat param); 1201 typedef void (APIENTRY * glPointParameterfvEXTPROC) (GLenum pname, const GLfloat *params); 1202 1203 extern glPointParameterfEXTPROC glPointParameterfEXT; 1204 extern glPointParameterfvEXTPROC glPointParameterfvEXT; 1205 1206 #endif /* GL_EXT_point_parameters */ 1207 1208 /*-------------------------------------------------------------------*/ 1209 /*------------NV_REGISTER_COMBINERS----------------------------------*/ 1210 /*-------------------------------------------------------------------*/ 1211 1212 #ifndef GL_NV_register_combiners 1213 #define GL_NV_register_combiners 1 1214 1215 #define GL_REGISTER_COMBINERS_NV 0x8522 1216 #define GL_COMBINER0_NV 0x8550 1217 #define GL_COMBINER1_NV 0x8551 1218 #define GL_COMBINER2_NV 0x8552 1219 #define GL_COMBINER3_NV 0x8553 1220 #define GL_COMBINER4_NV 0x8554 1221 #define GL_COMBINER5_NV 0x8555 1222 #define GL_COMBINER6_NV 0x8556 1223 #define GL_COMBINER7_NV 0x8557 1224 #define GL_VARIABLE_A_NV 0x8523 1225 #define GL_VARIABLE_B_NV 0x8524 1226 #define GL_VARIABLE_C_NV 0x8525 1227 #define GL_VARIABLE_D_NV 0x8526 1228 #define GL_VARIABLE_E_NV 0x8527 1229 #define GL_VARIABLE_F_NV 0x8528 1230 #define GL_VARIABLE_G_NV 0x8529 1231 #define GL_CONSTANT_COLOR0_NV 0x852A 1232 #define GL_CONSTANT_COLOR1_NV 0x852B 1233 #define GL_PRIMARY_COLOR_NV 0x852C 1234 #define GL_SECONDARY_COLOR_NV 0x852D 1235 #define GL_SPARE0_NV 0x852E 1236 #define GL_SPARE1_NV 0x852F 1237 #define GL_UNSIGNED_IDENTITY_NV 0x8536 1238 #define GL_UNSIGNED_INVERT_NV 0x8537 1239 #define GL_EXPAND_NORMAL_NV 0x8538 1240 #define GL_EXPAND_NEGATE_NV 0x8539 1241 #define GL_HALF_BIAS_NORMAL_NV 0x853A 1242 #define GL_HALF_BIAS_NEGATE_NV 0x853B 1243 #define GL_SIGNED_IDENTITY_NV 0x853C 1244 #define GL_SIGNED_NEGATE_NV 0x853D 1245 #define GL_E_TIMES_F_NV 0x8531 1246 #define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532 1247 #define GL_SCALE_BY_TWO_NV 0x853E 1248 #define GL_SCALE_BY_FOUR_NV 0x853F 1249 #define GL_SCALE_BY_ONE_HALF_NV 0x8540 1250 #define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV 0x8541 1251 #define GL_DISCARD_NV 0x8530 1252 #define GL_COMBINER_INPUT_NV 0x8542 1253 #define GL_COMBINER_MAPPING_NV 0x8543 1254 #define GL_COMBINER_COMPONENT_USAGE_NV 0x8544 1255 #define GL_COMBINER_AB_DOT_PRODUCT_NV 0x8545 1256 #define GL_COMBINER_CD_DOT_PRODUCT_NV 0x8546 1257 #define GL_COMBINER_MUX_SUM_NV 0x8547 1258 #define GL_COMBINER_SCALE_NV 0x8548 1259 #define GL_COMBINER_BIAS_NV 0x8549 1260 #define GL_COMBINER_AB_OUTPUT_NV 0x854A 1261 #define GL_COMBINER_CD_OUTPUT_NV 0x854B 1262 #define GL_COMBINER_SUM_OUTPUT_NV 0x854C 1263 #define GL_NUM_GENERAL_COMBINERS_NV 0x854E 1264 #define GL_COLOR_SUM_CLAMP_NV 0x854F 1265 #define GL_MAX_GENERAL_COMBINERS_NV 0x854D 1266 1267 typedef void (APIENTRY * glCombinerParameterfvNVPROC) (GLenum pname, const GLfloat *params); 1268 typedef void (APIENTRY * glCombinerParameterfNVPROC) (GLenum pname, GLfloat param); 1269 typedef void (APIENTRY * glCombinerParameterivNVPROC) (GLenum pname, const GLint *params); 1270 typedef void (APIENTRY * glCombinerParameteriNVPROC) (GLenum pname, GLint param); 1271 typedef void (APIENTRY * glCombinerInputNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); 1272 typedef void (APIENTRY * glCombinerOutputNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum); 1273 typedef void (APIENTRY * glFinalCombinerInputNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); 1274 typedef void (APIENTRY * glGetCombinerInputParameterfvNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params); 1275 typedef void (APIENTRY * glGetCombinerInputParameterivNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params); 1276 typedef void (APIENTRY * glGetCombinerOutputParameterfvNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat *params); 1277 typedef void (APIENTRY * glGetCombinerOutputParameterivNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint *params); 1278 typedef void (APIENTRY * glGetFinalCombinerInputParameterfvNVPROC) (GLenum variable, GLenum pname, GLfloat *params); 1279 typedef void (APIENTRY * glGetFinalCombinerInputParameterivNVPROC) (GLenum variable, GLenum pname, GLint *params); 1280 1281 extern glCombinerParameterfvNVPROC glCombinerParameterfvNV; 1282 extern glCombinerParameterfNVPROC glCombinerParameterfNV; 1283 extern glCombinerParameterivNVPROC glCombinerParameterivNV; 1284 extern glCombinerParameteriNVPROC glCombinerParameteriNV; 1285 extern glCombinerInputNVPROC glCombinerInputNV; 1286 extern glCombinerOutputNVPROC glCombinerOutputNV; 1287 extern glFinalCombinerInputNVPROC glFinalCombinerInputNV; 1288 extern glGetCombinerInputParameterfvNVPROC glGetCombinerInputParameterfvNV; 1289 extern glGetCombinerInputParameterivNVPROC glGetCombinerInputParameterivNV; 1290 extern glGetCombinerOutputParameterfvNVPROC glGetCombinerOutputParameterfvNV; 1291 extern glGetCombinerOutputParameterivNVPROC glGetCombinerOutputParameterivNV; 1292 extern glGetFinalCombinerInputParameterfvNVPROC glGetFinalCombinerInputParameterfvNV; 1293 extern glGetFinalCombinerInputParameterivNVPROC glGetFinalCombinerInputParameterivNV; 1294 1295 #endif /* GL_NV_register_combiners */ 1296 1297 /*-------------------------------------------------------------------*/ 1298 /*------------ARB_MULTISAMPLE----------------------------------------*/ 1299 /*-------------------------------------------------------------------*/ 1300 1301 #ifndef GL_ARB_multisample 1302 #define GL_ARB_multisample 1 1303 1304 #define GL_MULTISAMPLE_ARB 0x809D 1305 #define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E 1306 #define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F 1307 #define GL_SAMPLE_COVERAGE_ARB 0x80A0 1308 #define GL_SAMPLE_BUFFERS_ARB 0x80A8 1309 #define GL_SAMPLES_ARB 0x80A9 1310 #define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA 1311 #define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB 1312 #define GL_MULTISAMPLE_BIT_ARB 0x20000000 1313 1314 typedef void (APIENTRY * glSampleCoverageARBPROC) (GLclampf value, GLboolean invert ); 1315 1316 extern glSampleCoverageARBPROC glSampleCoverageARB; 1317 1318 #endif /* GL_ARB_multisample */ 1319 1320 /*-------------------------------------------------------------------*/ 1321 /*------------NV_TEXTURE_SHADER--------------------------------------*/ 1322 /*-------------------------------------------------------------------*/ 1323 1324 #ifndef GL_NV_texture_shader 1325 #define GL_NV_texture_shader 1 1326 1327 #define GL_TEXTURE_SHADER_NV 0x86DE 1328 #define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9 1329 #define GL_SHADER_OPERATION_NV 0x86DF 1330 #define GL_CULL_MODES_NV 0x86E0 1331 #define GL_OFFSET_TEXTURE_MATRIX_NV 0x86E1 1332 #define GL_OFFSET_TEXTURE_SCALE_NV 0x86E2 1333 #define GL_OFFSET_TEXTURE_BIAS_NV 0x86E3 1334 #define GL_PREVIOUS_TEXTURE_INPUT_NV 0x86E4 1335 #define GL_CONST_EYE_NV 0x86E5 1336 #define GL_SHADER_CONSISTENT_NV 0x86DD 1337 #define GL_PASS_THROUGH_NV 0x86E6 1338 #define GL_CULL_FRAGMENT_NV 0x86E7 1339 #define GL_OFFSET_TEXTURE_2D_NV 0x86E8 1340 #define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C 1341 #define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D 1342 #define GL_DEPENDENT_AR_TEXTURE_2D_NV 0x86E9 1343 #define GL_DEPENDENT_GB_TEXTURE_2D_NV 0x86EA 1344 #define GL_DOT_PRODUCT_NV 0x86EC 1345 #define GL_DOT_PRODUCT_DEPTH_REPLACE_NV 0x86ED 1346 #define GL_DOT_PRODUCT_TEXTURE_2D_NV 0x86EE 1347 #define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E 1348 #define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0 1349 #define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1 1350 #define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2 1351 #define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3 1352 #define GL_HILO_NV 0x86F4 1353 #define GL_DSDT_NV 0x86F5 1354 #define GL_DSDT_MAG_NV 0x86F6 1355 #define GL_DSDT_MAG_VIB_NV 0x86F7 1356 #define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA 1357 #define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB 1358 #define GL_SIGNED_RGBA_NV 0x86FB 1359 #define GL_SIGNED_RGBA8_NV 0x86FC 1360 #define GL_SIGNED_RGB_NV 0x86FE 1361 #define GL_SIGNED_RGB8_NV 0x86FF 1362 #define GL_SIGNED_LUMINANCE_NV 0x8701 1363 #define GL_SIGNED_LUMINANCE8_NV 0x8702 1364 #define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703 1365 #define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704 1366 #define GL_SIGNED_ALPHA_NV 0x8705 1367 #define GL_SIGNED_ALPHA8_NV 0x8706 1368 #define GL_SIGNED_INTENSITY_NV 0x8707 1369 #define GL_SIGNED_INTENSITY8_NV 0x8708 1370 #define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C 1371 #define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D 1372 #define GL_HILO16_NV 0x86F8 1373 #define GL_SIGNED_HILO_NV 0x86F9 1374 #define GL_SIGNED_HILO16_NV 0x86FA 1375 #define GL_DSDT8_NV 0x8709 1376 #define GL_DSDT8_MAG8_NV 0x870A 1377 #define GL_DSDT_MAG_INTENSITY_NV 0x86DC 1378 #define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B 1379 #define GL_HI_SCALE_NV 0x870E 1380 #define GL_LO_SCALE_NV 0x870F 1381 #define GL_DS_SCALE_NV 0x8710 1382 #define GL_DT_SCALE_NV 0x8711 1383 #define GL_MAGNITUDE_SCALE_NV 0x8712 1384 #define GL_VIBRANCE_SCALE_NV 0x8713 1385 #define GL_HI_BIAS_NV 0x8714 1386 #define GL_LO_BIAS_NV 0x8715 1387 #define GL_DS_BIAS_NV 0x8716 1388 #define GL_DT_BIAS_NV 0x8717 1389 #define GL_MAGNITUDE_BIAS_NV 0x8718 1390 #define GL_VIBRANCE_BIAS_NV 0x8719 1391 #define GL_TEXTURE_BORDER_VALUES_NV 0x871A 1392 #define GL_TEXTURE_HI_SIZE_NV 0x871B 1393 #define GL_TEXTURE_LO_SIZE_NV 0x871C 1394 #define GL_TEXTURE_DS_SIZE_NV 0x871D 1395 #define GL_TEXTURE_DT_SIZE_NV 0x871E 1396 #define GL_TEXTURE_MAG_SIZE_NV 0x871F 1397 1398 #endif /* GL_NV_texture_shader */ 1399 1400 /*-------------------------------------------------------------------*/ 1401 /*------------GL_NV_TEXTURE_RECTANGLE--------------------------------*/ 1402 /*-------------------------------------------------------------------*/ 1403 1404 #ifndef GL_NV_texture_rectangle 1405 #define GL_NV_texture_rectangle 1 1406 1407 #define GL_TEXTURE_RECTANGLE_NV 0x84F5 1408 #define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6 1409 #define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7 1410 #define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8 1411 1412 #endif /* GL_NV_texture_recrangle */ 1413 1414 /*-------------------------------------------------------------------*/ 1415 /*------------NV_TEXTURE_ENV_COMBINE4--------------------------------*/ 1416 /*-------------------------------------------------------------------*/ 1417 1418 #ifndef GL_NV_texture_env_combine4 1419 #define GL_NV_texture_env_combine4 1 1420 1421 #define GL_COMBINE4_NV 0x8503 1422 #define GL_SOURCE3_RGB_NV 0x8583 1423 #define GL_SOURCE3_ALPHA_NV 0x858B 1424 #define GL_OPERAND3_RGB_NV 0x8593 1425 #define GL_OPERAND3_ALPHA_NV 0x859B 1426 1427 #endif /* GL_NV_texture_env_combine */ 1428 1429 /*-------------------------------------------------------------------*/ 1430 /*------------NV_FOG_DISTANCE----------------------------------------*/ 1431 /*-------------------------------------------------------------------*/ 1432 1433 #ifndef GL_NV_fog_distance 1434 #define GL_NV_fog_distance 1 1435 1436 #define GL_FOG_DISTANCE_MODE_NV 0x855A 1437 #define GL_EYE_RADIAL_NV 0x855B 1438 #define GL_EYE_PLANE_ABSOLUTE_NV 0x855C 1439 1440 #endif /* GL_NV_fog_distance */ 1441 1442 /*-------------------------------------------------------------------*/ 1443 /*------------EXT_TEXTURE_FILTER_ANISOTROPIC-------------------------*/ 1444 /*-------------------------------------------------------------------*/ 1445 1446 #ifndef GL_EXT_texture_filter_anisotropic 1447 #define GL_EXT_texture_filter_anisotropic 1 1448 1449 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE 1450 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF 1451 1452 #endif /* GL_EXT_texture_filter_anisotropic */ 1453 1454 /*-------------------------------------------------------------------*/ 1455 /*------------SGIS_GENERATE_MIPMAP-----------------------------------*/ 1456 /*-------------------------------------------------------------------*/ 1457 1458 #ifndef GL_SGIS_generate_mipmap 1459 #define GL_SGIS_generate_mipmap 1 1460 1461 #define GL_GENERATE_MIPMAP_SGIS 0x8191 1462 #define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192 1463 1464 #endif /* GL_SGIS_generate_mipmap */ 1465 1466 /*-------------------------------------------------------------------*/ 1467 /*------------NV_TEXGEN_REFLECTION-----------------------------------*/ 1468 /*-------------------------------------------------------------------*/ 1469 1470 #ifndef GL_NV_texgen_reflection 1471 #define GL_NV_texgen_reflection 1 1472 1473 #define GL_NORMAL_MAP_NV 0x8511 1474 #define GL_REFLECTION_MAP_NV 0x8512 1475 1476 #endif /* GL_NV_texgen_reflection */ 1477 1478 /*-------------------------------------------------------------------*/ 1479 /*------------EXT_VERTEX_WEIGHTING-----------------------------------*/ 1480 /*-------------------------------------------------------------------*/ 1481 1482 #ifndef GL_EXT_vertex_weighting 1483 #define GL_EXT_vertex_weighting 1 1484 1485 #define GL_MODELVIEW0_STACK_DEPTH_EXT 0x0BA3 /* alias to GL_MODELVIEW_STACK_DEPTH */ 1486 #define GL_MODELVIEW1_STACK_DEPTH_EXT 0x8502 1487 #define GL_MODELVIEW0_MATRIX_EXT 0x0BA6 /* alias to GL_MODELVIEW_MATRIX */ 1488 #define GL_MODELVIEW1_MATRIX_EXT 0x8506 1489 #define GL_VERTEX_WEIGHTING_EXT 0x8509 1490 #define GL_MODELVIEW0_EXT 0x1700 /* alias to GL_MODELVIEW */ 1491 #define GL_MODELVIEW1_EXT 0x850A 1492 #define GL_CURRENT_VERTEX_WEIGHT_EXT 0x850B 1493 #define GL_VERTEX_WEIGHT_ARRAY_EXT 0x850C 1494 #define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT 0x850D 1495 #define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT 0x850E 1496 #define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F 1497 #define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510 1498 1499 typedef void (APIENTRY * glVertexWeightfEXTPROC) (GLfloat weight); 1500 typedef void (APIENTRY * glVertexWeightfvEXTPROC) (const GLfloat *weight); 1501 typedef void (APIENTRY * glVertexWeightPointerEXTPROC) (GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer); 1502 1503 extern glVertexWeightfEXTPROC glVertexWeightfEXT; 1504 extern glVertexWeightfvEXTPROC glVertexWeightfvEXT; 1505 extern glVertexWeightPointerEXTPROC glVertexWeightPointerEXT; 1506 1507 #endif /* GL_EXT_vertex_weighting */ 1508 1509 /*-------------------------------------------------------------------*/ 1510 /*------------NV_VERTEX_PROGRAM--------------------------------------*/ 1511 /*-------------------------------------------------------------------*/ 1512 1513 #ifndef GL_NV_vertex_program 1514 #define GL_NV_vertex_program 1 1515 1516 #define GL_VERTEX_PROGRAM_NV 0x8620 1517 #define GL_VERTEX_PROGRAM_POINT_SIZE_NV 0x8642 1518 #define GL_VERTEX_PROGRAM_TWO_SIDE_NV 0x8643 1519 #define GL_VERTEX_STATE_PROGRAM_NV 0x8621 1520 #define GL_ATTRIB_ARRAY_SIZE_NV 0x8623 1521 #define GL_ATTRIB_ARRAY_STRIDE_NV 0x8624 1522 #define GL_ATTRIB_ARRAY_TYPE_NV 0x8625 1523 #define GL_CURRENT_ATTRIB_NV 0x8626 1524 #define GL_PROGRAM_PARAMETER_NV 0x8644 1525 #define GL_ATTRIB_ARRAY_POINTER_NV 0x8645 1526 #define GL_PROGRAM_TARGET_NV 0x8646 1527 #define GL_PROGRAM_LENGTH_NV 0x8627 1528 #define GL_PROGRAM_RESIDENT_NV 0x8647 1529 #define GL_PROGRAM_STRING_NV 0x8628 1530 #define GL_TRACK_MATRIX_NV 0x8648 1531 #define GL_TRACK_MATRIX_TRANSFORM_NV 0x8649 1532 #define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E 1533 #define GL_MAX_TRACK_MATRICES_NV 0x862F 1534 #define GL_CURRENT_MATRIX_STACK_DEPTH_NV 0x8640 1535 #define GL_CURRENT_MATRIX_NV 0x8641 1536 #define GL_VERTEX_PROGRAM_BINDING_NV 0x864A 1537 #define GL_PROGRAM_ERROR_POSITION_NV 0x864B 1538 #define GL_MODELVIEW_PROJECTION_NV 0x8629 1539 #define GL_MATRIX0_NV 0x8630 1540 #define GL_MATRIX1_NV 0x8631 1541 #define GL_MATRIX2_NV 0x8632 1542 #define GL_MATRIX3_NV 0x8633 1543 #define GL_MATRIX4_NV 0x8634 1544 #define GL_MATRIX5_NV 0x8635 1545 #define GL_MATRIX6_NV 0x8636 1546 #define GL_MATRIX7_NV 0x8637 1547 #define GL_IDENTITY_NV 0x862A 1548 #define GL_INVERSE_NV 0x862B 1549 #define GL_TRANSPOSE_NV 0x862C 1550 #define GL_INVERSE_TRANSPOSE_NV 0x862D 1551 #define GL_VERTEX_ATTRIB_ARRAY0_NV 0x8650 1552 #define GL_VERTEX_ATTRIB_ARRAY1_NV 0x8651 1553 #define GL_VERTEX_ATTRIB_ARRAY2_NV 0x8652 1554 #define GL_VERTEX_ATTRIB_ARRAY3_NV 0x8653 1555 #define GL_VERTEX_ATTRIB_ARRAY4_NV 0x8654 1556 #define GL_VERTEX_ATTRIB_ARRAY5_NV 0x8655 1557 #define GL_VERTEX_ATTRIB_ARRAY6_NV 0x8656 1558 #define GL_VERTEX_ATTRIB_ARRAY7_NV 0x8657 1559 #define GL_VERTEX_ATTRIB_ARRAY8_NV 0x8658 1560 #define GL_VERTEX_ATTRIB_ARRAY9_NV 0x8659 1561 #define GL_VERTEX_ATTRIB_ARRAY10_NV 0x865A 1562 #define GL_VERTEX_ATTRIB_ARRAY11_NV 0x865B 1563 #define GL_VERTEX_ATTRIB_ARRAY12_NV 0x865C 1564 #define GL_VERTEX_ATTRIB_ARRAY13_NV 0x865D 1565 #define GL_VERTEX_ATTRIB_ARRAY14_NV 0x865E 1566 #define GL_VERTEX_ATTRIB_ARRAY15_NV 0x865F 1567 #define GL_MAP1_VERTEX_ATTRIB0_4_NV 0x8660 1568 #define GL_MAP1_VERTEX_ATTRIB1_4_NV 0x8661 1569 #define GL_MAP1_VERTEX_ATTRIB2_4_NV 0x8662 1570 #define GL_MAP1_VERTEX_ATTRIB3_4_NV 0x8663 1571 #define GL_MAP1_VERTEX_ATTRIB4_4_NV 0x8664 1572 #define GL_MAP1_VERTEX_ATTRIB5_4_NV 0x8665 1573 #define GL_MAP1_VERTEX_ATTRIB6_4_NV 0x8666 1574 #define GL_MAP1_VERTEX_ATTRIB7_4_NV 0x8667 1575 #define GL_MAP1_VERTEX_ATTRIB8_4_NV 0x8668 1576 #define GL_MAP1_VERTEX_ATTRIB9_4_NV 0x8669 1577 #define GL_MAP1_VERTEX_ATTRIB10_4_NV 0x866A 1578 #define GL_MAP1_VERTEX_ATTRIB11_4_NV 0x866B 1579 #define GL_MAP1_VERTEX_ATTRIB12_4_NV 0x866C 1580 #define GL_MAP1_VERTEX_ATTRIB13_4_NV 0x866D 1581 #define GL_MAP1_VERTEX_ATTRIB14_4_NV 0x866E 1582 #define GL_MAP1_VERTEX_ATTRIB15_4_NV 0x866F 1583 #define GL_MAP2_VERTEX_ATTRIB0_4_NV 0x8670 1584 #define GL_MAP2_VERTEX_ATTRIB1_4_NV 0x8671 1585 #define GL_MAP2_VERTEX_ATTRIB2_4_NV 0x8672 1586 #define GL_MAP2_VERTEX_ATTRIB3_4_NV 0x8673 1587 #define GL_MAP2_VERTEX_ATTRIB4_4_NV 0x8674 1588 #define GL_MAP2_VERTEX_ATTRIB5_4_NV 0x8675 1589 #define GL_MAP2_VERTEX_ATTRIB6_4_NV 0x8676 1590 #define GL_MAP2_VERTEX_ATTRIB7_4_NV 0x8677 1591 #define GL_MAP2_VERTEX_ATTRIB8_4_NV 0x8678 1592 #define GL_MAP2_VERTEX_ATTRIB9_4_NV 0x8679 1593 #define GL_MAP2_VERTEX_ATTRIB10_4_NV 0x867A 1594 #define GL_MAP2_VERTEX_ATTRIB11_4_NV 0x867B 1595 #define GL_MAP2_VERTEX_ATTRIB12_4_NV 0x867C 1596 #define GL_MAP2_VERTEX_ATTRIB13_4_NV 0x867D 1597 #define GL_MAP2_VERTEX_ATTRIB14_4_NV 0x867E 1598 #define GL_MAP2_VERTEX_ATTRIB15_4_NV 0x867F 1599 1600 typedef void (APIENTRY * glBindProgramNVPROC) (GLenum target, GLuint id); 1601 typedef void (APIENTRY * glDeleteProgramsNVPROC) (GLsizei n, const GLuint *ids); 1602 typedef void (APIENTRY * glExecuteProgramNVPROC) (GLenum target, GLuint id, const GLfloat *params); 1603 typedef void (APIENTRY * glGenProgramsNVPROC) (GLsizei n, GLuint *ids); 1604 typedef GLboolean (APIENTRY * glAreProgramsResidentNVPROC) (GLsizei n, const GLuint *ids, GLboolean *residences); 1605 typedef void (APIENTRY * glRequestResidentProgramsNVPROC) (GLsizei n, GLuint *ids); 1606 typedef void (APIENTRY * glGetProgramParameterfvNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params); 1607 typedef void (APIENTRY * glGetProgramParameterdvNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params); 1608 typedef void (APIENTRY * glGetProgramivNVPROC) (GLuint id, GLenum pname, GLint *params); 1609 typedef void (APIENTRY * glGetProgramStringNVPROC) (GLuint id, GLenum pname, GLubyte *program); 1610 typedef void (APIENTRY * glGetTrackMatrixivNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params); 1611 typedef void (APIENTRY * glGetVertexAttribdvNVPROC) (GLuint index, GLenum pname, GLdouble *params); 1612 typedef void (APIENTRY * glGetVertexAttribfvNVPROC) (GLuint index, GLenum pname, GLfloat *params); 1613 typedef void (APIENTRY * glGetVertexAttribivNVPROC) (GLuint index, GLenum pname, GLint *params); 1614 typedef void (APIENTRY * glGetVertexAttribPointervNVPROC) (GLuint index, GLenum pname, GLvoid **pointer); 1615 typedef GLboolean (APIENTRY * glIsProgramNVPROC) (GLuint id); 1616 typedef void (APIENTRY * glLoadProgramNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program); 1617 typedef void (APIENTRY * glProgramParameter4fNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 1618 typedef void (APIENTRY * glProgramParameter4dNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); 1619 typedef void (APIENTRY * glProgramParameter4dvNVPROC) (GLenum target, GLuint index, const GLdouble *params); 1620 typedef void (APIENTRY * glProgramParameter4fvNVPROC) (GLenum target, GLuint index, const GLfloat *params); 1621 typedef void (APIENTRY * glProgramParameters4dvNVPROC) (GLenum target, GLuint index, GLuint num, const GLdouble *params); 1622 typedef void (APIENTRY * glProgramParameters4fvNVPROC) (GLenum target, GLuint index, GLuint num, const GLfloat *params); 1623 typedef void (APIENTRY * glTrackMatrixNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform); 1624 typedef void (APIENTRY * glVertexAttribPointerNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); 1625 typedef void (APIENTRY * glVertexAttrib1sNVPROC) (GLuint index, GLshort x); 1626 typedef void (APIENTRY * glVertexAttrib1fNVPROC) (GLuint index, GLfloat x); 1627 typedef void (APIENTRY * glVertexAttrib1dNVPROC) (GLuint index, GLdouble x); 1628 typedef void (APIENTRY * glVertexAttrib2sNVPROC) (GLuint index, GLshort x, GLshort y); 1629 typedef void (APIENTRY * glVertexAttrib2fNVPROC) (GLuint index, GLfloat x, GLfloat y); 1630 typedef void (APIENTRY * glVertexAttrib2dNVPROC) (GLuint index, GLdouble x, GLdouble y); 1631 typedef void (APIENTRY * glVertexAttrib3sNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z); 1632 typedef void (APIENTRY * glVertexAttrib3fNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); 1633 typedef void (APIENTRY * glVertexAttrib3dNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); 1634 typedef void (APIENTRY * glVertexAttrib4sNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); 1635 typedef void (APIENTRY * glVertexAttrib4fNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 1636 typedef void (APIENTRY * glVertexAttrib4dNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); 1637 typedef void (APIENTRY * glVertexAttrib4ubNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); 1638 typedef void (APIENTRY * glVertexAttrib1svNVPROC) (GLuint index, const GLshort *v); 1639 typedef void (APIENTRY * glVertexAttrib1fvNVPROC) (GLuint index, const GLfloat *v); 1640 typedef void (APIENTRY * glVertexAttrib1dvNVPROC) (GLuint index, const GLdouble *v); 1641 typedef void (APIENTRY * glVertexAttrib2svNVPROC) (GLuint index, const GLshort *v); 1642 typedef void (APIENTRY * glVertexAttrib2fvNVPROC) (GLuint index, const GLfloat *v); 1643 typedef void (APIENTRY * glVertexAttrib2dvNVPROC) (GLuint index, const GLdouble *v); 1644 typedef void (APIENTRY * glVertexAttrib3svNVPROC) (GLuint index, const GLshort *v); 1645 typedef void (APIENTRY * glVertexAttrib3fvNVPROC) (GLuint index, const GLfloat *v); 1646 typedef void (APIENTRY * glVertexAttrib3dvNVPROC) (GLuint index, const GLdouble *v); 1647 typedef void (APIENTRY * glVertexAttrib4svNVPROC) (GLuint index, const GLshort *v); 1648 typedef void (APIENTRY * glVertexAttrib4fvNVPROC) (GLuint index, const GLfloat *v); 1649 typedef void (APIENTRY * glVertexAttrib4dvNVPROC) (GLuint index, const GLdouble *v); 1650 typedef void (APIENTRY * glVertexAttrib4ubvNVPROC) (GLuint index, const GLubyte *v); 1651 typedef void (APIENTRY * glVertexAttribs1svNVPROC) (GLuint index, GLsizei n, const GLshort *v); 1652 typedef void (APIENTRY * glVertexAttribs1fvNVPROC) (GLuint index, GLsizei n, const GLfloat *v); 1653 typedef void (APIENTRY * glVertexAttribs1dvNVPROC) (GLuint index, GLsizei n, const GLdouble *v); 1654 typedef void (APIENTRY * glVertexAttribs2svNVPROC) (GLuint index, GLsizei n, const GLshort *v); 1655 typedef void (APIENTRY * glVertexAttribs2fvNVPROC) (GLuint index, GLsizei n, const GLfloat *v); 1656 typedef void (APIENTRY * glVertexAttribs2dvNVPROC) (GLuint index, GLsizei n, const GLdouble *v); 1657 typedef void (APIENTRY * glVertexAttribs3svNVPROC) (GLuint index, GLsizei n, const GLshort *v); 1658 typedef void (APIENTRY * glVertexAttribs3fvNVPROC) (GLuint index, GLsizei n, const GLfloat *v); 1659 typedef void (APIENTRY * glVertexAttribs3dvNVPROC) (GLuint index, GLsizei n, const GLdouble *v); 1660 typedef void (APIENTRY * glVertexAttribs4svNVPROC) (GLuint index, GLsizei n, const GLshort *v); 1661 typedef void (APIENTRY * glVertexAttribs4fvNVPROC) (GLuint index, GLsizei n, const GLfloat *v); 1662 typedef void (APIENTRY * glVertexAttribs4dvNVPROC) (GLuint index, GLsizei n, const GLdouble *v); 1663 typedef void (APIENTRY * glVertexAttribs4ubvNVPROC) (GLuint index, GLsizei n, const GLubyte *v); 1664 1665 extern glBindProgramNVPROC glBindProgramNV; 1666 extern glDeleteProgramsNVPROC glDeleteProgramsNV; 1667 extern glExecuteProgramNVPROC glExecuteProgramNV; 1668 extern glGenProgramsNVPROC glGenProgramsNV; 1669 extern glAreProgramsResidentNVPROC glAreProgramsResidentNV; 1670 extern glRequestResidentProgramsNVPROC glRequestResidentProgramsNV; 1671 extern glGetProgramParameterfvNVPROC glGetProgramParameterfvNV; 1672 extern glGetProgramParameterdvNVPROC glGetProgramParameterdvNV; 1673 extern glGetProgramivNVPROC glGetProgramivNV; 1674 extern glGetProgramStringNVPROC glGetProgramStringNV; 1675 extern glGetTrackMatrixivNVPROC glGetTrackMatrixivNV; 1676 extern glGetVertexAttribdvNVPROC glGetVertexAttribdvNV; 1677 extern glGetVertexAttribfvNVPROC glGetVertexAttribfvNV; 1678 extern glGetVertexAttribivNVPROC glGetVertexAttribivNV; 1679 extern glGetVertexAttribPointervNVPROC glGetVertexAttribPointervNV; 1680 extern glIsProgramNVPROC glIsProgramNV; 1681 extern glLoadProgramNVPROC glLoadProgramNV; 1682 extern glProgramParameter4fNVPROC glProgramParameter4fNV; 1683 extern glProgramParameter4dNVPROC glProgramParameter4dNV; 1684 extern glProgramParameter4dvNVPROC glProgramParameter4dvNV; 1685 extern glProgramParameter4fvNVPROC glProgramParameter4fvNV; 1686 extern glProgramParameters4dvNVPROC glProgramParameters4dvNV; 1687 extern glProgramParameters4fvNVPROC glProgramParameters4fvNV; 1688 extern glTrackMatrixNVPROC glTrackMatrixNV; 1689 extern glVertexAttribPointerNVPROC glVertexAttribPointerNV; 1690 extern glVertexAttrib1sNVPROC glVertexAttrib1sNV; 1691 extern glVertexAttrib1fNVPROC glVertexAttrib1fNV; 1692 extern glVertexAttrib1dNVPROC glVertexAttrib1dNV; 1693 extern glVertexAttrib2sNVPROC glVertexAttrib2sNV; 1694 extern glVertexAttrib2fNVPROC glVertexAttrib2fNV; 1695 extern glVertexAttrib2dNVPROC glVertexAttrib2dNV; 1696 extern glVertexAttrib3sNVPROC glVertexAttrib3sNV; 1697 extern glVertexAttrib3fNVPROC glVertexAttrib3fNV; 1698 extern glVertexAttrib3dNVPROC glVertexAttrib3dNV; 1699 extern glVertexAttrib4sNVPROC glVertexAttrib4sNV; 1700 extern glVertexAttrib4fNVPROC glVertexAttrib4fNV; 1701 extern glVertexAttrib4dNVPROC glVertexAttrib4dNV; 1702 extern glVertexAttrib4ubNVPROC glVertexAttrib4ubNV; 1703 extern glVertexAttrib1svNVPROC glVertexAttrib1svNV; 1704 extern glVertexAttrib1fvNVPROC glVertexAttrib1fvNV; 1705 extern glVertexAttrib1dvNVPROC glVertexAttrib1dvNV; 1706 extern glVertexAttrib2svNVPROC glVertexAttrib2svNV; 1707 extern glVertexAttrib2fvNVPROC glVertexAttrib2fvNV; 1708 extern glVertexAttrib2dvNVPROC glVertexAttrib2dvNV; 1709 extern glVertexAttrib3svNVPROC glVertexAttrib3svNV; 1710 extern glVertexAttrib3fvNVPROC glVertexAttrib3fvNV; 1711 extern glVertexAttrib3dvNVPROC glVertexAttrib3dvNV; 1712 extern glVertexAttrib4svNVPROC glVertexAttrib4svNV; 1713 extern glVertexAttrib4fvNVPROC glVertexAttrib4fvNV; 1714 extern glVertexAttrib4dvNVPROC glVertexAttrib4dvNV; 1715 extern glVertexAttrib4ubvNVPROC glVertexAttrib4ubvNV; 1716 extern glVertexAttribs1svNVPROC glVertexAttribs1svNV; 1717 extern glVertexAttribs1fvNVPROC glVertexAttribs1fvNV; 1718 extern glVertexAttribs1dvNVPROC glVertexAttribs1dvNV; 1719 extern glVertexAttribs2svNVPROC glVertexAttribs2svNV; 1720 extern glVertexAttribs2fvNVPROC glVertexAttribs2fvNV; 1721 extern glVertexAttribs2dvNVPROC glVertexAttribs2dvNV; 1722 extern glVertexAttribs3svNVPROC glVertexAttribs3svNV; 1723 extern glVertexAttribs3fvNVPROC glVertexAttribs3fvNV; 1724 extern glVertexAttribs3dvNVPROC glVertexAttribs3dvNV; 1725 extern glVertexAttribs4svNVPROC glVertexAttribs4svNV; 1726 extern glVertexAttribs4fvNVPROC glVertexAttribs4fvNV; 1727 extern glVertexAttribs4dvNVPROC glVertexAttribs4dvNV; 1728 extern glVertexAttribs4ubvNVPROC glVertexAttribs4ubvNV; 1729 1730 #endif /* GL_NV_vertex_program */ 1731 1732 /*-------------------------------------------------------------------*/ 1733 /*------------NV_FENCE-----------------------------------------------*/ 1734 /*-------------------------------------------------------------------*/ 1735 1736 #ifndef GL_NV_fence 1737 #define GL_NV_fence 1 1738 1739 #define GL_ALL_COMPLETED_NV 0x84F2 1740 #define GL_FENCE_STATUS_NV 0x84F3 1741 #define GL_FENCE_CONDITION_NV 0x84F4 1742 1743 typedef void (APIENTRY * glGenFencesNVPROC) (GLsizei n, GLuint *fences); 1744 typedef void (APIENTRY * glDeleteFencesNVPROC) (GLsizei n, const GLuint *fences); 1745 typedef void (APIENTRY * glSetFenceNVPROC) (GLuint fence, GLenum condition); 1746 typedef GLboolean (APIENTRY * glTestFenceNVPROC) (GLuint fence); 1747 typedef void (APIENTRY * glFinishFenceNVPROC) (GLuint fence); 1748 typedef GLboolean (APIENTRY * glIsFenceNVPROC) (GLuint fence); 1749 typedef void (APIENTRY * glGetFenceivNVPROC) (GLuint fence, GLenum pname, GLint *params); 1750 1751 extern glGenFencesNVPROC glGenFencesNV; 1752 extern glDeleteFencesNVPROC glDeleteFencesNV; 1753 extern glSetFenceNVPROC glSetFenceNV; 1754 extern glTestFenceNVPROC glTestFenceNV; 1755 extern glFinishFenceNVPROC glFinishFenceNV; 1756 extern glIsFenceNVPROC glIsFenceNV; 1757 extern glGetFenceivNVPROC glGetFenceivNV; 1758 1759 #endif /* GL_NV_fence */ 1760 1761 /*-------------------------------------------------------------------*/ 1762 /*------------NV_TEXTURE_SHADER2-------------------------------------*/ 1763 /*-------------------------------------------------------------------*/ 1764 1765 #ifndef GL_NV_texture_shader2 1766 #define GL_NV_texture_shader2 1767 1768 #define GL_DOT_PRODUCT_TEXTURE_3D_NV 0x86EF 1769 #define GL_HILO_NV 0x86F4 1770 #define GL_DSDT_NV 0x86F5 1771 #define GL_DSDT_MAG_NV 0x86F6 1772 #define GL_DSDT_MAG_VIB_NV 0x86F7 1773 #define GL_UNSIGNED_INT_S8_S8_8_8_NV 0x86DA 1774 #define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV 0x86DB 1775 #define GL_SIGNED_RGBA_NV 0x86FB 1776 #define GL_SIGNED_RGBA8_NV 0x86FC 1777 #define GL_SIGNED_RGB_NV 0x86FE 1778 #define GL_SIGNED_RGB8_NV 0x86FF 1779 #define GL_SIGNED_LUMINANCE_NV 0x8701 1780 #define GL_SIGNED_LUMINANCE8_NV 0x8702 1781 #define GL_SIGNED_LUMINANCE_ALPHA_NV 0x8703 1782 #define GL_SIGNED_LUMINANCE8_ALPHA8_NV 0x8704 1783 #define GL_SIGNED_ALPHA_NV 0x8705 1784 #define GL_SIGNED_ALPHA8_NV 0x8706 1785 #define GL_SIGNED_INTENSITY_NV 0x8707 1786 #define GL_SIGNED_INTENSITY8_NV 0x8708 1787 #define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV 0x870C 1788 #define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D 1789 #define GL_HILO16_NV 0x86F8 1790 #define GL_SIGNED_HILO_NV 0x86F9 1791 #define GL_SIGNED_HILO16_NV 0x86FA 1792 #define GL_DSDT8_NV 0x8709 1793 #define GL_DSDT8_MAG8_NV 0x870A 1794 #define GL_DSDT_MAG_INTENSITY_NV 0x86DC 1795 #define GL_DSDT8_MAG8_INTENSITY8_NV 0x870B 1796 1797 #endif /* GL_NV_texture_shader2 */ 1798 1799 /*-------------------------------------------------------------------*/ 1800 /*------------NV_BLEND_SQUARE----------------------------------------*/ 1801 /*-------------------------------------------------------------------*/ 1802 1803 #ifndef GL_NV_blend_square 1804 #define GL_NV_blend_square 1 1805 1806 #endif /* GL_NV_blend_square */ 1807 1808 /*-------------------------------------------------------------------*/ 1809 /*------------NV_LIGHT_MAX_EXPONENT----------------------------------*/ 1810 /*-------------------------------------------------------------------*/ 1811 1812 #ifndef GL_NV_light_max_exponent 1813 #define GL_NV_light_max_exponent 1 1814 1815 #define GL_MAX_SHININESS_NV 0x8504 1816 #define GL_MAX_SPOT_EXPONENT_NV 0x8505 1817 1818 #endif /* GL_NV_light_max_exponent */ 1819 1820 /*-------------------------------------------------------------------*/ 1821 /*------------NV_PACKED_DEPTH_STENCIL--------------------------------*/ 1822 /*-------------------------------------------------------------------*/ 1823 1824 #ifndef GL_NV_packed_depth_stencil 1825 #define GL_NV_packed_depth_stencil 1 1826 1827 #define GL_DEPTH_STENCIL_NV 0x84F9 1828 #define GL_UNSIGNED_INT_24_8_NV 0x84FA 1829 1830 #endif /* GL_NV_packed_depth_stencil */ 1831 1832 /*-------------------------------------------------------------------*/ 1833 /*------------NV_REGISTER_COMBINERS2---------------------------------*/ 1834 /*-------------------------------------------------------------------*/ 1835 1836 #ifndef GL_NV_register_combiners2 1837 #define GL_NV_register_combiners2 1838 1839 #define GL_PER_STAGE_CONSTANTS_NV 0x8535 1840 1841 typedef void (APIENTRY * glCombinerStageParameterfvNVPROC) (GLenum stage, GLenum pname, const GLfloat *params); 1842 typedef void (APIENTRY * glGetCombinerStageParameterfvNVPROC) (GLenum stage, GLenum pname, GLfloat *params); 1843 1844 extern glCombinerStageParameterfvNVPROC glCombinerStageParameterfvNV; 1845 extern glGetCombinerStageParameterfvNVPROC glGetCombinerStageParameterfvNV; 1846 1847 #endif /* GL_NV_register_combiners2 */ 1848 1849 /*-------------------------------------------------------------------*/ 1850 /*------------EXT_ABGR-----------------------------------------------*/ 1851 /*-------------------------------------------------------------------*/ 1852 1853 #ifndef GL_EXT_abgr 1854 #define GL_EXT_abgr 1 1855 1856 #define GL_ABGR_EXT 0x8000 1857 1858 #endif /* GL_EXT_abgr */ 1859 1860 /*-------------------------------------------------------------------*/ 1861 /*------------EXT_STENCIL_WRAP---------------------------------------*/ 1862 /*-------------------------------------------------------------------*/ 1863 1864 #ifndef GL_EXT_stencil_wrap 1865 #define GL_EXT_stencil_wrap 1 1866 1867 #define GL_INCR_WRAP_EXT 0x8507 1868 #define GL_DECR_WRAP_EXT 0x8508 1869 1870 #endif /* GL_EXT_stencil_wrap */ 1871 1872 /*-------------------------------------------------------------------*/ 1873 /*------------EXT_TEXTURE_LOD_BIAS-----------------------------------*/ 1874 /*-------------------------------------------------------------------*/ 1875 1876 #ifndef GL_EXT_texture_lod_bias 1877 #define GL_EXT_texture_lod_bias 1 1878 1879 #define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500 1880 #define GL_TEXTURE_LOD_BIAS_EXT 0x8501 1881 #define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD 1882 1883 #endif /* GL_EXT_texture_lod_bias */ 1884 1885 /*-------------------------------------------------------------------*/ 1886 /*------------NV_EVALUATORS------------------------------------------*/ 1887 /*-------------------------------------------------------------------*/ 1888 1889 #ifndef GL_NV_evaluators 1890 #define GL_NV_evaluators 1 1891 1892 #define GL_EVAL_2D_NV 0x86C0 1893 #define GL_EVAL_TRIANGULAR_2D_NV 0x86C1 1894 #define GL_MAP_TESSELLATION_NV 0x86C2 1895 #define GL_MAP_ATTRIB_U_ORDER_NV 0x86C3 1896 #define GL_MAP_ATTRIB_V_ORDER_NV 0x86C4 1897 #define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86C5 1898 #define GL_EVAL_VERTEX_ATTRIB0_NV 0x86C6 1899 #define GL_EVAL_VERTEX_ATTRIB1_NV 0x86C7 1900 #define GL_EVAL_VERTEX_ATTRIB2_NV 0x86C8 1901 #define GL_EVAL_VERTEX_ATTRIB3_NV 0x86C9 1902 #define GL_EVAL_VERTEX_ATTRIB4_NV 0x86CA 1903 #define GL_EVAL_VERTEX_ATTRIB5_NV 0x86CB 1904 #define GL_EVAL_VERTEX_ATTRIB6_NV 0x86CC 1905 #define GL_EVAL_VERTEX_ATTRIB7_NV 0x86CD 1906 #define GL_EVAL_VERTEX_ATTRIB8_NV 0x86CE 1907 #define GL_EVAL_VERTEX_ATTRIB9_NV 0x86CF 1908 #define GL_EVAL_VERTEX_ATTRIB10_NV 0x86D0 1909 #define GL_EVAL_VERTEX_ATTRIB11_NV 0x86D1 1910 #define GL_EVAL_VERTEX_ATTRIB12_NV 0x86D2 1911 #define GL_EVAL_VERTEX_ATTRIB13_NV 0x86D3 1912 #define GL_EVAL_VERTEX_ATTRIB14_NV 0x86D4 1913 #define GL_EVAL_VERTEX_ATTRIB15_NV 0x86D5 1914 #define GL_MAX_MAP_TESSELLATION_NV 0x86D6 1915 #define GL_MAX_RATIONAL_EVAL_ORDER_NV 0x86D7 1916 1917 typedef void (APIENTRY * glMapControlPointsNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points); 1918 typedef void (APIENTRY * glMapParameterivNVPROC) (GLenum target, GLenum pname, const GLint *params); 1919 typedef void (APIENTRY * glMapParameterfvNVPROC) (GLenum target, GLenum pname, const GLfloat *params); 1920 typedef void (APIENTRY * glGetMapControlPointsNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points); 1921 typedef void (APIENTRY * glGetMapParameterivNVPROC) (GLenum target, GLenum pname, GLint *params); 1922 typedef void (APIENTRY * glGetMapParameterfvNVPROC) (GLenum target, GLenum pname, GLfloat *params); 1923 typedef void (APIENTRY * glGetMapAttribParameterivNVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params); 1924 typedef void (APIENTRY * glGetMapAttribParameterfvNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params); 1925 typedef void (APIENTRY * glEvalMapsNVPROC) (GLenum target, GLenum mode); 1926 1927 extern glMapControlPointsNVPROC glMapControlPointsNV; 1928 extern glMapParameterivNVPROC glMapParameterivNV; 1929 extern glMapParameterfvNVPROC glMapParameterfvNV; 1930 extern glGetMapControlPointsNVPROC glGetMapControlPointsNV; 1931 extern glGetMapParameterivNVPROC glGetMapParameterivNV; 1932 extern glGetMapParameterfvNVPROC glGetMapParameterfvNV; 1933 extern glGetMapAttribParameterivNVPROC glGetMapAttribParameterivNV; 1934 extern glGetMapAttribParameterfvNVPROC glGetMapAttribParameterfvNV; 1935 extern glEvalMapsNVPROC glEvalMapsNV; 1936 1937 #endif /* GL_NV_evaluators */ 1938 1939 /*-------------------------------------------------------------------*/ 1940 /*------------NV_COPY_DEPTH_TO_COLOR---------------------------------*/ 1941 /*-------------------------------------------------------------------*/ 1942 1943 #ifndef GL_NV_copy_depth_to_color 1944 #define GL_NV_copy_depth_to_color 1 1945 1946 #define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E 1947 #define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886F 1948 1949 #endif /* GL_NV_copy_depth_to_color */ 1950 1951 /*-------------------------------------------------------------------*/ 1952 /*------------ATI_PN_TRIANGLES---------------------------------------*/ 1953 /*-------------------------------------------------------------------*/ 1954 1955 #ifndef GL_ATI_pn_triangles 1956 #define GL_ATI_pn_triangles 1 1957 1958 #define GL_PN_TRIANGLES_ATI 0x87F0 1959 #define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1 1960 #define GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2 1961 #define GL_PN_TRIANGLES_NORMAL_MODE_ATI 0x87F3 1962 #define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4 1963 #define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5 1964 #define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6 1965 #define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7 1966 #define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8 1967 1968 typedef void (APIENTRY * glPNTrianglesiATIPROC) (GLenum pname, GLint param); 1969 typedef void (APIENTRY * glPNTrianglesfATIPROC) (GLenum pname, GLfloat param); 1970 1971 extern glPNTrianglesiATIPROC glPNTrianglesiATI; 1972 extern glPNTrianglesfATIPROC glPNTrianglesfATI; 1973 1974 #endif /* GL_ATI_pn_triangles */ 1975 1976 /*-------------------------------------------------------------------*/ 1977 /*------------ARB_POINT_PARAMETERS-----------------------------------*/ 1978 /*-------------------------------------------------------------------*/ 1979 1980 #ifndef GL_ARB_point_parameters 1981 #define GL_ARB_point_parameters 1 1982 1983 #define GL_POINT_SIZE_MIN_ARB 0x8126 1984 #define GL_POINT_SIZE_MAX_ARB 0x8127 1985 #define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128 1986 #define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129 1987 1988 typedef void (APIENTRY * glPointParameterfARBPROC) (GLenum pname, GLfloat param); 1989 typedef void (APIENTRY * glPointParameterfvARBPROC) (GLenum pname, GLfloat *params); 1990 1991 extern glPointParameterfARBPROC glPointParameterfARB; 1992 extern glPointParameterfvARBPROC glPointParameterfvARB; 1993 1994 #endif /* GL_ARB_point_parameters */ 1995 1996 /*-------------------------------------------------------------------*/ 1997 /*------------ARB_TEXTURE_ENV_CROSSBAR-------------------------------*/ 1998 /*-------------------------------------------------------------------*/ 1999 2000 #ifndef GL_ARB_texture_env_crossbar 2001 #define GL_ARB_texture_env_crossbar 1 2002 2003 #endif 2004 2005 /*-------------------------------------------------------------------*/ 2006 /*------------ARB_VERTEX_BLEND---------------------------------------*/ 2007 /*-------------------------------------------------------------------*/ 2008 2009 #ifndef GL_ARB_vertex_blend 2010 #define GL_ARB_vertex_blend 1 2011 2012 #define GL_MAX_VERTEX_UNITS_ARB 0x86A4 2013 #define GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5 2014 #define GL_WEIGHT_SUM_UNITY_ARB 0x86A6 2015 #define GL_VERTEX_BLEND_ARB 0x86A7 2016 #define GL_CURRENT_WEIGHT_ARB 0x86A8 2017 #define GL_WEIGHT_ARRAY_TYPE_ARB 0x86A9 2018 #define GL_WEIGHT_ARRAY_STRIDE_ARB 0x86AA 2019 #define GL_WEIGHT_ARRAY_SIZE_ARB 0x86AB 2020 #define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC 2021 #define GL_WEIGHT_ARRAY_ARB 0x86AD 2022 #define GL_MODELVIEW0_ARB 0x1700 2023 #define GL_MODELVIEW1_ARB 0x850A 2024 #define GL_MODELVIEW2_ARB 0x8722 2025 #define GL_MODELVIEW3_ARB 0x8723 2026 #define GL_MODELVIEW4_ARB 0x8724 2027 #define GL_MODELVIEW5_ARB 0x8725 2028 #define GL_MODELVIEW6_ARB 0x8726 2029 #define GL_MODELVIEW7_ARB 0x8727 2030 #define GL_MODELVIEW8_ARB 0x8728 2031 #define GL_MODELVIEW9_ARB 0x8729 2032 #define GL_MODELVIEW10_ARB 0x872A 2033 #define GL_MODELVIEW11_ARB 0x872B 2034 #define GL_MODELVIEW12_ARB 0x872C 2035 #define GL_MODELVIEW13_ARB 0x872D 2036 #define GL_MODELVIEW14_ARB 0x872E 2037 #define GL_MODELVIEW15_ARB 0x872F 2038 #define GL_MODELVIEW16_ARB 0x8730 2039 #define GL_MODELVIEW17_ARB 0x8731 2040 #define GL_MODELVIEW18_ARB 0x8732 2041 #define GL_MODELVIEW19_ARB 0x8733 2042 #define GL_MODELVIEW20_ARB 0x8734 2043 #define GL_MODELVIEW21_ARB 0x8735 2044 #define GL_MODELVIEW22_ARB 0x8736 2045 #define GL_MODELVIEW23_ARB 0x8737 2046 #define GL_MODELVIEW24_ARB 0x8738 2047 #define GL_MODELVIEW25_ARB 0x8739 2048 #define GL_MODELVIEW26_ARB 0x873A 2049 #define GL_MODELVIEW27_ARB 0x873B 2050 #define GL_MODELVIEW28_ARB 0x873C 2051 #define GL_MODELVIEW29_ARB 0x873D 2052 #define GL_MODELVIEW30_ARB 0x873E 2053 #define GL_MODELVIEW31_ARB 0x873F 2054 2055 typedef void (APIENTRY * glWeightbvARBPROC) (GLint size, GLbyte *weights); 2056 typedef void (APIENTRY * glWeightsvARBPROC) (GLint size, GLshort *weights); 2057 typedef void (APIENTRY * glWeightivARBPROC) (GLint size, GLint *weights); 2058 typedef void (APIENTRY * glWeightfvARBPROC) (GLint size, GLfloat *weights); 2059 typedef void (APIENTRY * glWeightdvARBPROC) (GLint size, GLdouble *weights); 2060 typedef void (APIENTRY * glWeightubvARBPROC) (GLint size, GLubyte *weights); 2061 typedef void (APIENTRY * glWeightusvARBPROC) (GLint size, GLushort *weights); 2062 typedef void (APIENTRY * glWeightuivARBPROC) (GLint size, GLuint *weights); 2063 typedef void (APIENTRY * glWeightPointerARBPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer); 2064 typedef void (APIENTRY * glVertexBlendARBPROC) (GLint count); 2065 2066 extern glWeightbvARBPROC glWeightbvARB; 2067 extern glWeightsvARBPROC glWeightsvARB; 2068 extern glWeightivARBPROC glWeightivARB; 2069 extern glWeightfvARBPROC glWeightfvARB; 2070 extern glWeightdvARBPROC glWeightdvARB; 2071 extern glWeightubvARBPROC glWeightubvARB; 2072 extern glWeightusvARBPROC glWeightusvARB; 2073 extern glWeightuivARBPROC glWeightuivARB; 2074 extern glWeightPointerARBPROC glWeightPointerARB; 2075 extern glVertexBlendARBPROC glVertexBlendARB; 2076 2077 #endif /* GL_ARB_vertex_blend */ 2078 2079 /*-------------------------------------------------------------------*/ 2080 /*------------EXT_MULTI_DRAW_ARRAYS----------------------------------*/ 2081 /*-------------------------------------------------------------------*/ 2082 2083 #ifndef GL_EXT_multi_draw_arrays 2084 #define GL_EXT_multi_draw_arrays 1 2085 2086 typedef void (APIENTRY * glMultiDrawArraysEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount); 2087 typedef void (APIENTRY * glMultiDrawElementsEXTPROC) (GLenum mode, GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount); 2088 2089 extern glMultiDrawArraysEXTPROC glMultiDrawArraysEXT; 2090 extern glMultiDrawElementsEXTPROC glMultiDrawElementsEXT; 2091 2092 #endif /* GL_EXT_multi_draw_arrays */ 2093 2094 /*-------------------------------------------------------------------*/ 2095 /*------------ARB_MATRIX_PALETTE-------------------------------------*/ 2096 /*-------------------------------------------------------------------*/ 2097 2098 #ifndef GL_ARB_matrix_palette 2099 #define GL_ARB_matrix_palette 1 2100 2101 #define GL_MATRIX_PALETTE_ARB 0x8840 2102 #define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841 2103 #define GL_MAX_PALETTE_MATRICES_ARB 0x8842 2104 #define GL_CURRENT_PALETTE_MATRIX_ARB 0x8843 2105 #define GL_MATRIX_INDEX_ARRAY_ARB 0x8844 2106 #define GL_CURRENT_MATRIX_INDEX_ARB 0x8845 2107 #define GL_MATRIX_INDEX_ARRAY_SIZE_ARB 0x8846 2108 #define GL_MATRIX_INDEX_ARRAY_TYPE_ARB 0x8847 2109 #define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848 2110 #define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849 2111 2112 typedef void (APIENTRY * glCurrentPaletteMatrixARBPROC) (GLint index); 2113 typedef void (APIENTRY * glMatrixIndexubvARBPROC) (GLint size, GLubyte *indices); 2114 typedef void (APIENTRY * glMatrixIndexusvARBPROC) (GLint size, GLushort *indices); 2115 typedef void (APIENTRY * glMatrixIndexuivARBPROC) (GLint size, GLuint *indices); 2116 typedef void (APIENTRY * glMatrixIndexPointerARBPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer); 2117 2118 extern glCurrentPaletteMatrixARBPROC glCurrentPaletteMatrixARB; 2119 extern glMatrixIndexubvARBPROC glMatrixIndexubvARB; 2120 extern glMatrixIndexusvARBPROC glMatrixIndexusvARB; 2121 extern glMatrixIndexuivARBPROC glMatrixIndexuivARB; 2122 extern glMatrixIndexPointerARBPROC glMatrixIndexPointerARB; 2123 2124 #endif /* GL_ARB_matrix_palette */ 2125 2126 /*-------------------------------------------------------------------*/ 2127 /*------------EXT_VERTEX_SHADER--------------------------------------*/ 2128 /*-------------------------------------------------------------------*/ 2129 2130 #ifndef GL_EXT_vertex_shader 2131 #define GL_EXT_vertex_shader 1 2132 2133 #define GL_VERTEX_SHADER_EXT 0x8780 2134 #define GL_VERTEX_SHADER_BINDING_EXT 0x8781 2135 #define GL_OP_INDEX_EXT 0x8782 2136 #define GL_OP_NEGATE_EXT 0x8783 2137 #define GL_OP_DOT3_EXT 0x8784 2138 #define GL_OP_DOT4_EXT 0x8785 2139 #define GL_OP_MUL_EXT 0x8786 2140 #define GL_OP_ADD_EXT 0x8787 2141 #define GL_OP_MADD_EXT 0x8788 2142 #define GL_OP_FRAC_EXT 0x8789 2143 #define GL_OP_MAX_EXT 0x878A 2144 #define GL_OP_MIN_EXT 0x878B 2145 #define GL_OP_SET_GE_EXT 0x878C 2146 #define GL_OP_SET_LT_EXT 0x878D 2147 #define GL_OP_CLAMP_EXT 0x878E 2148 #define GL_OP_FLOOR_EXT 0x878F 2149 #define GL_OP_ROUND_EXT 0x8790 2150 #define GL_OP_EXP_BASE_2_EXT 0x8791 2151 #define GL_OP_LOG_BASE_2_EXT 0x8792 2152 #define GL_OP_POWER_EXT 0x8793 2153 #define GL_OP_RECIP_EXT 0x8794 2154 #define GL_OP_RECIP_SQRT_EXT 0x8795 2155 #define GL_OP_SUB_EXT 0x8796 2156 #define GL_OP_CROSS_PRODUCT_EXT 0x8797 2157 #define GL_OP_MULTIPLY_MATRIX_EXT 0x8798 2158 #define GL_OP_MOV_EXT 0x8799 2159 #define GL_OUTPUT_VERTEX_EXT 0x879A 2160 #define GL_OUTPUT_COLOR0_EXT 0x879B 2161 #define GL_OUTPUT_COLOR1_EXT 0x879C 2162 #define GL_OUTPUT_TEXTURE_COORD0_EXT 0x879D 2163 #define GL_OUTPUT_TEXTURE_COORD1_EXT 0x879E 2164 #define GL_OUTPUT_TEXTURE_COORD2_EXT 0x879F 2165 #define GL_OUTPUT_TEXTURE_COORD3_EXT 0x87A0 2166 #define GL_OUTPUT_TEXTURE_COORD4_EXT 0x87A1 2167 #define GL_OUTPUT_TEXTURE_COORD5_EXT 0x87A2 2168 #define GL_OUTPUT_TEXTURE_COORD6_EXT 0x87A3 2169 #define GL_OUTPUT_TEXTURE_COORD7_EXT 0x87A4 2170 #define GL_OUTPUT_TEXTURE_COORD8_EXT 0x87A5 2171 #define GL_OUTPUT_TEXTURE_COORD9_EXT 0x87A6 2172 #define GL_OUTPUT_TEXTURE_COORD10_EXT 0x87A7 2173 #define GL_OUTPUT_TEXTURE_COORD11_EXT 0x87A8 2174 #define GL_OUTPUT_TEXTURE_COORD12_EXT 0x87A9 2175 #define GL_OUTPUT_TEXTURE_COORD13_EXT 0x87AA 2176 #define GL_OUTPUT_TEXTURE_COORD14_EXT 0x87AB 2177 #define GL_OUTPUT_TEXTURE_COORD15_EXT 0x87AC 2178 #define GL_OUTPUT_TEXTURE_COORD16_EXT 0x87AD 2179 #define GL_OUTPUT_TEXTURE_COORD17_EXT 0x87AE 2180 #define GL_OUTPUT_TEXTURE_COORD18_EXT 0x87AF 2181 #define GL_OUTPUT_TEXTURE_COORD19_EXT 0x87B0 2182 #define GL_OUTPUT_TEXTURE_COORD20_EXT 0x87B1 2183 #define GL_OUTPUT_TEXTURE_COORD21_EXT 0x87B2 2184 #define GL_OUTPUT_TEXTURE_COORD22_EXT 0x87B3 2185 #define GL_OUTPUT_TEXTURE_COORD23_EXT 0x87B4 2186 #define GL_OUTPUT_TEXTURE_COORD24_EXT 0x87B5 2187 #define GL_OUTPUT_TEXTURE_COORD25_EXT 0x87B6 2188 #define GL_OUTPUT_TEXTURE_COORD26_EXT 0x87B7 2189 #define GL_OUTPUT_TEXTURE_COORD27_EXT 0x87B8 2190 #define GL_OUTPUT_TEXTURE_COORD28_EXT 0x87B9 2191 #define GL_OUTPUT_TEXTURE_COORD29_EXT 0x87BA 2192 #define GL_OUTPUT_TEXTURE_COORD30_EXT 0x87BB 2193 #define GL_OUTPUT_TEXTURE_COORD31_EXT 0x87BC 2194 #define GL_OUTPUT_FOG_EXT 0x87BD 2195 #define GL_SCALAR_EXT 0x87BE 2196 #define GL_VECTOR_EXT 0x87BF 2197 #define GL_MATRIX_EXT 0x87C0 2198 #define GL_VARIANT_EXT 0x87C1 2199 #define GL_INVARIANT_EXT 0x87C2 2200 #define GL_LOCAL_CONSTANT_EXT 0x87C3 2201 #define GL_LOCAL_EXT 0x87C4 2202 #define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5 2203 #define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6 2204 #define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7 2205 #define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8 2206 #define GL_MAX_VERTEX_SHADER_LOCALS_EXT 0x87C9 2207 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA 2208 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB 2209 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT 0x87CC 2210 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CD 2211 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE 2212 #define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF 2213 #define GL_VERTEX_SHADER_VARIANTS_EXT 0x87D0 2214 #define GL_VERTEX_SHADER_INVARIANTS_EXT 0x87D1 2215 #define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2 2216 #define GL_VERTEX_SHADER_LOCALS_EXT 0x87D3 2217 #define GL_VERTEX_SHADER_OPTIMIZED_EXT 0x87D4 2218 #define GL_X_EXT 0x87D5 2219 #define GL_Y_EXT 0x87D6 2220 #define GL_Z_EXT 0x87D7 2221 #define GL_W_EXT 0x87D8 2222 #define GL_NEGATIVE_X_EXT 0x87D9 2223 #define GL_NEGATIVE_Y_EXT 0x87DA 2224 #define GL_NEGATIVE_Z_EXT 0x87DB 2225 #define GL_NEGATIVE_W_EXT 0x87DC 2226 #define GL_ZERO_EXT 0x87DD 2227 #define GL_ONE_EXT 0x87DE 2228 #define GL_NEGATIVE_ONE_EXT 0x87DF 2229 #define GL_NORMALIZED_RANGE_EXT 0x87E0 2230 #define GL_FULL_RANGE_EXT 0x87E1 2231 #define GL_CURRENT_VERTEX_EXT 0x87E2 2232 #define GL_MVP_MATRIX_EXT 0x87E3 2233 #define GL_VARIANT_VALUE_EXT 0x87E4 2234 #define GL_VARIANT_DATATYPE_EXT 0x87E5 2235 #define GL_VARIANT_ARRAY_STRIDE_EXT 0x87E6 2236 #define GL_VARIANT_ARRAY_TYPE_EXT 0x87E7 2237 #define GL_VARIANT_ARRAY_EXT 0x87E8 2238 #define GL_VARIANT_ARRAY_POINTER_EXT 0x87E9 2239 #define GL_INVARIANT_VALUE_EXT 0x87EA 2240 #define GL_INVARIANT_DATATYPE_EXT 0x87EB 2241 #define GL_LOCAL_CONSTANT_VALUE_EXT 0x87EC 2242 #define GL_LOCAL_CONSTANT_DATATYPE_EXT 0x87ED 2243 2244 typedef void (APIENTRY * glBeginVertexShaderEXTPROC) (); 2245 typedef void (APIENTRY * glEndVertexShaderEXTPROC) (); 2246 typedef void (APIENTRY * glBindVertexShaderEXTPROC) (GLuint id); 2247 typedef GLuint (APIENTRY * glGenVertexShadersEXTPROC) (GLuint range); 2248 typedef void (APIENTRY * glDeleteVertexShaderEXTPROC) (GLuint id); 2249 typedef void (APIENTRY * glShaderOp1EXTPROC) (GLenum op, GLuint res, GLuint arg1); 2250 typedef void (APIENTRY * glShaderOp2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2); 2251 typedef void (APIENTRY * glShaderOp3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3); 2252 typedef void (APIENTRY * glSwizzleEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW); 2253 typedef void (APIENTRY * glWriteMaskEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW); 2254 typedef void (APIENTRY * glInsertComponentEXTPROC) (GLuint res, GLuint src, GLuint num); 2255 typedef void (APIENTRY * glExtractComponentEXTPROC) (GLuint res, GLuint src, GLuint num); 2256 typedef GLuint (APIENTRY * glGenSymbolsEXTPROC) (GLenum dataType, GLenum storageType, GLenum range, GLuint components); 2257 typedef void (APIENTRY * glSetInvariantEXTPROC) (GLuint id, GLenum type, GLvoid *addr); 2258 typedef void (APIENTRY * glSetLocalConstantEXTPROC) (GLuint id, GLenum type, GLvoid *addr); 2259 typedef void (APIENTRY * glVariantbvEXTPROC) (GLuint id, GLbyte *addr); 2260 typedef void (APIENTRY * glVariantsvEXTPROC) (GLuint id, GLshort *addr); 2261 typedef void (APIENTRY * glVariantivEXTPROC) (GLuint id, GLint *addr); 2262 typedef void (APIENTRY * glVariantfvEXTPROC) (GLuint id, GLfloat *addr); 2263 typedef void (APIENTRY * glVariantdvEXTPROC) (GLuint id, GLdouble *addr); 2264 typedef void (APIENTRY * glVariantubvEXTPROC) (GLuint id, GLubyte *addr); 2265 typedef void (APIENTRY * glVariantusvEXTPROC) (GLuint id, GLushort *addr); 2266 typedef void (APIENTRY * glVariantuivEXTPROC) (GLuint id, GLuint *addr); 2267 typedef void (APIENTRY * glVariantPointerEXTPROC) (GLuint id, GLenum type, GLuint stride, GLvoid *addr); 2268 typedef void (APIENTRY * glEnableVariantClientStateEXTPROC) (GLuint id); 2269 typedef void (APIENTRY * glDisableVariantClientStateEXTPROC) (GLuint id); 2270 typedef GLuint (APIENTRY * glBindLightParameterEXTPROC) (GLenum light, GLenum value); 2271 typedef GLuint (APIENTRY * glBindMaterialParameterEXTPROC) (GLenum face, GLenum value); 2272 typedef GLuint (APIENTRY * glBindTexGenParameterEXTPROC) (GLenum unit, GLenum coord, GLenum value); 2273 typedef GLuint (APIENTRY * glBindTextureUnitParameterEXTPROC) (GLenum unit, GLenum value); 2274 typedef GLuint (APIENTRY * glBindParameterEXTPROC) (GLenum value); 2275 typedef GLboolean (APIENTRY * glIsVariantEnabledEXTPROC) (GLuint id, GLenum cap); 2276 typedef void (APIENTRY * glGetVariantBooleanvEXTPROC) (GLuint id, GLenum value, GLboolean *data); 2277 typedef void (APIENTRY * glGetVariantIntegervEXTPROC) (GLuint id, GLenum value, GLint *data); 2278 typedef void (APIENTRY * glGetVariantFloatvEXTPROC) (GLuint id, GLenum value, GLfloat *data); 2279 typedef void (APIENTRY * glGetVariantPointervEXTPROC) (GLuint id, GLenum value, GLvoid **data); 2280 typedef void (APIENTRY * glGetInvariantBooleanvEXTPROC) (GLuint id, GLenum value, GLboolean *data); 2281 typedef void (APIENTRY * glGetInvariantIntegervEXTPROC) (GLuint id, GLenum value, GLint *data); 2282 typedef void (APIENTRY * glGetInvariantFloatvEXTPROC) (GLuint id, GLenum value, GLfloat *data); 2283 typedef void (APIENTRY * glGetLocalConstantBooleanvEXTPROC) (GLuint id, GLenum value, GLboolean *data); 2284 typedef void (APIENTRY * glGetLocalConstantIntegervEXTPROC) (GLuint id, GLenum value, GLint *data); 2285 typedef void (APIENTRY * glGetLocalConstantFloatvEXTPROC) (GLuint id, GLenum value, GLfloat *data); 2286 2287 extern glBeginVertexShaderEXTPROC glBeginVertexShaderEXT; 2288 extern glEndVertexShaderEXTPROC glEndVertexShaderEXT; 2289 extern glBindVertexShaderEXTPROC glBindVertexShaderEXT; 2290 extern glGenVertexShadersEXTPROC glGenVertexShadersEXT; 2291 extern glDeleteVertexShaderEXTPROC glDeleteVertexShaderEXT; 2292 extern glShaderOp1EXTPROC glShaderOp1EXT; 2293 extern glShaderOp2EXTPROC glShaderOp2EXT; 2294 extern glShaderOp3EXTPROC glShaderOp3EXT; 2295 extern glSwizzleEXTPROC glSwizzleEXT; 2296 extern glWriteMaskEXTPROC glWriteMaskEXT; 2297 extern glInsertComponentEXTPROC glInsertComponentEXT; 2298 extern glExtractComponentEXTPROC glExtractComponentEXT; 2299 extern glGenSymbolsEXTPROC glGenSymbolsEXT; 2300 extern glSetInvariantEXTPROC glSetInvariantEXT; 2301 extern glSetLocalConstantEXTPROC glSetLocalConstantEXT; 2302 extern glVariantbvEXTPROC glVariantbvEXT; 2303 extern glVariantsvEXTPROC glVariantsvEXT; 2304 extern glVariantivEXTPROC glVariantivEXT; 2305 extern glVariantfvEXTPROC glVariantfvEXT; 2306 extern glVariantdvEXTPROC glVariantdvEXT; 2307 extern glVariantubvEXTPROC glVariantubvEXT; 2308 extern glVariantusvEXTPROC glVariantusvEXT; 2309 extern glVariantuivEXTPROC glVariantuivEXT; 2310 extern glVariantPointerEXTPROC glVariantPointerEXT; 2311 extern glEnableVariantClientStateEXTPROC glEnableVariantClientStateEXT; 2312 extern glDisableVariantClientStateEXTPROC glDisableVariantClientStateEXT; 2313 extern glBindLightParameterEXTPROC glBindLightParameterEXT; 2314 extern glBindMaterialParameterEXTPROC glBindMaterialParameterEXT; 2315 extern glBindTexGenParameterEXTPROC glBindTexGenParameterEXT; 2316 extern glBindTextureUnitParameterEXTPROC glBindTextureUnitParameterEXT; 2317 extern glBindParameterEXTPROC glBindParameterEXT; 2318 extern glIsVariantEnabledEXTPROC glIsVariantEnabledEXT; 2319 extern glGetVariantBooleanvEXTPROC glGetVariantBooleanvEXT; 2320 extern glGetVariantIntegervEXTPROC glGetVariantIntegervEXT; 2321 extern glGetVariantFloatvEXTPROC glGetVariantFloatvEXT; 2322 extern glGetVariantPointervEXTPROC glGetVariantPointervEXT; 2323 extern glGetInvariantBooleanvEXTPROC glGetInvariantBooleanvEXT; 2324 extern glGetInvariantIntegervEXTPROC glGetInvariantIntegervEXT; 2325 extern glGetInvariantFloatvEXTPROC glGetInvariantFloatvEXT; 2326 extern glGetLocalConstantBooleanvEXTPROC glGetLocalConstantBooleanvEXT; 2327 extern glGetLocalConstantIntegervEXTPROC glGetLocalConstantIntegervEXT; 2328 extern glGetLocalConstantFloatvEXTPROC glGetLocalConstantFloatvEXT; 2329 2330 #endif /* GL_EXT_vertex_shader */ 2331 2332 /*-------------------------------------------------------------------*/ 2333 /*------------ATI_ENVMAP_BUMPMAP-------------------------------------*/ 2334 /*-------------------------------------------------------------------*/ 2335 2336 #ifndef GL_ATI_envmap_bumpmap 2337 #define GL_ATI_envmap_bumpmap 1 2338 2339 #define GL_BUMP_ROT_MATRIX_ATI 0x8775 2340 #define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776 2341 #define GL_BUMP_NUM_TEX_UNITS_ATI 0x8777 2342 #define GL_BUMP_TEX_UNITS_ATI 0x8778 2343 #define GL_DUDV_ATI 0x8779 2344 #define GL_DU8DV8_ATI 0x877A 2345 #define GL_BUMP_ENVMAP_ATI 0x877B 2346 #define GL_BUMP_TARGET_ATI 0x877C 2347 2348 typedef void (APIENTRY * glTexBumpParameterivATIPROC) (GLenum pname, GLint *param); 2349 typedef void (APIENTRY * glTexBumpParameterfvATIPROC) (GLenum pname, GLfloat *param); 2350 typedef void (APIENTRY * glGetTexBumpParameterivATIPROC) (GLenum pname, GLint *param); 2351 typedef void (APIENTRY * glGetTexBumpParameterfvATIPROC) (GLenum pname, GLfloat *param); 2352 2353 extern glTexBumpParameterivATIPROC glTexBumpParameterivATI; 2354 extern glTexBumpParameterfvATIPROC glTexBumpParameterfvATI; 2355 extern glGetTexBumpParameterivATIPROC glGetTexBumpParameterivATI; 2356 extern glGetTexBumpParameterfvATIPROC glGetTexBumpParameterfvATI; 2357 2358 #endif /* GL_ATI_envmap_bumpmap */ 2359 2360 /*-------------------------------------------------------------------*/ 2361 /*------------ATI_FRAGMENT_SHADER------------------------------------*/ 2362 /*-------------------------------------------------------------------*/ 2363 2364 #ifndef GL_ATI_fragment_shader 2365 #define GL_ATI_fragment_shader 1 2366 2367 #define GL_FRAGMENT_SHADER_ATI 0x8920 2368 #define GL_REG_0_ATI 0x8921 2369 #define GL_REG_1_ATI 0x8922 2370 #define GL_REG_2_ATI 0x8923 2371 #define GL_REG_3_ATI 0x8924 2372 #define GL_REG_4_ATI 0x8925 2373 #define GL_REG_5_ATI 0x8926 2374 #define GL_REG_6_ATI 0x8927 2375 #define GL_REG_7_ATI 0x8928 2376 #define GL_REG_8_ATI 0x8929 2377 #define GL_REG_9_ATI 0x892A 2378 #define GL_REG_10_ATI 0x892B 2379 #define GL_REG_11_ATI 0x892C 2380 #define GL_REG_12_ATI 0x892D 2381 #define GL_REG_13_ATI 0x892E 2382 #define GL_REG_14_ATI 0x892F 2383 #define GL_REG_15_ATI 0x8930 2384 #define GL_REG_16_ATI 0x8931 2385 #define GL_REG_17_ATI 0x8932 2386 #define GL_REG_18_ATI 0x8933 2387 #define GL_REG_19_ATI 0x8934 2388 #define GL_REG_20_ATI 0x8935 2389 #define GL_REG_21_ATI 0x8936 2390 #define GL_REG_22_ATI 0x8937 2391 #define GL_REG_23_ATI 0x8938 2392 #define GL_REG_24_ATI 0x8939 2393 #define GL_REG_25_ATI 0x893A 2394 #define GL_REG_26_ATI 0x893B 2395 #define GL_REG_27_ATI 0x893C 2396 #define GL_REG_28_ATI 0x893D 2397 #define GL_REG_29_ATI 0x893E 2398 #define GL_REG_30_ATI 0x893F 2399 #define GL_REG_31_ATI 0x8940 2400 #define GL_CON_0_ATI 0x8941 2401 #define GL_CON_1_ATI 0x8942 2402 #define GL_CON_2_ATI 0x8943 2403 #define GL_CON_3_ATI 0x8944 2404 #define GL_CON_4_ATI 0x8945 2405 #define GL_CON_5_ATI 0x8946 2406 #define GL_CON_6_ATI 0x8947 2407 #define GL_CON_7_ATI 0x8948 2408 #define GL_CON_8_ATI 0x8949 2409 #define GL_CON_9_ATI 0x894A 2410 #define GL_CON_10_ATI 0x894B 2411 #define GL_CON_11_ATI 0x894C 2412 #define GL_CON_12_ATI 0x894D 2413 #define GL_CON_13_ATI 0x894E 2414 #define GL_CON_14_ATI 0x894F 2415 #define GL_CON_15_ATI 0x8950 2416 #define GL_CON_16_ATI 0x8951 2417 #define GL_CON_17_ATI 0x8952 2418 #define GL_CON_18_ATI 0x8953 2419 #define GL_CON_19_ATI 0x8954 2420 #define GL_CON_20_ATI 0x8955 2421 #define GL_CON_21_ATI 0x8956 2422 #define GL_CON_22_ATI 0x8957 2423 #define GL_CON_23_ATI 0x8958 2424 #define GL_CON_24_ATI 0x8959 2425 #define GL_CON_25_ATI 0x895A 2426 #define GL_CON_26_ATI 0x895B 2427 #define GL_CON_27_ATI 0x895C 2428 #define GL_CON_28_ATI 0x895D 2429 #define GL_CON_29_ATI 0x895E 2430 #define GL_CON_30_ATI 0x895F 2431 #define GL_CON_31_ATI 0x8960 2432 #define GL_MOV_ATI 0x8961 2433 #define GL_ADD_ATI 0x8963 2434 #define GL_MUL_ATI 0x8964 2435 #define GL_SUB_ATI 0x8965 2436 #define GL_DOT3_ATI 0x8966 2437 #define GL_DOT4_ATI 0x8967 2438 #define GL_MAD_ATI 0x8968 2439 #define GL_LERP_ATI 0x8969 2440 #define GL_CND_ATI 0x896A 2441 #define GL_CND0_ATI 0x896B 2442 #define GL_DOT2_ADD_ATI 0x896C 2443 #define GL_SECONDARY_INTERPOLATOR_ATI 0x896D 2444 #define GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E 2445 #define GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F 2446 #define GL_NUM_PASSES_ATI 0x8970 2447 #define GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971 2448 #define GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972 2449 #define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973 2450 #define GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974 2451 #define GL_COLOR_ALPHA_PAIRING_ATI 0x8975 2452 #define GL_SWIZZLE_STR_ATI 0x8976 2453 #define GL_SWIZZLE_STQ_ATI 0x8977 2454 #define GL_SWIZZLE_STR_DR_ATI 0x8978 2455 #define GL_SWIZZLE_STQ_DQ_ATI 0x8979 2456 #define GL_SWIZZLE_STRQ_ATI 0x897A 2457 #define GL_SWIZZLE_STRQ_DQ_ATI 0x897B 2458 #define GL_RED_BIT_ATI 0x00000001 2459 #define GL_GREEN_BIT_ATI 0x00000002 2460 #define GL_BLUE_BIT_ATI 0x00000004 2461 #define GL_2X_BIT_ATI 0x00000001 2462 #define GL_4X_BIT_ATI 0x00000002 2463 #define GL_8X_BIT_ATI 0x00000004 2464 #define GL_HALF_BIT_ATI 0x00000008 2465 #define GL_QUARTER_BIT_ATI 0x00000010 2466 #define GL_EIGHTH_BIT_ATI 0x00000020 2467 #define GL_SATURATE_BIT_ATI 0x00000040 2468 #define GL_COMP_BIT_ATI 0x00000002 2469 #define GL_NEGATE_BIT_ATI 0x00000004 2470 #define GL_BIAS_BIT_ATI 0x00000008 2471 2472 typedef GLuint (APIENTRY * glGenFragmentShadersATIPROC) (GLuint range); 2473 typedef void (APIENTRY * glBindFragmentShaderATIPROC) (GLuint id); 2474 typedef void (APIENTRY * glDeleteFragmentShaderATIPROC) (GLuint id); 2475 typedef void (APIENTRY * glBeginFragmentShaderATIPROC) (GLvoid); 2476 typedef void (APIENTRY * glEndFragmentShaderATIPROC) (GLvoid); 2477 typedef void (APIENTRY * glPassTexCoordATIPROC) (GLuint dst, GLuint coord, GLenum swizzle); 2478 typedef void (APIENTRY * glSampleMapATIPROC) (GLuint dst, GLuint interp, GLenum swizzle); 2479 typedef void (APIENTRY * glColorFragmentOp1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); 2480 typedef void (APIENTRY * glColorFragmentOp2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); 2481 typedef void (APIENTRY * glColorFragmentOp3ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); 2482 typedef void (APIENTRY * glAlphaFragmentOp1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); 2483 typedef void (APIENTRY * glAlphaFragmentOp2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); 2484 typedef void (APIENTRY * glAlphaFragmentOp3ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod); 2485 typedef void (APIENTRY * glSetFragmentShaderConstantATIPROC) (GLuint dst, const GLfloat *value); 2486 2487 extern glGenFragmentShadersATIPROC glGenFragmentShadersATI; 2488 extern glBindFragmentShaderATIPROC glBindFragmentShaderATI; 2489 extern glDeleteFragmentShaderATIPROC glDeleteFragmentShaderATI; 2490 extern glBeginFragmentShaderATIPROC glBeginFragmentShaderATI; 2491 extern glEndFragmentShaderATIPROC glEndFragmentShaderATI; 2492 extern glPassTexCoordATIPROC glPassTexCoordATI; 2493 extern glSampleMapATIPROC glSampleMapATI; 2494 extern glColorFragmentOp1ATIPROC glColorFragmentOp1ATI; 2495 extern glColorFragmentOp2ATIPROC glColorFragmentOp2ATI; 2496 extern glColorFragmentOp3ATIPROC glColorFragmentOp3ATI; 2497 extern glAlphaFragmentOp1ATIPROC glAlphaFragmentOp1ATI; 2498 extern glAlphaFragmentOp2ATIPROC glAlphaFragmentOp2ATI; 2499 extern glAlphaFragmentOp3ATIPROC glAlphaFragmentOp3ATI; 2500 extern glSetFragmentShaderConstantATIPROC glSetFragmentShaderConstantATI; 2501 2502 #endif /* GL_ATI_fragment_shader */ 2503 2504 /*-------------------------------------------------------------------*/ 2505 /*------------ATI_TEXTURE_MIRROR_ONCE--------------------------------*/ 2506 /*-------------------------------------------------------------------*/ 2507 2508 #ifndef GL_ATI_texture_mirror_once 2509 #define GL_ATI_texture_mirror_once 1 2510 2511 #define GL_MIRROR_CLAMP_ATI 0x8742 2512 #define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743 2513 2514 #endif 2515 2516 /*-------------------------------------------------------------------*/ 2517 /*------------ATI_ELEMENT_ARRAY--------------------------------------*/ 2518 /*-------------------------------------------------------------------*/ 2519 2520 #ifndef GL_ATI_element_array 2521 #define GL_ATI_element_array 1 2522 2523 #define GL_ELEMENT_ARRAY_ATI 0x8768 2524 #define GL_ELEMENT_ARRAY_TYPE_ATI 0x8769 2525 #define GL_ELEMENT_ARRAY_POINTER_ATI 0x876A 2526 2527 typedef void (APIENTRY * glElementPointerATIPROC) (GLenum type, const GLvoid *pointer); 2528 typedef void (APIENTRY * glDrawElementArrayATIPROC) (GLenum mode, GLsizei count); 2529 typedef void (APIENTRY * glDrawRangeElementArrayATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count); 2530 2531 extern glElementPointerATIPROC glElementPointerATI; 2532 extern glDrawElementArrayATIPROC glDrawElementArrayATI; 2533 extern glDrawRangeElementArrayATIPROC glDrawRangeElementArrayATI; 2534 2535 #endif /* GL_ATI_element_array */ 2536 2537 /*-------------------------------------------------------------------*/ 2538 /*------------ATI_VERTEX_STREAMS-------------------------------------*/ 2539 /*-------------------------------------------------------------------*/ 2540 2541 #ifndef GL_ATI_vertex_streams 2542 #define GL_ATI_vertex_streams 1 2543 2544 #define GL_MAX_VERTEX_STREAMS_ATI 0x876B 2545 #define GL_VERTEX_SOURCE_ATI 0x876C 2546 #define GL_VERTEX_STREAM0_ATI 0x876D 2547 #define GL_VERTEX_STREAM1_ATI 0x876E 2548 #define GL_VERTEX_STREAM2_ATI 0x876F 2549 #define GL_VERTEX_STREAM3_ATI 0x8770 2550 #define GL_VERTEX_STREAM4_ATI 0x8771 2551 #define GL_VERTEX_STREAM5_ATI 0x8772 2552 #define GL_VERTEX_STREAM6_ATI 0x8773 2553 #define GL_VERTEX_STREAM7_ATI 0x8774 2554 2555 typedef void (APIENTRY * glClientActiveVertexStreamATIPROC) (GLenum stream); 2556 typedef void (APIENTRY * glVertexBlendEnviATIPROC) (GLenum pname, GLint param); 2557 typedef void (APIENTRY * glVertexBlendEnvfATIPROC) (GLenum pname, GLfloat param); 2558 typedef void (APIENTRY * glVertexStream2sATIPROC) (GLenum stream, GLshort x, GLshort y); 2559 typedef void (APIENTRY * glVertexStream2svATIPROC) (GLenum stream, const GLshort *v); 2560 typedef void (APIENTRY * glVertexStream2iATIPROC) (GLenum stream, GLint x, GLint y); 2561 typedef void (APIENTRY * glVertexStream2ivATIPROC) (GLenum stream, const GLint *v); 2562 typedef void (APIENTRY * glVertexStream2fATIPROC) (GLenum stream, GLfloat x, GLfloat y); 2563 typedef void (APIENTRY * glVertexStream2fvATIPROC) (GLenum stream, const GLfloat *v); 2564 typedef void (APIENTRY * glVertexStream2dATIPROC) (GLenum stream, GLdouble x, GLdouble y); 2565 typedef void (APIENTRY * glVertexStream2dvATIPROC) (GLenum stream, const GLdouble *v); 2566 typedef void (APIENTRY * glVertexStream3sATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z); 2567 typedef void (APIENTRY * glVertexStream3svATIPROC) (GLenum stream, const GLshort *v); 2568 typedef void (APIENTRY * glVertexStream3iATIPROC) (GLenum stream, GLint x, GLint y, GLint z); 2569 typedef void (APIENTRY * glVertexStream3ivATIPROC) (GLenum stream, const GLint *v); 2570 typedef void (APIENTRY * glVertexStream3fATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z); 2571 typedef void (APIENTRY * glVertexStream3fvATIPROC) (GLenum stream, const GLfloat *v); 2572 typedef void (APIENTRY * glVertexStream3dATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z); 2573 typedef void (APIENTRY * glVertexStream3dvATIPROC) (GLenum stream, const GLdouble *v); 2574 typedef void (APIENTRY * glVertexStream4sATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w); 2575 typedef void (APIENTRY * glVertexStream4svATIPROC) (GLenum stream, const GLshort *v); 2576 typedef void (APIENTRY * glVertexStream4iATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w); 2577 typedef void (APIENTRY * glVertexStream4ivATIPROC) (GLenum stream, const GLint *v); 2578 typedef void (APIENTRY * glVertexStream4fATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 2579 typedef void (APIENTRY * glVertexStream4fvATIPROC) (GLenum stream, const GLfloat *v); 2580 typedef void (APIENTRY * glVertexStream4dATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w); 2581 typedef void (APIENTRY * glVertexStream4dvATIPROC) (GLenum stream, const GLdouble *v); 2582 typedef void (APIENTRY * glNormalStream3bATIPROC) (GLenum stream, GLbyte x, GLbyte y, GLbyte z); 2583 typedef void (APIENTRY * glNormalStream3bvATIPROC) (GLenum stream, const GLbyte *v); 2584 typedef void (APIENTRY * glNormalStream3sATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z); 2585 typedef void (APIENTRY * glNormalStream3svATIPROC) (GLenum stream, const GLshort *v); 2586 typedef void (APIENTRY * glNormalStream3iATIPROC) (GLenum stream, GLint x, GLint y, GLint z); 2587 typedef void (APIENTRY * glNormalStream3ivATIPROC) (GLenum stream, const GLint *v); 2588 typedef void (APIENTRY * glNormalStream3fATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z); 2589 typedef void (APIENTRY * glNormalStream3fvATIPROC) (GLenum stream, const GLfloat *v); 2590 typedef void (APIENTRY * glNormalStream3dATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z); 2591 typedef void (APIENTRY * glNormalStream3dvATIPROC) (GLenum stream, const GLdouble *v); 2592 2593 2594 extern glClientActiveVertexStreamATIPROC glClientActiveVertexStreamATI; 2595 extern glVertexBlendEnviATIPROC glVertexBlendEnviATI; 2596 extern glVertexBlendEnvfATIPROC glVertexBlendEnvfATI; 2597 extern glVertexStream2sATIPROC glVertexStream2sATI; 2598 extern glVertexStream2svATIPROC glVertexStream2svATI; 2599 extern glVertexStream2iATIPROC glVertexStream2iATI; 2600 extern glVertexStream2ivATIPROC glVertexStream2ivATI; 2601 extern glVertexStream2fATIPROC glVertexStream2fATI; 2602 extern glVertexStream2fvATIPROC glVertexStream2fvATI; 2603 extern glVertexStream2dATIPROC glVertexStream2dATI; 2604 extern glVertexStream2dvATIPROC glVertexStream2dvATI; 2605 extern glVertexStream3sATIPROC glVertexStream3sATI; 2606 extern glVertexStream3svATIPROC glVertexStream3svATI; 2607 extern glVertexStream3iATIPROC glVertexStream3iATI; 2608 extern glVertexStream3ivATIPROC glVertexStream3ivATI; 2609 extern glVertexStream3fATIPROC glVertexStream3fATI; 2610 extern glVertexStream3fvATIPROC glVertexStream3fvATI; 2611 extern glVertexStream3dATIPROC glVertexStream3dATI; 2612 extern glVertexStream3dvATIPROC glVertexStream3dvATI; 2613 extern glVertexStream4sATIPROC glVertexStream4sATI; 2614 extern glVertexStream4svATIPROC glVertexStream4svATI; 2615 extern glVertexStream4iATIPROC glVertexStream4iATI; 2616 extern glVertexStream4ivATIPROC glVertexStream4ivATI; 2617 extern glVertexStream4fATIPROC glVertexStream4fATI; 2618 extern glVertexStream4fvATIPROC glVertexStream4fvATI; 2619 extern glVertexStream4dATIPROC glVertexStream4dATI; 2620 extern glVertexStream4dvATIPROC glVertexStream4dvATI; 2621 extern glNormalStream3bATIPROC glNormalStream3bATI; 2622 extern glNormalStream3bvATIPROC glNormalStream3bvATI; 2623 extern glNormalStream3sATIPROC glNormalStream3sATI; 2624 extern glNormalStream3svATIPROC glNormalStream3svATI; 2625 extern glNormalStream3iATIPROC glNormalStream3iATI; 2626 extern glNormalStream3ivATIPROC glNormalStream3ivATI; 2627 extern glNormalStream3fATIPROC glNormalStream3fATI; 2628 extern glNormalStream3fvATIPROC glNormalStream3fvATI; 2629 extern glNormalStream3dATIPROC glNormalStream3dATI; 2630 extern glNormalStream3dvATIPROC glNormalStream3dvATI; 2631 2632 #endif /* GL_ATI_vertex_streams */ 2633 2634 /*-------------------------------------------------------------------*/ 2635 /*------------ATI_VERTEX_ARRAY_OBJECT--------------------------------*/ 2636 /*-------------------------------------------------------------------*/ 2637 2638 #ifndef GL_ATI_vertex_array_object 2639 #define GL_ATI_vertex_array_object 1 2640 2641 #define GL_STATIC_ATI 0x8760 2642 #define GL_DYNAMIC_ATI 0x8761 2643 #define GL_PRESERVE_ATI 0x8762 2644 #define GL_DISCARD_ATI 0x8763 2645 #define GL_OBJECT_BUFFER_SIZE_ATI 0x8764 2646 #define GL_OBJECT_BUFFER_USAGE_ATI 0x8765 2647 #define GL_ARRAY_OBJECT_BUFFER_ATI 0x8766 2648 #define GL_ARRAY_OBJECT_OFFSET_ATI 0x8767 2649 2650 typedef GLuint (APIENTRY * glNewObjectBufferATIPROC) (GLsizei size, const GLvoid *pointer, GLenum usage); 2651 typedef GLboolean (APIENTRY * glIsObjectBufferATIPROC) (GLuint buffer); 2652 typedef void (APIENTRY * glUpdateObjectBufferATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve); 2653 typedef void (APIENTRY * glGetObjectBufferfvATIPROC) (GLuint buffer, GLenum pname, GLfloat *params); 2654 typedef void (APIENTRY * glGetObjectBufferivATIPROC) (GLuint buffer, GLenum pname, GLint *params); 2655 typedef void (APIENTRY * glFreeObjectBufferATIPROC) (GLuint buffer); 2656 typedef void (APIENTRY * glArrayObjectATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); 2657 typedef void (APIENTRY * glGetArrayObjectfvATIPROC) (GLenum array, GLenum pname, GLfloat *params); 2658 typedef void (APIENTRY * glGetArrayObjectivATIPROC) (GLenum array, GLenum pname, GLint *params); 2659 typedef void (APIENTRY * glVariantArrayObjectATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); 2660 typedef void (APIENTRY * glGetVariantArrayObjectfvATIPROC) (GLuint id, GLenum pname, GLfloat *params); 2661 typedef void (APIENTRY * glGetVariantArrayObjectivATIPROC) (GLuint id, GLenum pname, GLint *params); 2662 2663 extern glNewObjectBufferATIPROC glNewObjectBufferATI; 2664 extern glIsObjectBufferATIPROC glIsObjectBufferATI; 2665 extern glUpdateObjectBufferATIPROC glUpdateObjectBufferATI; 2666 extern glGetObjectBufferfvATIPROC glGetObjectBufferfvATI; 2667 extern glGetObjectBufferivATIPROC glGetObjectBufferivATI; 2668 extern glFreeObjectBufferATIPROC glFreeObjectBufferATI; 2669 extern glArrayObjectATIPROC glArrayObjectATI; 2670 extern glGetArrayObjectfvATIPROC glGetArrayObjectfvATI; 2671 extern glGetArrayObjectivATIPROC glGetArrayObjectivATI; 2672 extern glVariantArrayObjectATIPROC glVariantArrayObjectATI; 2673 extern glGetVariantArrayObjectfvATIPROC glGetVariantArrayObjectfvATI; 2674 extern glGetVariantArrayObjectivATIPROC glGetVariantArrayObjectivATI; 2675 2676 #endif /* GL_ATI_vertex_array_object */ 2677 2678 /*-------------------------------------------------------------------*/ 2679 /*------------HP_OCCLUSION_TEST--------------------------------------*/ 2680 /*-------------------------------------------------------------------*/ 2681 2682 #ifndef GL_HP_occlusion_test 2683 #define GL_HP_occlusion_test 1 2684 2685 #define GL_OCCLUSION_TEST_HP 0x8165; 2686 #define GL_OCCLUSION_TEST_RESULT_HP 0x8166; 2687 2688 #endif /* GL_HP_occlusion_test */ 2689 2690 /*-------------------------------------------------------------------*/ 2691 /*------------ATIX_POINT_SPRITES-------------------------------------*/ 2692 /*-------------------------------------------------------------------*/ 2693 2694 #ifndef GL_ATIX_point_sprites 2695 #define GL_ATIX_point_sprites 1 2696 2697 #define GL_TEXTURE_POINT_MODE_ATIX 0x60b0 2698 #define GL_TEXTURE_POINT_ONE_COORD_ATIX 0x60b1 2699 #define GL_TEXTURE_POINT_SPRITE_ATIX 0x60b2 2700 #define GL_POINT_SPRITE_CULL_MODE_ATIX 0x60b3 2701 #define GL_POINT_SPRITE_CULL_CENTER_ATIX 0x60b4 2702 #define GL_POINT_SPRITE_CULL_CLIP_ATIX 0x60b5 2703 2704 #endif /* GL_ATIX_point_sprites */ 2705 2706 /*-------------------------------------------------------------------*/ 2707 /*------------ATIX_TEXTURE_ENV_ROUTE---------------------------------*/ 2708 /*-------------------------------------------------------------------*/ 2709 2710 #ifndef GL_ATIX_texture_env_route 2711 #define GL_ATIX_texture_env_route 1 2712 2713 #define GL_SECONDARY_COLOR_ATIX 0x8747 2714 #define GL_TEXTURE_OUTPUT_RGB_ATIX 0x8748 2715 #define GL_TEXTURE_OUTPUT_ALPHA_ATIX 0x8749 2716 2717 #endif /* GL_ATIX_texture_env_route */ 2718 2719 /*-------------------------------------------------------------------*/ 2720 /*------------NV_DEPTH_CLAMP-----------------------------------------*/ 2721 /*-------------------------------------------------------------------*/ 2722 2723 #ifndef GL_NV_depth_clamp 2724 #define GL_NV_depth_clamp 1 2725 2726 #define GL_DEPTH_CLAMP_NV 0x864F 2727 2728 #endif /* GL_NV_depth_clamp */ 2729 2730 /*-------------------------------------------------------------------*/ 2731 /*------------NV_OCCLUSION_QUERY-------------------------------------*/ 2732 /*-------------------------------------------------------------------*/ 2733 2734 #ifndef GL_NV_occlusion_query 2735 #define GL_NV_occlusion_query 1 2736 2737 #ifndef GL_HP_occlusion_test 2738 #define GL_OCCLUSION_TEST_HP 0x8165 2739 #define GL_OCCLUSION_TEST_RESULT_HP 0x8166 2740 #endif /* GL_HP_occlusion_test */ 2741 #define GL_PIXEL_COUNTER_BITS_NV 0x8864 2742 #define GL_CURRENT_OCCLUSION_QUERY_ID_NV 0x8865 2743 #define GL_PIXEL_COUNT_NV 0x8866 2744 #define GL_PIXEL_COUNT_AVAILABLE_NV 0x8867 2745 2746 typedef void (APIENTRY * glGenOcclusionQueriesNVPROC) (GLsizei n, GLuint *ids); 2747 typedef void (APIENTRY * glDeleteOcclusionQueriesNVPROC) (GLsizei n, const GLuint *ids); 2748 typedef GLboolean (APIENTRY * glIsOcclusionQueryNVPROC) (GLuint id); 2749 typedef void (APIENTRY * glBeginOcclusionQueryNVPROC) (GLuint id); 2750 typedef void (APIENTRY * glEndOcclusionQueryNVPROC) (void); 2751 typedef void (APIENTRY * glGetOcclusionQueryivNVPROC) (GLuint id, GLenum pname, GLint *params); 2752 typedef void (APIENTRY * glGetOcclusionQueryuivNVPROC) (GLuint id, GLenum pname, GLuint *params); 2753 2754 extern glGenOcclusionQueriesNVPROC glGenOcclusionQueriesNV; 2755 extern glDeleteOcclusionQueriesNVPROC glDeleteOcclusionQueriesNV; 2756 extern glIsOcclusionQueryNVPROC glIsOcclusionQueryNV; 2757 extern glBeginOcclusionQueryNVPROC glBeginOcclusionQueryNV; 2758 extern glEndOcclusionQueryNVPROC glEndOcclusionQueryNV; 2759 extern glGetOcclusionQueryivNVPROC glGetOcclusionQueryivNV; 2760 extern glGetOcclusionQueryuivNVPROC glGetOcclusionQueryuivNV; 2761 2762 #endif /* GL_NV_occlusion_query */ 2763 2764 /*-------------------------------------------------------------------*/ 2765 /*------------NV_POINT_SPRITE----------------------------------------*/ 2766 /*-------------------------------------------------------------------*/ 2767 2768 #ifndef GL_NV_point_sprite 2769 #define GL_NV_point_sprite 1 2770 2771 #define GL_POINT_SPRITE_NV 0x8861 2772 #define GL_COORD_REPLACE_NV 0x8862 2773 #define GL_POINT_SPRITE_R_MODE_NV 0x8863 2774 2775 typedef void (APIENTRY * glPointParameteriNVPROC) (GLenum pname, GLint param); 2776 typedef void (APIENTRY * glPointParameterivNVPROC) (GLenum pname, const GLint *params); 2777 2778 extern glPointParameteriNVPROC glPointParameteriNV; 2779 extern glPointParameterivNVPROC glPointParameterivNV; 2780 2781 #endif /* GL_NV_point_sprite */ 2782 2783 /*-------------------------------------------------------------------*/ 2784 /*------------NV_TEXTURE_SHADER3-------------------------------------*/ 2785 /*-------------------------------------------------------------------*/ 2786 2787 #ifndef GL_NV_texture_shader3 2788 #define GL_NV_texture_shader3 1 2789 2790 #define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850 2791 #define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851 2792 #define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852 2793 #define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853 2794 #define GL_OFFSET_HILO_TEXTURE_2D_NV 0x8854 2795 #define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855 2796 #define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856 2797 #define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857 2798 #define GL_DEPENDENT_HILO_TEXTURE_2D_NV 0x8858 2799 #define GL_DEPENDENT_RGB_TEXTURE_3D_NV 0x8859 2800 #define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A 2801 #define GL_DOT_PRODUCT_PASS_THROUGH_NV 0x885B 2802 #define GL_DOT_PRODUCT_TEXTURE_1D_NV 0x885C 2803 #define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D 2804 #define GL_HILO8_NV 0x885E 2805 #define GL_SIGNED_HILO8_NV 0x885F 2806 #define GL_FORCE_BLUE_TO_ONE_NV 0x8860 2807 2808 #endif /* GL_NV_texture_shader3 */ 2809 2810 /*-------------------------------------------------------------------*/ 2811 /*------------NV_VERTEX_PROGRAM1_1-----------------------------------*/ 2812 /*-------------------------------------------------------------------*/ 2813 2814 #ifndef GL_NV_vertex_program1_1 2815 #define GL_NV_vertex_program1_1 2816 2817 #endif /* GL_NV_vertex_program1_1 */ 2818 2819 /*-------------------------------------------------------------------*/ 2820 /*------------ARB_TEXTURE_MIRRORED_REPEAT----------------------------*/ 2821 /*-------------------------------------------------------------------*/ 2822 2823 #ifndef GL_ARB_texture_mirrored_repeat 2824 #define GL_ARB_texture_mirrored_repeat 1 2825 2826 #define GL_GL_MIRRORED_REPEAT_ARB 0x8370 2827 2828 #endif /* GL_ARB_texture_mirrored_repeat */ 2829 2830 /*-------------------------------------------------------------------*/ 2831 /*------------ARB_SHADOW---------------------------------------------*/ 2832 /*-------------------------------------------------------------------*/ 2833 2834 #ifndef GL_ARB_shadow 2835 #define GL_ARB_shadow 1 2836 2837 #define GL_TEXTURE_COMPARE_MODE_ARB 0x884C 2838 #define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D 2839 #define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E 2840 2841 #endif /* GL_ARB_shadow */ 2842 2843 /*-------------------------------------------------------------------*/ 2844 /*------------ARB_SHADOW_AMBIENT-------------------------------------*/ 2845 /*-------------------------------------------------------------------*/ 2846 2847 #ifndef GL_ARB_shadow_ambient 2848 #define GL_ARB_shadow_ambient 1 2849 2850 #define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF 2851 2852 #endif /* GL_ARB_shadow_ambient */ 2853 2854 /*-------------------------------------------------------------------*/ 2855 /*------------ARB_DEPTH_TEXTURE--------------------------------------*/ 2856 /*-------------------------------------------------------------------*/ 2857 2858 #ifndef GL_ARB_depth_texture 2859 #define GL_ARB_depth_texture 1 2860 2861 #define GL_DEPTH_COMPONENT16_ARB 0x81A5 2862 #define GL_DEPTH_COMPONENT24_ARB 0x81A6 2863 #define GL_DEPTH_COMPONENT32_ARB 0x81A7 2864 #define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A 2865 #define GL_DEPTH_TEXTURE_MODE_ARB 0x884B 2866 2867 #endif /* GL_ARB_depth_texture */ 2868 2869 /*-------------------------------------------------------------------*/ 2870 /*------------ARB_WINDOW_POS-----------------------------------------*/ 2871 /*-------------------------------------------------------------------*/ 2872 2873 #ifndef GL_ARB_window_pos 2874 #define GL_ARB_window_pos 1 2875 2876 typedef void (APIENTRY * glWindowPos2dARBPROC) (GLdouble x, GLdouble y); 2877 typedef void (APIENTRY * glWindowPos2fARBPROC) (GLfloat x, GLfloat y); 2878 typedef void (APIENTRY * glWindowPos2iARBPROC) (GLint x, GLint y); 2879 typedef void (APIENTRY * glWindowPos2sARBPROC) (GLshort x, GLshort y); 2880 typedef void (APIENTRY * glWindowPos2dvARBPROC) (const GLdouble *p); 2881 typedef void (APIENTRY * glWindowPos2fvARBPROC) (const GLfloat *p); 2882 typedef void (APIENTRY * glWindowPos2ivARBPROC) (const GLint *p); 2883 typedef void (APIENTRY * glWindowPos2svARBPROC) (const GLshort *p); 2884 typedef void (APIENTRY * glWindowPos3dARBPROC) (GLdouble x, GLdouble y, GLdouble z); 2885 typedef void (APIENTRY * glWindowPos3fARBPROC) (GLfloat x, GLfloat y, GLfloat z); 2886 typedef void (APIENTRY * glWindowPos3iARBPROC) (GLint x, GLint y, GLint z); 2887 typedef void (APIENTRY * glWindowPos3sARBPROC) (GLshort x, GLshort y, GLshort z); 2888 typedef void (APIENTRY * glWindowPos3dvARBPROC) (const GLdouble *p); 2889 typedef void (APIENTRY * glWindowPos3fvARBPROC) (const GLfloat *p); 2890 typedef void (APIENTRY * glWindowPos3ivARBPROC) (const GLint *p); 2891 typedef void (APIENTRY * glWindowPos3svARBPROC) (const GLshort *p); 2892 2893 extern glWindowPos2dARBPROC glWindowPos2dARB; 2894 extern glWindowPos2fARBPROC glWindowPos2fARB; 2895 extern glWindowPos2iARBPROC glWindowPos2iARB; 2896 extern glWindowPos2sARBPROC glWindowPos2sARB; 2897 extern glWindowPos2dvARBPROC glWindowPos2dvARB; 2898 extern glWindowPos2fvARBPROC glWindowPos2fvARB; 2899 extern glWindowPos2ivARBPROC glWindowPos2ivARB; 2900 extern glWindowPos2svARBPROC glWindowPos2svARB; 2901 extern glWindowPos3dARBPROC glWindowPos3dARB; 2902 extern glWindowPos3fARBPROC glWindowPos3fARB; 2903 extern glWindowPos3iARBPROC glWindowPos3iARB; 2904 extern glWindowPos3sARBPROC glWindowPos3sARB; 2905 extern glWindowPos3dvARBPROC glWindowPos3dvARB; 2906 extern glWindowPos3fvARBPROC glWindowPos3fvARB; 2907 extern glWindowPos3ivARBPROC glWindowPos3ivARB; 2908 extern glWindowPos3svARBPROC glWindowPos3svARB; 2909 2910 #endif /* GL_ARB_window_pos */ 2911 2912 /*-------------------------------------------------------------------*/ 2913 /*------------EXT_SHADOW_FUNCS---------------------------------------*/ 2914 /*-------------------------------------------------------------------*/ 2915 2916 #ifndef GL_EXT_shadow_funcs 2917 #define GL_EXT_shadow_funcs 1 2918 2919 #endif /* GL_EXT_shadow_funcs */ 2920 2921 2922 /*-------------------------------------------------------------------*/ 2923 /*------------EXT_draw_range_elements--------------------------------*/ 2924 /*-------------------------------------------------------------------*/ 2925 2926 2927 #ifndef GL_EXT_draw_range_elements 2928 #define GL_EXT_draw_range_elements 1 2929 2930 typedef void (APIENTRY * glDrawRangeElementsEXTPROC) ( GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices); 2931 2932 extern glDrawRangeElementsEXTPROC glDrawRangeElementsEXT; 2933 2934 #define GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8 2935 #define GL_MAX_ELEMENTS_INDICES_EXT 0x80E9 2936 2937 #endif 2938 2939 /*-------------------------------------------------------------------*/ 2940 /*------------EXT_texture_compression_s3tc---------------------------*/ 2941 /*-------------------------------------------------------------------*/ 2942 2943 #ifndef GL_EXT_texture_compression_s3tc 2944 #define GL_EXT_texture_compression_s3tc 1 2945 2946 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 2947 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 2948 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 2949 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 2950 2951 #endif /* GL_EXT_texture_compression_s3tc */ 2952 2953 /*-------------------------------------------------------------------*/ 2954 /*------------EXT_stencil_two_side-----------------------------------*/ 2955 /*-------------------------------------------------------------------*/ 2956 2957 #ifndef GL_EXT_stencil_two_side 2958 #define GL_EXT_stencil_two_side 1 2959 2960 typedef void (APIENTRY * glActiveStencilFaceEXTPROC) (GLenum face); 2961 2962 extern glActiveStencilFaceEXTPROC glActiveStencilFaceEXT; 2963 2964 #define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910 2965 #define GL_ACTIVE_STENCIL_FACE_EXT 0x8911 2966 2967 #endif /* GL_EXT_stencil_two_side */ 2968 2969 /*-------------------------------------------------------------------*/ 2970 /*------------ARB_vertex_program-------------------------------------*/ 2971 /*-------------------------------------------------------------------*/ 2972 2973 #ifndef GL_ARB_vertex_program 2974 #define GL_ARB_vertex_program 1 2975 2976 typedef void (APIENTRY * glVertexAttrib1sARBPROC) (GLuint index, GLshort x); 2977 typedef void (APIENTRY * glVertexAttrib1fARBPROC) (GLuint index, GLfloat x); 2978 typedef void (APIENTRY * glVertexAttrib1dARBPROC) (GLuint index, GLdouble x); 2979 typedef void (APIENTRY * glVertexAttrib2sARBPROC) (GLuint index, GLshort x, GLshort y); 2980 typedef void (APIENTRY * glVertexAttrib2fARBPROC) (GLuint index, GLfloat x, GLfloat y); 2981 typedef void (APIENTRY * glVertexAttrib2dARBPROC) (GLuint index, GLdouble x, GLdouble y); 2982 typedef void (APIENTRY * glVertexAttrib3sARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z); 2983 typedef void (APIENTRY * glVertexAttrib3fARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); 2984 typedef void (APIENTRY * glVertexAttrib3dARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z); 2985 typedef void (APIENTRY * glVertexAttrib4sARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); 2986 typedef void (APIENTRY * glVertexAttrib4fARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 2987 typedef void (APIENTRY * glVertexAttrib4dARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); 2988 typedef void (APIENTRY * glVertexAttrib4NubARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); 2989 typedef void (APIENTRY * glVertexAttrib1svARBPROC) (GLuint index, const GLshort *v); 2990 typedef void (APIENTRY * glVertexAttrib1fvARBPROC) (GLuint index, const GLfloat *v); 2991 typedef void (APIENTRY * glVertexAttrib1dvARBPROC) (GLuint index, const GLdouble *v); 2992 typedef void (APIENTRY * glVertexAttrib2svARBPROC) (GLuint index, const GLshort *v); 2993 typedef void (APIENTRY * glVertexAttrib2fvARBPROC) (GLuint index, const GLfloat *v); 2994 typedef void (APIENTRY * glVertexAttrib2dvARBPROC) (GLuint index, const GLdouble *v); 2995 typedef void (APIENTRY * glVertexAttrib3svARBPROC) (GLuint index, const GLshort *v); 2996 typedef void (APIENTRY * glVertexAttrib3fvARBPROC) (GLuint index, const GLfloat *v); 2997 typedef void (APIENTRY * glVertexAttrib3dvARBPROC) (GLuint index, const GLdouble *v); 2998 typedef void (APIENTRY * glVertexAttrib4bvARBPROC) (GLuint index, const GLbyte *v); 2999 typedef void (APIENTRY * glVertexAttrib4svARBPROC) (GLuint index, const GLshort *v); 3000 typedef void (APIENTRY * glVertexAttrib4ivARBPROC) (GLuint index, const GLint *v); 3001 typedef void (APIENTRY * glVertexAttrib4ubvARBPROC) (GLuint index, const GLubyte *v); 3002 typedef void (APIENTRY * glVertexAttrib4usvARBPROC) (GLuint index, const GLushort *v); 3003 typedef void (APIENTRY * glVertexAttrib4uivARBPROC) (GLuint index, const GLuint *v); 3004 typedef void (APIENTRY * glVertexAttrib4fvARBPROC) (GLuint index, const GLfloat *v); 3005 typedef void (APIENTRY * glVertexAttrib4dvARBPROC) (GLuint index, const GLdouble *v); 3006 typedef void (APIENTRY * glVertexAttrib4NbvARBPROC) (GLuint index, const GLbyte *v); 3007 typedef void (APIENTRY * glVertexAttrib4NsvARBPROC) (GLuint index, const GLshort *v); 3008 typedef void (APIENTRY * glVertexAttrib4NivARBPROC) (GLuint index, const GLint *v); 3009 typedef void (APIENTRY * glVertexAttrib4NubvARBPROC) (GLuint index, const GLubyte *v); 3010 typedef void (APIENTRY * glVertexAttrib4NusvARBPROC) (GLuint index, const GLushort *v); 3011 typedef void (APIENTRY * glVertexAttrib4NuivARBPROC) (GLuint index, const GLuint *v); 3012 typedef void (APIENTRY * glVertexAttribPointerARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer); 3013 typedef void (APIENTRY * glEnableVertexAttribArrayARBPROC) (GLuint index); 3014 typedef void (APIENTRY * glDisableVertexAttribArrayARBPROC) (GLuint index); 3015 typedef void (APIENTRY * glProgramStringARBPROC) (GLenum target, GLenum format, GLsizei len, const GLvoid *string); 3016 typedef void (APIENTRY * glBindProgramARBPROC) (GLenum target, GLuint program); 3017 typedef void (APIENTRY * glDeleteProgramsARBPROC) (GLsizei n, const GLuint *programs); 3018 typedef void (APIENTRY * glGenProgramsARBPROC) (GLsizei n, GLuint *programs); 3019 typedef void (APIENTRY * glProgramEnvParameter4dARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); 3020 typedef void (APIENTRY * glProgramEnvParameter4dvARBPROC) (GLenum target, GLuint index, const GLdouble *params); 3021 typedef void (APIENTRY * glProgramEnvParameter4fARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 3022 typedef void (APIENTRY * glProgramEnvParameter4fvARBPROC) (GLenum target, GLuint index, const GLfloat *params); 3023 typedef void (APIENTRY * glProgramLocalParameter4dARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); 3024 typedef void (APIENTRY * glProgramLocalParameter4dvARBPROC) (GLenum target, GLuint index, const GLdouble *params); 3025 typedef void (APIENTRY * glProgramLocalParameter4fARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 3026 typedef void (APIENTRY * glProgramLocalParameter4fvARBPROC) (GLenum target, GLuint index, const GLfloat *params); 3027 typedef void (APIENTRY * glGetProgramEnvParameterdvARBPROC) (GLenum target, GLuint index, GLdouble *params); 3028 typedef void (APIENTRY * glGetProgramEnvParameterfvARBPROC) (GLenum target, GLuint index, GLfloat *params); 3029 typedef void (APIENTRY * glGetProgramLocalParameterdvARBPROC) (GLenum target, GLuint index, GLdouble *params); 3030 typedef void (APIENTRY * glGetProgramLocalParameterfvARBPROC) (GLenum target, GLuint index, GLfloat *params); 3031 typedef void (APIENTRY * glGetProgramivARBPROC) (GLenum target, GLenum pname, GLint *params); 3032 typedef void (APIENTRY * glGetProgramStringARBPROC) (GLenum target, GLenum pname, GLvoid *string); 3033 typedef void (APIENTRY * glGetVertexAttribdvARBPROC) (GLuint index, GLenum pname, GLdouble *params); 3034 typedef void (APIENTRY * glGetVertexAttribfvARBPROC) (GLuint index, GLenum pname, GLfloat *params); 3035 typedef void (APIENTRY * glGetVertexAttribivARBPROC) (GLuint index, GLenum pname, GLint *params); 3036 typedef void (APIENTRY * glGetVertexAttribPointervARBPROC) (GLuint index, GLenum pname, GLvoid **pointer); 3037 typedef GLboolean (APIENTRY * glIsProgramARBPROC) (GLuint program); 3038 3039 extern glVertexAttrib1sARBPROC glVertexAttrib1sARB; 3040 extern glVertexAttrib1fARBPROC glVertexAttrib1fARB; 3041 extern glVertexAttrib1dARBPROC glVertexAttrib1dARB; 3042 extern glVertexAttrib2sARBPROC glVertexAttrib2sARB; 3043 extern glVertexAttrib2fARBPROC glVertexAttrib2fARB; 3044 extern glVertexAttrib2dARBPROC glVertexAttrib2dARB; 3045 extern glVertexAttrib3sARBPROC glVertexAttrib3sARB; 3046 extern glVertexAttrib3fARBPROC glVertexAttrib3fARB; 3047 extern glVertexAttrib3dARBPROC glVertexAttrib3dARB; 3048 extern glVertexAttrib4sARBPROC glVertexAttrib4sARB; 3049 extern glVertexAttrib4fARBPROC glVertexAttrib4fARB; 3050 extern glVertexAttrib4dARBPROC glVertexAttrib4dARB; 3051 extern glVertexAttrib4NubARBPROC glVertexAttrib4NubARB; 3052 extern glVertexAttrib1svARBPROC glVertexAttrib1svARB; 3053 extern glVertexAttrib1fvARBPROC glVertexAttrib1fvARB; 3054 extern glVertexAttrib1dvARBPROC glVertexAttrib1dvARB; 3055 extern glVertexAttrib2svARBPROC glVertexAttrib2svARB; 3056 extern glVertexAttrib2fvARBPROC glVertexAttrib2fvARB; 3057 extern glVertexAttrib2dvARBPROC glVertexAttrib2dvARB; 3058 extern glVertexAttrib3svARBPROC glVertexAttrib3svARB; 3059 extern glVertexAttrib3fvARBPROC glVertexAttrib3fvARB; 3060 extern glVertexAttrib3dvARBPROC glVertexAttrib3dvARB; 3061 extern glVertexAttrib4bvARBPROC glVertexAttrib4bvARB; 3062 extern glVertexAttrib4svARBPROC glVertexAttrib4svARB; 3063 extern glVertexAttrib4ivARBPROC glVertexAttrib4ivARB; 3064 extern glVertexAttrib4ubvARBPROC glVertexAttrib4ubvARB; 3065 extern glVertexAttrib4usvARBPROC glVertexAttrib4usvARB; 3066 extern glVertexAttrib4uivARBPROC glVertexAttrib4uivARB; 3067 extern glVertexAttrib4fvARBPROC glVertexAttrib4fvARB; 3068 extern glVertexAttrib4dvARBPROC glVertexAttrib4dvARB; 3069 extern glVertexAttrib4NbvARBPROC glVertexAttrib4NbvARB; 3070 extern glVertexAttrib4NsvARBPROC glVertexAttrib4NsvARB; 3071 extern glVertexAttrib4NivARBPROC glVertexAttrib4NivARB; 3072 extern glVertexAttrib4NubvARBPROC glVertexAttrib4NubvARB; 3073 extern glVertexAttrib4NusvARBPROC glVertexAttrib4NusvARB; 3074 extern glVertexAttrib4NuivARBPROC glVertexAttrib4NuivARB; 3075 extern glVertexAttribPointerARBPROC glVertexAttribPointerARB; 3076 extern glEnableVertexAttribArrayARBPROC glEnableVertexAttribArrayARB; 3077 extern glDisableVertexAttribArrayARBPROC glDisableVertexAttribArrayARB; 3078 extern glProgramStringARBPROC glProgramStringARB; 3079 extern glBindProgramARBPROC glBindProgramARB; 3080 extern glDeleteProgramsARBPROC glDeleteProgramsARB; 3081 extern glGenProgramsARBPROC glGenProgramsARB; 3082 extern glProgramEnvParameter4dARBPROC glProgramEnvParameter4dARB; 3083 extern glProgramEnvParameter4dvARBPROC glProgramEnvParameter4dvARB; 3084 extern glProgramEnvParameter4fARBPROC glProgramEnvParameter4fARB; 3085 extern glProgramEnvParameter4fvARBPROC glProgramEnvParameter4fvARB; 3086 extern glProgramLocalParameter4dARBPROC glProgramLocalParameter4dARB; 3087 extern glProgramLocalParameter4dvARBPROC glProgramLocalParameter4dvARB; 3088 extern glProgramLocalParameter4fARBPROC glProgramLocalParameter4fARB; 3089 extern glProgramLocalParameter4fvARBPROC glProgramLocalParameter4fvARB; 3090 extern glGetProgramEnvParameterdvARBPROC glGetProgramEnvParameterdvARB; 3091 extern glGetProgramEnvParameterfvARBPROC glGetProgramEnvParameterfvARB; 3092 extern glGetProgramLocalParameterdvARBPROC glGetProgramLocalParameterdvARB; 3093 extern glGetProgramLocalParameterfvARBPROC glGetProgramLocalParameterfvARB; 3094 extern glGetProgramivARBPROC glGetProgramivARB; 3095 extern glGetProgramStringARBPROC glGetProgramStringARB; 3096 extern glGetVertexAttribdvARBPROC glGetVertexAttribdvARB; 3097 extern glGetVertexAttribfvARBPROC glGetVertexAttribfvARB; 3098 extern glGetVertexAttribivARBPROC glGetVertexAttribivARB; 3099 extern glGetVertexAttribPointervARBPROC glGetVertexAttribPointervARB; 3100 extern glIsProgramARBPROC glIsProgramARB; 3101 3102 #define GL_VERTEX_PROGRAM_ARB 0x8620 3103 #define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642 3104 #define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643 3105 #define GL_COLOR_SUM_ARB 0x8458 3106 #define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875 3107 #define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622 3108 #define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623 3109 #define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624 3110 #define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625 3111 #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A 3112 #define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626 3113 #define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645 3114 #define GL_PROGRAM_LENGTH_ARB 0x8627 3115 #define GL_PROGRAM_FORMAT_ARB 0x8876 3116 #define GL_PROGRAM_BINDING_ARB 0x8677 3117 #define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0 3118 #define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1 3119 #define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2 3120 #define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3 3121 #define GL_PROGRAM_TEMPORARIES_ARB 0x88A4 3122 #define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5 3123 #define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6 3124 #define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7 3125 #define GL_PROGRAM_PARAMETERS_ARB 0x88A8 3126 #define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9 3127 #define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA 3128 #define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB 3129 #define GL_PROGRAM_ATTRIBS_ARB 0x88AC 3130 #define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD 3131 #define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE 3132 #define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF 3133 #define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0 3134 #define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1 3135 #define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2 3136 #define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3 3137 #define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4 3138 #define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5 3139 #define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6 3140 #define GL_PROGRAM_STRING_ARB 0x8628 3141 #define GL_PROGRAM_ERROR_POSITION_ARB 0x864B 3142 #define GL_CURRENT_MATRIX_ARB 0x8641 3143 #define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7 3144 #define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640 3145 #define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869 3146 #define GL_MAX_PROGRAM_MATRICES_ARB 0x862F 3147 #define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E 3148 #define GL_PROGRAM_ERROR_STRING_ARB 0x8874 3149 #define GL_MATRIX0_ARB 0x88C0 3150 #define GL_MATRIX1_ARB 0x88C1 3151 #define GL_MATRIX2_ARB 0x88C2 3152 #define GL_MATRIX3_ARB 0x88C3 3153 #define GL_MATRIX4_ARB 0x88C4 3154 #define GL_MATRIX5_ARB 0x88C5 3155 #define GL_MATRIX6_ARB 0x88C6 3156 #define GL_MATRIX7_ARB 0x88C7 3157 #define GL_MATRIX8_ARB 0x88C8 3158 #define GL_MATRIX9_ARB 0x88C9 3159 #define GL_MATRIX10_ARB 0x88CA 3160 #define GL_MATRIX11_ARB 0x88CB 3161 #define GL_MATRIX12_ARB 0x88CC 3162 #define GL_MATRIX13_ARB 0x88CD 3163 #define GL_MATRIX14_ARB 0x88CE 3164 #define GL_MATRIX15_ARB 0x88CF 3165 #define GL_MATRIX16_ARB 0x88D0 3166 #define GL_MATRIX17_ARB 0x88D1 3167 #define GL_MATRIX18_ARB 0x88D2 3168 #define GL_MATRIX19_ARB 0x88D3 3169 #define GL_MATRIX20_ARB 0x88D4 3170 #define GL_MATRIX21_ARB 0x88D5 3171 #define GL_MATRIX22_ARB 0x88D6 3172 #define GL_MATRIX23_ARB 0x88D7 3173 #define GL_MATRIX24_ARB 0x88D8 3174 #define GL_MATRIX25_ARB 0x88D9 3175 #define GL_MATRIX26_ARB 0x88DA 3176 #define GL_MATRIX27_ARB 0x88DB 3177 #define GL_MATRIX28_ARB 0x88DC 3178 #define GL_MATRIX29_ARB 0x88DD 3179 #define GL_MATRIX30_ARB 0x88DE 3180 #define GL_MATRIX31_ARB 0x88DF 3181 3182 #endif /* GL_ARB_vertex_program */ 3183 3184 /*-------------------------------------------------------------------*/ 3185 /*------------GL_EXT_BGRA--------------------------------------------*/ 3186 /*-------------------------------------------------------------------*/ 3187 3188 #ifndef GL_EXT_bgra 3189 #define GL_EXT_bgra 1 3190 3191 #define GL_BGR_EXT 0x80E0 3192 #define GL_BGRA_EXT 0x80E1 3193 3194 #endif /* GL_EXT_bgra */ 3195 3196 /*-------------------------------------------------------------------*/ 3197 /*------------EXT_CULL_VERTEX----------------------------------------*/ 3198 /*-------------------------------------------------------------------*/ 3199 3200 #ifndef GL_EXT_cull_vertex 3201 #define GL_EXT_cull_vertex 1 3202 3203 #define GL_CULL_VERTEX_EXT 0x81AA 3204 #define GL_CULL_VERTEX_EYE_POSITION_EXT 0x81AB 3205 #define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC 3206 3207 typedef void (APIENTRY * glCullParameterfvEXTPROC) (GLenum pname, GLfloat *params); 3208 typedef void (APIENTRY * glCullParameterdvEXTPROC) (GLenum pname, GLdouble *params); 3209 3210 extern glCullParameterfvEXTPROC glCullParameterfvEXT; 3211 extern glCullParameterdvEXTPROC glCullParameterdvEXT; 3212 3213 3214 #endif /* GL_EXT_cull_vertex */ 3215 3216 /*-------------------------------------------------------------------*/ 3217 /*------------GL_ATI_POINT_CULL_MODE---------------------------------*/ 3218 /*-------------------------------------------------------------------*/ 3219 3220 #ifndef GL_ATI_point_cull_mode 3221 #define GL_ATI_point_cull_mode 1 3222 3223 #define GL_POINT_CULL_MODE_ATI 0x60b3 3224 #define GL_POINT_CULL_CENTER_ATI 0x60b4 3225 #define GL_POINT_CLIP_ATI 0x60b5 3226 3227 #endif /* GL_ATI_point_cull_mode */ 3228 3229 /*-------------------------------------------------------------------*/ 3230 /*------------GL_BLEND_FUNC_SEPARATE---------------------------------*/ 3231 /*-------------------------------------------------------------------*/ 3232 3233 #ifndef GL_EXT_blend_func_separate 3234 #define GL_EXT_blend_func_separate 1 3235 3236 #define GL_BLEND_DST_RGB_EXT 0x80C8 3237 #define GL_BLEND_SRC_RGB_EXT 0x80C9 3238 #define GL_BLEND_DST_ALPHA_EXT 0x80CA 3239 #define GL_BLEND_SRC_ALPHA_EXT 0x80CB 3240 3241 typedef void (APIENTRY * glBlendFuncSeparateEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); 3242 3243 extern glBlendFuncSeparateEXTPROC glBlendFuncSeparateEXT; 3244 3245 #endif /* GL_EXT_blend_func_separate */ 3246 3247 /*-------------------------------------------------------------------*/ 3248 /*------------GL_EXT_SEPARATE_SPECULAR_COLOR-------------------------*/ 3249 /*-------------------------------------------------------------------*/ 3250 3251 #ifndef GL_EXT_separate_specular_color 3252 #define GL_EXT_separate_specular_color 1 3253 3254 #define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8 3255 #define GL_SINGLE_COLOR_EXT 0x81F9 3256 #define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA 3257 3258 #endif /* GL_EXT_separate_specular_color */ 3259 3260 /*-------------------------------------------------------------------*/ 3261 /*------------GL_NV_ELEMENT_ARRAY------------------------------------*/ 3262 /*-------------------------------------------------------------------*/ 3263 3264 #ifndef GL_NV_element_array 3265 #define GL_NV_element_array 1 3266 3267 #define GL_ELEMENT_ARRAY_TYPE_NV 0x8769 3268 #define GL_ELEMENT_ARRAY_POINTER_NV 0x876A 3269 3270 typedef void (APIENTRY * glElementPointerNVPROC) (GLenum type, const GLvoid *pointer); 3271 typedef void (APIENTRY * glDrawElementArrayNVPROC) (GLenum mode, GLint first, GLsizei count); 3272 typedef void (APIENTRY * glDrawRangeElementArrayNVPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count); 3273 typedef void (APIENTRY * glMultiDrawElementArrayNVPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount); 3274 typedef void (APIENTRY * glMultiDrawRangeElementArrayNVPROC) (GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount); 3275 3276 extern glElementPointerNVPROC glElementPointerNV; 3277 extern glDrawElementArrayNVPROC glDrawElementArrayNV; 3278 extern glDrawRangeElementArrayNVPROC glDrawRangeElementArrayNV; 3279 extern glMultiDrawElementArrayNVPROC glMultiDrawElementArrayNV; 3280 extern glMultiDrawRangeElementArrayNVPROC glMultiDrawRangeElementArrayNV; 3281 3282 #endif /* GL_NV_element_array */ 3283 3284 /*-------------------------------------------------------------------*/ 3285 /*------------GL_NV_FLOAT_BUFFER-------------------------------------*/ 3286 /*-------------------------------------------------------------------*/ 3287 3288 #ifndef GL_NV_float_buffer 3289 #define GL_NV_float_buffer 1 3290 3291 #define GL_FLOAT_R_NV 0x8880 3292 #define GL_FLOAT_RG_NV 0x8881 3293 #define GL_FLOAT_RGB_NV 0x8882 3294 #define GL_FLOAT_RGBA_NV 0x8883 3295 #define GL_FLOAT_R32_NV 0x8885 3296 #define GL_FLOAT_R16_NV 0x8884 3297 #define GL_FLOAT_R32_NV 0x8885 3298 #define GL_FLOAT_RG16_NV 0x8886 3299 #define GL_FLOAT_RG32_NV 0x8887 3300 #define GL_FLOAT_RGB16_NV 0x8888 3301 #define GL_FLOAT_RGB32_NV 0x8889 3302 #define GL_FLOAT_RGBA16_NV 0x888A 3303 #define GL_FLOAT_RGBA32_NV 0x888B 3304 #define GL_TEXTURE_FLOAT_COMPONENTS_NV 0x888C 3305 #define GL_FLOAT_CLEAR_COLOR_VALUE_NV 0x888D 3306 #define GL_FLOAT_RGBA_MODE_NV 0x888E 3307 3308 #ifdef _WIN32 3309 #define GL_WGL_FLOAT_COMPONENTS_NV 0x20B0 3310 #define GL_WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1 3311 #define GL_WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2 3312 #define GL_WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3 3313 #define GL_WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4 3314 #define GL_WGL_TEXTURE_FLOAT_R_NV 0x20B5 3315 #define GL_WGL_TEXTURE_FLOAT_RG_NV 0x20B6 3316 #define GL_WGL_TEXTURE_FLOAT_RGB_NV 0x20B7 3317 #define GL_WGL_TEXTURE_FLOAT_RGBA_NV 0x20B8 3318 #endif /* _WIN32 */ 3319 3320 #endif /* GL_NV_float_buffer */ 3321 3322 /*-------------------------------------------------------------------*/ 3323 /*------------GL_NV_FRAGMENT_PROGRAM---------------------------------*/ 3324 /*-------------------------------------------------------------------*/ 3325 3326 #ifndef GL_NV_fragment_program 3327 #define GL_NV_fragment_program 1 3328 3329 #define GL_FRAGMENT_PROGRAM_NV 0x8870 3330 #define GL_MAX_TEXTURE_COORDS_NV 0x8871 3331 #define GL_MAX_TEXTURE_IMAGE_UNITS_NV 0x8872 3332 #define GL_FRAGMENT_PROGRAM_BINDING_NV 0x8873 3333 #define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868 3334 #define GL_PROGRAM_ERROR_STRING_NV 0x8874 3335 3336 typedef void (APIENTRY * glProgramNamedParameter4fNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 3337 typedef void (APIENTRY * glProgramNamedParameter4dNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); 3338 typedef void (APIENTRY * glProgramNamedParameter4fvNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLfloat v[]); 3339 typedef void (APIENTRY * glProgramNamedParameter4dvNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLdouble v[]); 3340 typedef void (APIENTRY * glGetProgramNamedParameterfvNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params); 3341 typedef void (APIENTRY * glGetProgramNamedParameterdvNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params); 3342 3343 #ifndef GL_ARB_vertex_program 3344 typedef void (APIENTRY * glProgramLocalParameter4dARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); 3345 typedef void (APIENTRY * glProgramLocalParameter4dvARBPROC) (GLenum target, GLuint index, const GLdouble *params); 3346 typedef void (APIENTRY * glProgramLocalParameter4fARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); 3347 typedef void (APIENTRY * glProgramLocalParameter4fvARBPROC) (GLenum target, GLuint index, const GLfloat *params); 3348 typedef void (APIENTRY * glGetProgramLocalParameterdvARBPROC) (GLenum target, GLuint index, GLdouble *params); 3349 typedef void (APIENTRY * glGetProgramLocalParameterfvARBPROC) (GLenum target, GLuint index, GLfloat *params); 3350 #endif /* GL_ARB_vertex_program */ 3351 3352 extern glProgramNamedParameter4fNVPROC glProgramNamedParameter4fNV; 3353 extern glProgramNamedParameter4dNVPROC glProgramNamedParameter4dNV; 3354 extern glProgramNamedParameter4fvNVPROC glProgramNamedParameter4fvNV; 3355 extern glProgramNamedParameter4dvNVPROC glProgramNamedParameter4dvNV; 3356 extern glGetProgramNamedParameterfvNVPROC glGetProgramNamedParameterfvNV; 3357 extern glGetProgramNamedParameterdvNVPROC glGetProgramNamedParameterdvNV; 3358 3359 #ifndef GL_ARB_vertex_program 3360 extern glProgramLocalParameter4dARBPROC glProgramLocalParameter4dARB; 3361 extern glProgramLocalParameter4dvARBPROC glProgramLocalParameter4dvARB; 3362 extern glProgramLocalParameter4fARBPROC glProgramLocalParameter4fARB; 3363 extern glProgramLocalParameter4fvARBPROC glProgramLocalParameter4fvARB; 3364 extern glGetProgramLocalParameterdvARBPROC glGetProgramLocalParameterdvARB; 3365 extern glGetProgramLocalParameterfvARBPROC glGetProgramLocalParameterfvARB; 3366 #endif /* GL_ARB_vertex_program */ 3367 3368 #endif /* GL_NV_fragment_program */ 3369 3370 /*-------------------------------------------------------------------*/ 3371 /*------------GL_NV_PRIMITIVE_RESTART--------------------------------*/ 3372 /*-------------------------------------------------------------------*/ 3373 3374 #ifndef GL_NV_primitive_restart 3375 #define GL_NV_primitive_restart 1 3376 3377 #define GL_PRIMITIVE_RESTART_NV 0x8558 3378 #define GL_PRIMITIVE_RESTART_INDEX_NV 0x8559 3379 3380 typedef void (APIENTRY * glPrimitiveRestartNVPROC) (); 3381 typedef void (APIENTRY * glPrimitiveRestartIndexNVPROC) (GLuint index); 3382 3383 extern glPrimitiveRestartNVPROC glPrimitiveRestartNV; 3384 extern glPrimitiveRestartIndexNVPROC glPrimitiveRestartIndexNV; 3385 3386 #endif /* GL_NV_primitive_restart */ 3387 3388 /*-------------------------------------------------------------------*/ 3389 /*------------GL_NV_VERTEX_PROGRAM2----------------------------------*/ 3390 /*-------------------------------------------------------------------*/ 3391 3392 #ifndef GL_NV_vertex_program2 3393 #define GL_NV_vertex_program2 1 3394 3395 #endif /* GL_NV_vertex_program2 */ 3396 3397 /*-------------------------------------------------------------------*/ 3398 /*------------END GL EXTENSIONS--------------------------------------*/ 3399 /*-------------------------------------------------------------------*/ 3400 3401 /*-------------------------------------------------------------------*/ 3402 /*------------WGL EXTENSIONS HERE------------------------------------*/ 3403 /*-------------------------------------------------------------------*/ 3404 3405 #ifdef _WIN32 3406 3407 /*-------------------------------------------------------------------*/ 3408 /*------------WGL_EXT_EXTENSION_STRING-------------------------------*/ 3409 /*-------------------------------------------------------------------*/ 3410 3411 #ifndef WGL_EXT_extensions_string 3412 #define WGL_EXT_extensions_string 1 3413 3414 typedef const char* (APIENTRY * wglGetExtensionsStringEXTPROC) (); 3415 3416 extern wglGetExtensionsStringEXTPROC wglGetExtensionsStringEXT; 3417 3418 #endif /* WGL_EXT_extensions_string */ 3419 3420 /*-------------------------------------------------------------------*/ 3421 /*------------WGL_ARB_BUFFER_REGION----------------------------------*/ 3422 /*-------------------------------------------------------------------*/ 3423 3424 #ifndef WGL_ARB_buffer_region 3425 #define WGL_ARB_buffer_region 1 3426 3427 3428 #define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001 3429 #define WGL_BACK_COLOR_BUFFER_BIT_ARB 0x00000002 3430 #define WGL_DEPTH_BUFFER_BIT_ARB 0x00000004 3431 #define WGL_STENCIL_BUFFER_BIT_ARB 0x00000008 3432 3433 typedef HANDLE (APIENTRY * wglCreateBufferRegionARBPROC) (HDC hDC, int iLayerPlane, UINT uType); 3434 typedef VOID (APIENTRY * wglDeleteBufferRegionARBPROC) (HANDLE hRegion); 3435 typedef BOOL (APIENTRY * wglSaveBufferRegionARBPROC) (HANDLE hRegion, int x, int y, int width, int height); 3436 typedef BOOL (APIENTRY * wglRestoreBufferRegionARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc); 3437 3438 extern wglCreateBufferRegionARBPROC wglCreateBufferRegionARB; 3439 extern wglDeleteBufferRegionARBPROC wglDeleteBufferRegionARB; 3440 extern wglSaveBufferRegionARBPROC wglSaveBufferRegionARB; 3441 extern wglRestoreBufferRegionARBPROC wglRestoreBufferRegionARB; 3442 3443 #endif /* WGL_ARB_buffer_region */ 3444 3445 /*-------------------------------------------------------------------*/ 3446 /*------------WGL_ARB_EXTENSION_STRING-------------------------------*/ 3447 /*-------------------------------------------------------------------*/ 3448 3449 #ifndef WGL_ARB_extensions_string 3450 #define WGL_ARB_extensions_string 1 3451 3452 typedef const char* (APIENTRY * wglGetExtensionsStringARBPROC) (HDC hdc); 3453 3454 extern wglGetExtensionsStringARBPROC wglGetExtensionsStringARB; 3455 3456 #endif /* WGL_ARB_extensions_string */ 3457 3458 /*-------------------------------------------------------------------*/ 3459 /*------------WGL_ARB_PBUFFER----------------------------------------*/ 3460 /*-------------------------------------------------------------------*/ 3461 3462 #ifndef WGL_ARB_pbuffer 3463 #define WGL_ARB_pbuffer 1 3464 3465 #define WGL_DRAW_TO_PBUFFER_ARB 0x202D 3466 #define WGL_DRAW_TO_PBUFFER_ARB 0x202D 3467 #define WGL_MAX_PBUFFER_PIXELS_ARB 0x202E 3468 #define WGL_MAX_PBUFFER_WIDTH_ARB 0x202F 3469 #define WGL_MAX_PBUFFER_HEIGHT_ARB 0x2030 3470 #define WGL_PBUFFER_LARGEST_ARB 0x2033 3471 #define WGL_PBUFFER_WIDTH_ARB 0x2034 3472 #define WGL_PBUFFER_HEIGHT_ARB 0x2035 3473 #define WGL_PBUFFER_LOST_ARB 0x2036 3474 3475 DECLARE_HANDLE(HPBUFFERARB); 3476 3477 typedef HPBUFFERARB (APIENTRY * wglCreatePbufferARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList); 3478 typedef HDC (APIENTRY * wglGetPbufferDCARBPROC) (HPBUFFERARB hPbuffer); 3479 typedef int (APIENTRY * wglReleasePbufferDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC); 3480 typedef BOOL (APIENTRY * wglDestroyPbufferARBPROC) (HPBUFFERARB hPbuffer); 3481 typedef BOOL (APIENTRY * wglQueryPbufferARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue); 3482 3483 extern wglCreatePbufferARBPROC wglCreatePbufferARB; 3484 extern wglGetPbufferDCARBPROC wglGetPbufferDCARB; 3485 extern wglReleasePbufferDCARBPROC wglReleasePbufferDCARB; 3486 extern wglDestroyPbufferARBPROC wglDestroyPbufferARB; 3487 extern wglQueryPbufferARBPROC wglQueryPbufferARB; 3488 3489 #endif /* WGL_ARB_pbuffer */ 3490 3491 /*-------------------------------------------------------------------*/ 3492 /*------------WGL_ARB_PIXEL_FORMAT-----------------------------------*/ 3493 /*-------------------------------------------------------------------*/ 3494 3495 #ifndef WGL_ARB_pixel_format 3496 #define WGL_ARB_pixel_format 1 3497 3498 #define WGL_NUMBER_PIXEL_FORMATS_ARB 0x2000 3499 #define WGL_DRAW_TO_WINDOW_ARB 0x2001 3500 #define WGL_DRAW_TO_BITMAP_ARB 0x2002 3501 #define WGL_ACCELERATION_ARB 0x2003 3502 #define WGL_NEED_PALETTE_ARB 0x2004 3503 #define WGL_NEED_SYSTEM_PALETTE_ARB 0x2005 3504 #define WGL_SWAP_LAYER_BUFFERS_ARB 0x2006 3505 #define WGL_SWAP_METHOD_ARB 0x2007 3506 #define WGL_NUMBER_OVERLAYS_ARB 0x2008 3507 #define WGL_NUMBER_UNDERLAYS_ARB 0x2009 3508 #define WGL_TRANSPARENT_ARB 0x200A 3509 #define WGL_TRANSPARENT_RED_VALUE_ARB 0x2037 3510 #define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038 3511 #define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039 3512 #define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A 3513 #define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B 3514 #define WGL_SHARE_DEPTH_ARB 0x200C 3515 #define WGL_SHARE_STENCIL_ARB 0x200D 3516 #define WGL_SHARE_ACCUM_ARB 0x200E 3517 #define WGL_SUPPORT_GDI_ARB 0x200F 3518 #define WGL_SUPPORT_OPENGL_ARB 0x2010 3519 #define WGL_DOUBLE_BUFFER_ARB 0x2011 3520 #define WGL_STEREO_ARB 0x2012 3521 #define WGL_PIXEL_TYPE_ARB 0x2013 3522 #define WGL_COLOR_BITS_ARB 0x2014 3523 #define WGL_RED_BITS_ARB 0x2015 3524 #define WGL_RED_SHIFT_ARB 0x2016 3525 #define WGL_GREEN_BITS_ARB 0x2017 3526 #define WGL_GREEN_SHIFT_ARB 0x2018 3527 #define WGL_BLUE_BITS_ARB 0x2019 3528 #define WGL_BLUE_SHIFT_ARB 0x201A 3529 #define WGL_ALPHA_BITS_ARB 0x201B 3530 #define WGL_ALPHA_SHIFT_ARB 0x201C 3531 #define WGL_ACCUM_BITS_ARB 0x201D 3532 #define WGL_ACCUM_RED_BITS_ARB 0x201E 3533 #define WGL_ACCUM_GREEN_BITS_ARB 0x201F 3534 #define WGL_ACCUM_BLUE_BITS_ARB 0x2020 3535 #define WGL_ACCUM_ALPHA_BITS_ARB 0x2021 3536 #define WGL_DEPTH_BITS_ARB 0x2022 3537 #define WGL_STENCIL_BITS_ARB 0x2023 3538 #define WGL_AUX_BUFFERS_ARB 0x2024 3539 #define WGL_NO_ACCELERATION_ARB 0x2025 3540 #define WGL_GENERIC_ACCELERATION_ARB 0x2026 3541 #define WGL_FULL_ACCELERATION_ARB 0x2027 3542 #define WGL_SWAP_EXCHANGE_ARB 0x2028 3543 #define WGL_SWAP_COPY_ARB 0x2029 3544 #define WGL_SWAP_UNDEFINED_ARB 0x202A 3545 #define WGL_TYPE_RGBA_ARB 0x202B 3546 #define WGL_TYPE_COLORINDEX_ARB 0x202C 3547 3548 typedef BOOL (APIENTRY * wglGetPixelFormatAttribivARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues); 3549 typedef BOOL (APIENTRY * wglGetPixelFormatAttribfvARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues); 3550 typedef BOOL (APIENTRY * wglChoosePixelFormatARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats); 3551 3552 extern wglGetPixelFormatAttribivARBPROC wglGetPixelFormatAttribivARB; 3553 extern wglGetPixelFormatAttribfvARBPROC wglGetPixelFormatAttribfvARB; 3554 extern wglChoosePixelFormatARBPROC wglChoosePixelFormatARB; 3555 3556 #endif /* WGL_ARB_pixel_format */ 3557 3558 /*-------------------------------------------------------------------*/ 3559 /*------------WGL_ARB_RENDER_TEXTURE---------------------------------*/ 3560 /*-------------------------------------------------------------------*/ 3561 3562 #ifndef WGL_ARB_render_texture 3563 #define WGL_ARB_render_texture 1 3564 3565 #define WGL_BIND_TO_TEXTURE_RGB_ARB 0x2070 3566 #define WGL_BIND_TO_TEXTURE_RGBA_ARB 0x2071 3567 #define WGL_TEXTURE_FORMAT_ARB 0x2072 3568 #define WGL_TEXTURE_TARGET_ARB 0x2073 3569 #define WGL_MIPMAP_TEXTURE_ARB 0x2074 3570 #define WGL_TEXTURE_RGB_ARB 0x2075 3571 #define WGL_TEXTURE_RGBA_ARB 0x2076 3572 #define WGL_NO_TEXTURE_ARB 0x2077 3573 #define WGL_TEXTURE_CUBE_MAP_ARB 0x2078 3574 #define WGL_TEXTURE_1D_ARB 0x2079 3575 #define WGL_TEXTURE_2D_ARB 0x207A 3576 #define WGL_NO_TEXTURE_ARB 0x2077 3577 #define WGL_MIPMAP_LEVEL_ARB 0x207B 3578 #define WGL_CUBE_MAP_FACE_ARB 0x207C 3579 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D 3580 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E 3581 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F 3582 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080 3583 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081 3584 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082 3585 #define WGL_FRONT_LEFT_ARB 0x2083 3586 #define WGL_FRONT_RIGHT_ARB 0x2084 3587 #define WGL_BACK_LEFT_ARB 0x2085 3588 #define WGL_BACK_RIGHT_ARB 0x2086 3589 #define WGL_AUX0_ARB 0x2087 3590 #define WGL_AUX1_ARB 0x2088 3591 #define WGL_AUX2_ARB 0x2089 3592 #define WGL_AUX3_ARB 0x208A 3593 #define WGL_AUX4_ARB 0x208B 3594 #define WGL_AUX5_ARB 0x208C 3595 #define WGL_AUX6_ARB 0x208D 3596 #define WGL_AUX7_ARB 0x208E 3597 #define WGL_AUX8_ARB 0x208F 3598 #define WGL_AUX9_ARB 0x2090 3599 3600 typedef BOOL (APIENTRY * wglBindTexImageARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); 3601 typedef BOOL (APIENTRY * wglReleaseTexImageARBPROC) (HPBUFFERARB hPbuffer, int iBuffer); 3602 typedef BOOL (APIENTRY * wglSetPbufferAttribARBPROC) (HPBUFFERARB hPbuffer, const int *piAttribList); 3603 3604 extern wglBindTexImageARBPROC wglBindTexImageARB; 3605 extern wglReleaseTexImageARBPROC wglReleaseTexImageARB; 3606 extern wglSetPbufferAttribARBPROC wglSetPbufferAttribARB; 3607 3608 #endif /*WGL_ARB_render_texture */ 3609 3610 /*-------------------------------------------------------------------*/ 3611 /*------------WGL_EXT_SWAP_CONTROL-----------------------------------*/ 3612 /*-------------------------------------------------------------------*/ 3613 3614 #ifndef WGL_EXT_swap_control 3615 #define WGL_EXT_swap_control 1 3616 3617 typedef BOOL (APIENTRY * wglSwapIntervalEXTPROC) (int interval); 3618 typedef int (APIENTRY * wglGetSwapIntervalEXTPROC) (void); 3619 3620 extern wglSwapIntervalEXTPROC wglSwapIntervalEXT; 3621 extern wglGetSwapIntervalEXTPROC wglGetSwapIntervalEXT; 3622 3623 #endif /* WGL_EXT_swap_control */ 3624 3625 /*-------------------------------------------------------------------*/ 3626 /*------------WGL_ARB_MAKE_CURRENT_READ------------------------------*/ 3627 /*-------------------------------------------------------------------*/ 3628 3629 #ifndef WGL_ARB_make_current_read 3630 #define WGL_ARB_make_current_read 1 3631 3632 #define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043 3633 #define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054 3634 3635 typedef BOOL (APIENTRY * wglMakeContextCurrentARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc); 3636 typedef HDC (APIENTRY * wglGetCurrentReadDCARBPROC) (void); 3637 3638 extern wglMakeContextCurrentARBPROC wglMakeContextCurrentARB; 3639 extern wglGetCurrentReadDCARBPROC wglGetCurrentReadDCARB; 3640 3641 #endif /* WGL_ARB_make_current_read */ 3642 3643 /*-------------------------------------------------------------------*/ 3644 /*------------WGL_ARB_MULTISAMPLE------------------------------------*/ 3645 /*-------------------------------------------------------------------*/ 3646 3647 #ifndef WGL_ARB_multisample 3648 #define WGL_ARB_multisample 1 3649 3650 #define WGL_SAMPLE_BUFFERS_ARB 0x2041 3651 #define WGL_SAMPLES_ARB 0x2042 3652 3653 #endif /* WGL_ARB_multisample */ 3654 3655 /*-------------------------------------------------------------------*/ 3656 /*------------WGL_NV_RENDER_DEPTH_TEXTURE----------------------------*/ 3657 /*-------------------------------------------------------------------*/ 3658 3659 #ifndef WGL_NV_render_depth_texture 3660 #define WGL_NV_render_depth_texture 1 3661 3662 #define GL_WGL_BIND_TO_TEXTURE_DEPTH_NV 0x20A3 3663 #define GL_WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4 3664 #define GL_WGL_DEPTH_TEXTURE_FORMAT_NV 0x20A5 3665 #define GL_WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6 3666 #define GL_WGL_NO_TEXTURE_ARB 0x2077 3667 #define GL_WGL_DEPTH_COMPONENT_NV 0x20A7 3668 3669 #endif /* WGL_NV_render_depth_texture */ 3670 3671 /*-------------------------------------------------------------------*/ 3672 /*------------WGL_NV_RENDER_TEXTURE_RECTANGLE-----------------------*/ 3673 /*-------------------------------------------------------------------*/ 3674 3675 #ifndef WGL_NV_render_texture_rectangle 3676 #define WGL_NV_render_texture_rectangle 1 3677 3678 #define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0 3679 #define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1 3680 #define WGL_TEXTURE_RECTANGLE_NV 0x20A2 3681 3682 #endif /* WGL_NV_render_texture_rectangle */ 3683 3684 /*-------------------------------------------------------------------*/ 3685 /*------------END WGL EXTENSIONS-------------------------------------*/ 3686 /*-------------------------------------------------------------------*/ 3687 3688 #endif /* WIN32 */ 3689 3690 /* helper stuff */ 3691 3692 /* I use int here because C does not know bool */ 3693 3694 #ifdef _WIN32 3695 3696 struct WGLExtensionTypes 3697 { 3698 int ARB_buffer_region; 3699 int ARB_extensions_string; 3700 int ARB_make_current_read; 3701 int ARB_multisample; 3702 int ARB_pbuffer; 3703 int ARB_pixel_format; 3704 int ARB_render_texture; 3705 int EXT_extensions_string; 3706 int EXT_swap_control; 3707 int NV_render_depth_texture; 3708 int NV_render_texture_rectangle; 3709 }; 3710 3711 #endif /* WIN32 */ 3712 3713 struct ExtensionTypes 3714 { 3715 #ifdef _WIN32 /* WGL extensions */ 3716 struct WGLExtensionTypes wgl; 3717 #endif /* WIN32 */ 3718 int ARB_imaging; 3719 int ARB_depth_texture; 3720 int ARB_matrix_palette; 3721 int ARB_multisample; 3722 int ARB_multitexture; 3723 int ARB_point_parameters; 3724 int ARB_shadow; 3725 int ARB_shadow_ambient; 3726 int ARB_texture_border_clamp; 3727 int ARB_texture_compression; 3728 int ARB_texture_cube_map; 3729 int ARB_texture_env_add; 3730 int ARB_texture_env_dot3; 3731 int ARB_texture_env_combine; 3732 int ARB_texture_env_crossbar; 3733 int ARB_texture_mirrored_repeat; 3734 int ARB_transpose_matrix; 3735 int ARB_vertex_blend; 3736 int ARB_vertex_program; 3737 int ARB_window_pos; 3738 int EXT_abgr; 3739 int EXT_bgra; 3740 int EXT_blend_func_separate; 3741 int EXT_compiled_vertex_array; 3742 int EXT_cull_vertex; 3743 int EXT_fog_coord; 3744 int EXT_multi_draw_arrays; 3745 int EXT_point_parameters; 3746 int EXT_secondary_color; 3747 int EXT_separate_specular_color; 3748 int EXT_shadow_funcs; 3749 int EXT_stencil_two_side; 3750 int EXT_stencil_wrap; 3751 int EXT_texture_compression_s3tc; 3752 int EXT_texture_filter_anisotropic; 3753 int EXT_texture_lod_bias; 3754 int EXT_vertex_shader; 3755 int EXT_vertex_weighting; 3756 int EXT_draw_range_elements; 3757 int ATI_element_array; 3758 int ATI_envmap_bumpmap; 3759 int ATI_fragment_shader; 3760 int ATI_pn_triangles; 3761 int ATI_point_cull_mode; 3762 int ATI_texture_mirror_once; 3763 int ATI_vertex_array_object; 3764 int ATI_vertex_streams; 3765 int ATIX_point_sprites; 3766 int ATIX_texture_env_route; 3767 int HP_occlusion_test; 3768 int NV_blend_square; 3769 int NV_copy_depth_to_color; 3770 int NV_depth_clamp; 3771 int NV_element_array; 3772 int NV_evaluators; 3773 int NV_fence; 3774 int NV_float_buffer; 3775 int NV_fog_distance; 3776 int NV_fragment_program; 3777 int NV_light_max_exponent; 3778 int NV_occlusion_query; 3779 int NV_packed_depth_stencil; 3780 int NV_point_sprite; 3781 int NV_primitive_restart; 3782 int NV_register_combiners; 3783 int NV_register_combiners2; 3784 int NV_texgen_reflection; 3785 int NV_texture_env_combine4; 3786 int NV_texture_rectangle; 3787 int NV_texture_shader; 3788 int NV_texture_shader2; 3789 int NV_texture_shader3; 3790 int NV_vertex_array_range; 3791 int NV_vertex_array_range2; 3792 int NV_vertex_program; 3793 int NV_vertex_program1_1; 3794 int NV_vertex_program2; 3795 int SGIS_generate_mipmap; 3796 int SGIX_shadow; 3797 int SGIX_depth_texture; 3798 int OpenGL12; 3799 int OpenGL13; 3800 int OpenGL14; 3801 }; 3802 3803 extern struct ExtensionTypes extgl_Extensions; 3804 3805 extern struct ExtensionTypes SupportedExtensions; /* deprecated, please do not use */ 3806 3807 /* initializes everything, call this right after the rc is created. the function returns 0 if successful */ 3808 int extgl_Initialize(); 3809 3810 int glInitialize(); /* deprecated, please do not use */ 3811 3812 #ifdef __cplusplus 3813 } 3814 #endif 3815 3816 #endif /* __EXTGL_H__ */ 3817