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