]> git.mxchange.org Git - simgear.git/blob - simgear/scene/sky/clouds3d/extgl.h
Clouds3D crashes because there is no Light
[simgear.git] / simgear / scene / sky / clouds3d / extgl.h
1 /* 
2     Copyright (c) 2001-2002 Lev Povalahev
3   
4     levp@gmx.net
5
6     http://www.uni-karlsruhe.de/~uli2/
7 */
8                 
9 #ifndef __EXTGL_H__
10 #define __EXTGL_H__
11
12 // Ok to include <simgear_config.h> here because extgl.h is not an
13 // installed header.  If it were an installed header, this would be very bad.
14 #ifdef HAVE_CONFIG_H
15 #  include <simgear_config.h>
16 #endif
17
18 /*-----------------------------------------*/
19 /*-----------------------------------------*/
20
21 //#if defined(WIN32) && !defined(APIENTRY)
22 //#define WIN32_LEAN_AND_MEAN 1
23 #ifdef WIN32
24 #include <windows.h>
25 #endif
26
27 #define __glext_h_
28 #define __GLEXT_H_
29
30 #define __glext_h_
31 #define __GLEXT_H_
32
33 #include <GL/gl.h>
34
35 #ifndef APIENTRY
36 #define APIENTRY
37 #endif
38
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42
43 #define GL_VERSION_1_2                              1
44 #define GL_VERSION_1_3                              1
45 #define GL_ARB_imaging                              1
46
47 /* 1.2 and 1.3 enumerants */
48
49 #define GL_RESCALE_NORMAL                                       0x803A
50 #define GL_CLAMP_TO_EDGE                                        0x812F
51 #define GL_MAX_ELEMENTS_VERTICES                                0x80E8
52 #define GL_MAX_ELEMENTS_INDICES                                 0x80E9
53 #define GL_BGR                                                  0x80E0
54 #define GL_BGRA                                                 0x80E1
55 #define GL_UNSIGNED_BYTE_3_3_2                                  0x8032
56 #define GL_UNSIGNED_BYTE_2_3_3_REV                              0x8362
57 #define GL_UNSIGNED_SHORT_5_6_5                                 0x8363
58 #define GL_UNSIGNED_SHORT_5_6_5_REV                             0x8364
59 #define GL_UNSIGNED_SHORT_4_4_4_4                               0x8033
60 #define GL_UNSIGNED_SHORT_4_4_4_4_REV                           0x8365
61 #define GL_UNSIGNED_SHORT_5_5_5_1                               0x8034
62 #define GL_UNSIGNED_SHORT_1_5_5_5_REV                           0x8366
63 #define GL_UNSIGNED_INT_8_8_8_8                                 0x8035
64 #define GL_UNSIGNED_INT_8_8_8_8_REV                             0x8367
65 #define GL_UNSIGNED_INT_10_10_10_2                              0x8036
66 #define GL_UNSIGNED_INT_2_10_10_10_REV                          0x8368
67 #define GL_LIGHT_MODEL_COLOR_CONTROL                            0x81F8
68 #define GL_SINGLE_COLOR                                         0x81F9
69 #define GL_SEPARATE_SPECULAR_COLOR                              0x81FA
70 #define GL_TEXTURE_MIN_LOD                                      0x813A
71 #define GL_TEXTURE_MAX_LOD                                      0x813B
72 #define GL_TEXTURE_BASE_LEVEL                                   0x813C
73 #define GL_TEXTURE_MAX_LEVEL                                    0x813D
74 #define GL_SMOOTH_POINT_SIZE_RANGE                              0x0B12
75 #define GL_SMOOTH_POINT_SIZE_GRANULARITY                        0x0B13
76 #define GL_SMOOTH_LINE_WIDTH_RANGE                              0x0B22
77 #define GL_SMOOTH_LINE_WIDTH_GRANULARITY                        0x0B23
78 #define GL_ALIASED_POINT_SIZE_RANGE                             0x846D
79 #define GL_ALIASED_LINE_WIDTH_RANGE                             0x846E
80 #define GL_PACK_SKIP_IMAGES                                     0x806B
81 #define GL_PACK_IMAGE_HEIGHT                                    0x806C
82 #define GL_UNPACK_SKIP_IMAGES                                   0x806D
83 #define GL_UNPACK_IMAGE_HEIGHT                                  0x806E
84 #define GL_TEXTURE_3D                                           0x806F
85 #define GL_PROXY_TEXTURE_3D                                     0x8070
86 #define GL_TEXTURE_DEPTH                                        0x8071
87 #define GL_TEXTURE_WRAP_R                                       0x8072
88 #define GL_MAX_3D_TEXTURE_SIZE                                  0x8073
89 #define GL_TEXTURE_BINDING_3D                                   0x806A
90
91 #define GL_COLOR_TABLE                                          0x80D0
92 #define GL_POST_CONVOLUTION_COLOR_TABLE                         0x80D1
93 #define GL_POST_COLOR_MATRIX_COLOR_TABLE                        0x80D2
94 #define GL_PROXY_COLOR_TABLE                                    0x80D3
95 #define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE                   0x80D4
96 #define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE                  0x80D5
97 #define GL_COLOR_TABLE_SCALE                                    0x80D6
98 #define GL_COLOR_TABLE_BIAS                                     0x80D7
99 #define GL_COLOR_TABLE_FORMAT                                   0x80D8
100 #define GL_COLOR_TABLE_WIDTH                                    0x80D9
101 #define GL_COLOR_TABLE_RED_SIZE                                 0x80DA
102 #define GL_COLOR_TABLE_GREEN_SIZE                               0x80DB
103 #define GL_COLOR_TABLE_BLUE_SIZE                                0x80DC
104 #define GL_COLOR_TABLE_ALPHA_SIZE                               0x80DD
105 #define GL_COLOR_TABLE_LUMINANCE_SIZE                           0x80DE
106 #define GL_COLOR_TABLE_INTENSITY_SIZE                           0x80DF
107
108 #define GL_CONVOLUTION_1D                                       0x8010
109 #define GL_CONVOLUTION_2D                                       0x8011
110 #define GL_SEPARABLE_2D                                         0x8012
111 #define GL_CONVOLUTION_BORDER_MODE                              0x8013
112 #define GL_CONVOLUTION_FILTER_SCALE                             0x8014
113 #define GL_CONVOLUTION_FILTER_BIAS                              0x8015
114 #define GL_REDUCE                                               0x8016
115 #define GL_CONVOLUTION_FORMAT                                   0x8017
116 #define GL_CONVOLUTION_WIDTH                                    0x8018
117 #define GL_CONVOLUTION_HEIGHT                                   0x8019
118 #define GL_MAX_CONVOLUTION_WIDTH                                0x801A
119 #define GL_MAX_CONVOLUTION_HEIGHT                               0x801B
120 #define GL_POST_CONVOLUTION_RED_SCALE                           0x801C
121 #define GL_POST_CONVOLUTION_GREEN_SCALE                         0x801D
122 #define GL_POST_CONVOLUTION_BLUE_SCALE                          0x801E
123 #define GL_POST_CONVOLUTION_ALPHA_SCALE                         0x801F
124 #define GL_POST_CONVOLUTION_RED_BIAS                            0x8020
125 #define GL_POST_CONVOLUTION_GREEN_BIAS                          0x8021
126 #define GL_POST_CONVOLUTION_BLUE_BIAS                           0x8022
127 #define GL_POST_CONVOLUTION_ALPHA_BIAS                          0x8023
128 #define GL_CONSTANT_BORDER                                      0x8151
129 #define GL_REPLICATE_BORDER                                     0x8153
130 #define GL_CONVOLUTION_BORDER_COLOR                             0x8154
131 #define GL_COLOR_MATRIX                                         0x80B1
132 #define GL_COLOR_MATRIX_STACK_DEPTH                             0x80B2
133 #define GL_MAX_COLOR_MATRIX_STACK_DEPTH                         0x80B3
134 #define GL_POST_COLOR_MATRIX_RED_SCALE                          0x80B4
135 #define GL_POST_COLOR_MATRIX_GREEN_SCALE                        0x80B5
136 #define GL_POST_COLOR_MATRIX_BLUE_SCALE                         0x80B6
137 #define GL_POST_COLOR_MATRIX_ALPHA_SCALE                        0x80B7
138 #define GL_POST_COLOR_MATRIX_RED_BIAS                           0x80B8
139 #define GL_POST_COLOR_MATRIX_GREEN_BIAS                         0x80B9
140 #define GL_POST_COLOR_MATRIX_BLUE_BIAS                          0x80BA
141 #define GL_POST_COLOR_MATRIX_ALPHA_BIAS                         0x80BB
142 #define GL_HISTOGRAM                                            0x8024
143 #define GL_PROXY_HISTOGRAM                                      0x8025
144 #define GL_HISTOGRAM_WIDTH                                      0x8026
145 #define GL_HISTOGRAM_FORMAT                                     0x8027
146 #define GL_HISTOGRAM_RED_SIZE                                   0x8028
147 #define GL_HISTOGRAM_GREEN_SIZE                                 0x8029
148 #define GL_HISTOGRAM_BLUE_SIZE                                  0x802A
149 #define GL_HISTOGRAM_ALPHA_SIZE                                 0x802B
150 #define GL_HISTOGRAM_LUMINANCE_SIZE                             0x802C
151 #define GL_HISTOGRAM_SINK                                       0x802D
152 #define GL_MINMAX                                               0x802E
153 #define GL_MINMAX_FORMAT                                        0x802F
154 #define GL_MINMAX_SINK                                          0x8030
155 #define GL_TABLE_TOO_LARGE                                      0x8031
156 #define GL_BLEND_EQUATION                                       0x8009
157 #define GL_MIN                                                  0x8007
158 #define GL_MAX                                                  0x8008
159 #define GL_FUNC_ADD                                             0x8006
160 #define GL_FUNC_SUBTRACT                                        0x800A
161 #define GL_FUNC_REVERSE_SUBTRACT                                0x800B
162 #define GL_BLEND_COLOR                                          0x8005
163 #define GL_CONSTANT_COLOR                                       0x8001
164 #define GL_ONE_MINUS_CONSTANT_COLOR                             0x8002
165 #define GL_CONSTANT_ALPHA                                       0x8003
166 #define GL_ONE_MINUS_CONSTANT_ALPHA                             0x8004
167
168 #define GL_TEXTURE0                                             0x84C0
169 #define GL_TEXTURE1                                             0x84C1
170 #define GL_TEXTURE2                                             0x84C2
171 #define GL_TEXTURE3                                             0x84C3
172 #define GL_TEXTURE4                                             0x84C4
173 #define GL_TEXTURE5                                             0x84C5
174 #define GL_TEXTURE6                                             0x84C6
175 #define GL_TEXTURE7                                             0x84C7
176 #define GL_TEXTURE8                                             0x84C8
177 #define GL_TEXTURE9                                             0x84C9
178 #define GL_TEXTURE10                                            0x84CA
179 #define GL_TEXTURE11                                            0x84CB
180 #define GL_TEXTURE12                                            0x84CC
181 #define GL_TEXTURE13                                            0x84CD
182 #define GL_TEXTURE14                                            0x84CE
183 #define GL_TEXTURE15                                            0x84CF
184 #define GL_TEXTURE16                                            0x84D0
185 #define GL_TEXTURE17                                            0x84D1
186 #define GL_TEXTURE18                                            0x84D2
187 #define GL_TEXTURE19                                            0x84D3
188 #define GL_TEXTURE20                                            0x84D4
189 #define GL_TEXTURE21                                            0x84D5
190 #define GL_TEXTURE22                                            0x84D6
191 #define GL_TEXTURE23                                            0x84D7
192 #define GL_TEXTURE24                                            0x84D8
193 #define GL_TEXTURE25                                            0x84D9
194 #define GL_TEXTURE26                                            0x84DA
195 #define GL_TEXTURE27                                            0x84DB
196 #define GL_TEXTURE28                                            0x84DC
197 #define GL_TEXTURE29                                            0x84DD
198 #define GL_TEXTURE30                                            0x84DE
199 #define GL_TEXTURE31                                            0x84DF
200 #define GL_ACTIVE_TEXTURE                                       0x84E0
201 #define GL_CLIENT_ACTIVE_TEXTURE                                0x84E1
202 #define GL_MAX_TEXTURE_UNITS                                    0x84E2
203
204 #define GL_NORMAL_MAP                                           0x8511
205 #define GL_REFLECTION_MAP                                       0x8512
206 #define GL_TEXTURE_CUBE_MAP                                     0x8513
207 #define GL_TEXTURE_BINDING_CUBE_MAP                             0x8514
208 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X                          0x8515
209 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X                          0x8516
210 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y                          0x8517
211 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y                          0x8518
212 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z                          0x8519
213 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z                          0x851A
214 #define GL_PROXY_TEXTURE_CUBE_MAP                               0x851B
215 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE                            0x851C
216
217 #define GL_COMPRESSED_ALPHA                                     0x84E9
218 #define GL_COMPRESSED_LUMINANCE                                 0x84EA
219 #define GL_COMPRESSED_LUMINANCE_ALPHA                           0x84EB
220 #define GL_COMPRESSED_INTENSITY                                 0x84EC
221 #define GL_COMPRESSED_RGB                                       0x84ED
222 #define GL_COMPRESSED_RGBA                                      0x84EE
223 #define GL_TEXTURE_COMPRESSION_HINT                             0x84EF
224 #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE                        0x86A0
225 #define GL_TEXTURE_COMPRESSED                                   0x86A1
226 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS                       0x86A2
227 #define GL_COMPRESSED_TEXTURE_FORMATS                           0x86A3
228
229 #define GL_MULTISAMPLE                                          0x809D
230 #define GL_SAMPLE_ALPHA_TO_COVERAGE                             0x809E
231 #define GL_SAMPLE_ALPHA_TO_ONE                                  0x809F
232 #define GL_SAMPLE_COVERAGE                                      0x80A0
233 #define GL_SAMPLE_BUFFERS                                       0x80A8
234 #define GL_SAMPLES                                              0x80A9
235 #define GL_SAMPLE_COVERAGE_VALUE                                0x80AA
236 #define GL_SAMPLE_COVERAGE_INVERT                               0x80AB
237 #define GL_MULTISAMPLE_BIT                                      0x20000000
238
239 #define GL_TRANSPOSE_MODELVIEW_MATRIX                           0x84E3
240 #define GL_TRANSPOSE_PROJECTION_MATRIX                          0x84E4
241 #define GL_TRANSPOSE_TEXTURE_MATRIX                             0x84E5
242 #define GL_TRANSPOSE_COLOR_MATRIX                               0x84E6
243
244 #define GL_COMBINE                                              0x8570
245 #define GL_COMBINE_RGB                                          0x8571
246 #define GL_COMBINE_ALPHA                                        0x8572
247 #define GL_SOURCE0_RGB                                          0x8580
248 #define GL_SOURCE1_RGB                                          0x8581
249 #define GL_SOURCE2_RGB                                          0x8582
250 #define GL_SOURCE0_ALPHA                                        0x8588
251 #define GL_SOURCE1_ALPHA                                        0x8589
252 #define GL_SOURCE2_ALPHA                                        0x858A
253 #define GL_OPERAND0_RGB                                         0x8590
254 #define GL_OPERAND1_RGB                                         0x8591
255 #define GL_OPERAND2_RGB                                         0x8592
256 #define GL_OPERAND0_ALPHA                                       0x8598
257 #define GL_OPERAND1_ALPHA                                       0x8599
258 #define GL_OPERAND2_ALPHA                                       0x859A
259 #define GL_RGB_SCALE                                            0x8573
260 #define GL_ADD_SIGNED                                           0x8574
261 #define GL_INTERPOLATE                                          0x8575
262 #define GL_SUBTRACT                                             0x84E7
263 #define GL_CONSTANT                                             0x8576
264 #define GL_PRIMARY_COLOR                                        0x8577
265 #define GL_PREVIOUS                                             0x8578
266
267 #define GL_DOT3_RGB                                             0x86AE
268 #define GL_DOT3_RGBA                                            0x86AF
269
270 #define GL_CLAMP_TO_BORDER                                      0x812D
271
272
273 /* 1.2 functions */
274
275 typedef void (APIENTRY * glDrawRangeElementsPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
276 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 );
277 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);
278 typedef void (APIENTRY * glCopyTexSubImage3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height );
279 typedef void (APIENTRY * glColorTablePROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table );
280 typedef void (APIENTRY * glColorSubTablePROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data );
281 typedef void (APIENTRY * glColorTableParameterivPROC) (GLenum target, GLenum pname, const GLint *params);
282 typedef void (APIENTRY * glColorTableParameterfvPROC) (GLenum target, GLenum pname, const GLfloat *params);
283 typedef void (APIENTRY * glCopyColorSubTablePROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width );
284 typedef void (APIENTRY * glCopyColorTablePROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width );
285 typedef void (APIENTRY * glGetColorTablePROC) (GLenum target, GLenum format, GLenum type, GLvoid *table );
286 typedef void (APIENTRY * glGetColorTableParameterfvPROC) (GLenum target, GLenum pname, GLfloat *params );
287 typedef void (APIENTRY * glGetColorTableParameterivPROC) (GLenum target, GLenum pname, GLint *params );
288 typedef void (APIENTRY * glBlendEquationPROC) (GLenum mode );
289 typedef void (APIENTRY * glBlendColorPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
290 typedef void (APIENTRY * glHistogramPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink );
291 typedef void (APIENTRY * glResetHistogramPROC) (GLenum target );
292 typedef void (APIENTRY * glGetHistogramPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values );
293 typedef void (APIENTRY * glGetHistogramParameterfvPROC) (GLenum target, GLenum pname, GLfloat *params );
294 typedef void (APIENTRY * glGetHistogramParameterivPROC) (GLenum target, GLenum pname, GLint *params );
295 typedef void (APIENTRY * glMinmaxPROC) (GLenum target, GLenum internalformat, GLboolean sink );
296 typedef void (APIENTRY * glResetMinmaxPROC) (GLenum target );
297 typedef void (APIENTRY * glGetMinmaxPROC) (GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values );
298 typedef void (APIENTRY * glGetMinmaxParameterfvPROC) (GLenum target, GLenum pname, GLfloat *params );
299 typedef void (APIENTRY * glGetMinmaxParameterivPROC) (GLenum target, GLenum pname, GLint *params );
300 typedef void (APIENTRY * glConvolutionFilter1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image );
301 typedef void (APIENTRY * glConvolutionFilter2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image );
302 typedef void (APIENTRY * glConvolutionParameterfPROC) (GLenum target, GLenum pname, GLfloat params );
303 typedef void (APIENTRY * glConvolutionParameterfvPROC) (GLenum target, GLenum pname, const GLfloat *params );
304 typedef void (APIENTRY * glConvolutionParameteriPROC) (GLenum target, GLenum pname, GLint params );
305 typedef void (APIENTRY * glConvolutionParameterivPROC) (GLenum target, GLenum pname, const GLint *params );
306 typedef void (APIENTRY * glCopyConvolutionFilter1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width );
307 typedef void (APIENTRY * glCopyConvolutionFilter2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
308 typedef void (APIENTRY * glGetConvolutionFilterPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image );
309 typedef void (APIENTRY * glGetConvolutionParameterfvPROC) (GLenum target, GLenum pname, GLfloat *params );
310 typedef void (APIENTRY * glGetConvolutionParameterivPROC) (GLenum target, GLenum pname, GLint *params );
311 typedef void (APIENTRY * glSeparableFilter2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column );
312 typedef void (APIENTRY * glGetSeparableFilterPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span );
313
314 /* 1.3 functions */
315
316 typedef void (APIENTRY * glActiveTexturePROC) (GLenum texture );
317 typedef void (APIENTRY * glClientActiveTexturePROC) (GLenum texture );
318 typedef void (APIENTRY * glCompressedTexImage1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data );
319 typedef void (APIENTRY * glCompressedTexImage2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data );
320 typedef void (APIENTRY * glCompressedTexImage3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data );
321 typedef void (APIENTRY * glCompressedTexSubImage1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data );
322 typedef void (APIENTRY * glCompressedTexSubImage2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data );
323 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 );
324 typedef void (APIENTRY * glGetCompressedTexImagePROC) (GLenum target, GLint lod, GLvoid *img );
325 typedef void (APIENTRY * glMultiTexCoord1dPROC) (GLenum target, GLdouble s );
326 typedef void (APIENTRY * glMultiTexCoord1dvPROC) (GLenum target, const GLdouble *v );
327 typedef void (APIENTRY * glMultiTexCoord1fPROC) (GLenum target, GLfloat s );
328 typedef void (APIENTRY * glMultiTexCoord1fvPROC) (GLenum target, const GLfloat *v );
329 typedef void (APIENTRY * glMultiTexCoord1iPROC) (GLenum target, GLint s );
330 typedef void (APIENTRY * glMultiTexCoord1ivPROC) (GLenum target, const GLint *v );
331 typedef void (APIENTRY * glMultiTexCoord1sPROC) (GLenum target, GLshort s );
332 typedef void (APIENTRY * glMultiTexCoord1svPROC) (GLenum target, const GLshort *v );
333 typedef void (APIENTRY * glMultiTexCoord2dPROC) (GLenum target, GLdouble s, GLdouble t );
334 typedef void (APIENTRY * glMultiTexCoord2dvPROC) (GLenum target, const GLdouble *v );
335 typedef void (APIENTRY * glMultiTexCoord2fPROC) (GLenum target, GLfloat s, GLfloat t );
336 typedef void (APIENTRY * glMultiTexCoord2fvPROC) (GLenum target, const GLfloat *v );
337 typedef void (APIENTRY * glMultiTexCoord2iPROC) (GLenum target, GLint s, GLint t );
338 typedef void (APIENTRY * glMultiTexCoord2ivPROC) (GLenum target, const GLint *v );
339 typedef void (APIENTRY * glMultiTexCoord2sPROC) (GLenum target, GLshort s, GLshort t );
340 typedef void (APIENTRY * glMultiTexCoord2svPROC) (GLenum target, const GLshort *v );
341 typedef void (APIENTRY * glMultiTexCoord3dPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r );
342 typedef void (APIENTRY * glMultiTexCoord3dvPROC) (GLenum target, const GLdouble *v );
343 typedef void (APIENTRY * glMultiTexCoord3fPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r );
344 typedef void (APIENTRY * glMultiTexCoord3fvPROC) (GLenum target, const GLfloat *v );
345 typedef void (APIENTRY * glMultiTexCoord3iPROC) (GLenum target, GLint s, GLint t, GLint r );
346 typedef void (APIENTRY * glMultiTexCoord3ivPROC) (GLenum target, const GLint *v );
347 typedef void (APIENTRY * glMultiTexCoord3sPROC) (GLenum target, GLshort s, GLshort t, GLshort r );
348 typedef void (APIENTRY * glMultiTexCoord3svPROC) (GLenum target, const GLshort *v );
349 typedef void (APIENTRY * glMultiTexCoord4dPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q );
350 typedef void (APIENTRY * glMultiTexCoord4dvPROC) (GLenum target, const GLdouble *v );
351 typedef void (APIENTRY * glMultiTexCoord4fPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q );
352 typedef void (APIENTRY * glMultiTexCoord4fvPROC) (GLenum target, const GLfloat *v );
353 typedef void (APIENTRY * glMultiTexCoord4iPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q );
354 typedef void (APIENTRY * glMultiTexCoord4ivPROC) (GLenum target, const GLint *v );
355 typedef void (APIENTRY * glMultiTexCoord4sPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q );
356 typedef void (APIENTRY * glMultiTexCoord4svPROC) (GLenum target, const GLshort *v );
357 typedef void (APIENTRY * glLoadTransposeMatrixdPROC) (const GLdouble m[16] );
358 typedef void (APIENTRY * glLoadTransposeMatrixfPROC) (const GLfloat m[16] );
359 typedef void (APIENTRY * glMultTransposeMatrixdPROC) (const GLdouble m[16] );
360 typedef void (APIENTRY * glMultTransposeMatrixfPROC) (const GLfloat m[16] );
361 typedef void (APIENTRY * glSampleCoveragePROC) (GLclampf value, GLboolean invert );
362
363 extern glBlendColorPROC glBlendColor;
364 extern glBlendEquationPROC glBlendEquation;
365 extern glDrawRangeElementsPROC glDrawRangeElements;
366 extern glColorTablePROC glColorTable;
367 extern glColorTableParameterfvPROC glColorTableParameterfv;
368 extern glColorTableParameterivPROC glColorTableParameteriv;
369 extern glCopyColorTablePROC glCopyColorTable;
370 extern glGetColorTablePROC glGetColorTable;
371 extern glGetColorTableParameterfvPROC glGetColorTableParameterfv;
372 extern glGetColorTableParameterivPROC glGetColorTableParameteriv;
373 extern glColorSubTablePROC glColorSubTable;
374 extern glCopyColorSubTablePROC glCopyColorSubTable;
375 extern glConvolutionFilter1DPROC glConvolutionFilter1D;
376 extern glConvolutionFilter2DPROC glConvolutionFilter2D;
377 extern glConvolutionParameterfPROC glConvolutionParameterf;
378 extern glConvolutionParameterfvPROC glConvolutionParameterfv;
379 extern glConvolutionParameteriPROC glConvolutionParameteri;
380 extern glConvolutionParameterivPROC glConvolutionParameteriv;
381 extern glCopyConvolutionFilter1DPROC glCopyConvolutionFilter1D;
382 extern glCopyConvolutionFilter2DPROC glCopyConvolutionFilter2D;
383 extern glGetConvolutionFilterPROC glGetConvolutionFilter;
384 extern glGetConvolutionParameterfvPROC glGetConvolutionParameterfv;
385 extern glGetConvolutionParameterivPROC glGetConvolutionParameteriv;
386 extern glGetSeparableFilterPROC glGetSeparableFilter;
387 extern glSeparableFilter2DPROC glSeparableFilter2D;
388 extern glGetHistogramPROC glGetHistogram;
389 extern glGetHistogramParameterfvPROC glGetHistogramParameterfv;
390 extern glGetHistogramParameterivPROC glGetHistogramParameteriv;
391 extern glGetMinmaxPROC glGetMinmax;
392 extern glGetMinmaxParameterfvPROC glGetMinmaxParameterfv;
393 extern glGetMinmaxParameterivPROC glGetMinmaxParameteriv;
394 extern glHistogramPROC glHistogram;
395 extern glMinmaxPROC glMinmax;
396 extern glResetHistogramPROC glResetHistogram;
397 extern glResetMinmaxPROC glResetMinmax;
398 extern glTexImage3DPROC glTexImage3D;
399 extern glTexSubImage3DPROC glTexSubImage3D;
400 extern glCopyTexSubImage3DPROC glCopyTexSubImage3D;
401
402 /* 1.3 */
403
404 extern glActiveTexturePROC glActiveTexture;
405 extern glClientActiveTexturePROC glClientActiveTexture;
406 extern glMultiTexCoord1dPROC glMultiTexCoord1d;
407 extern glMultiTexCoord1dvPROC glMultiTexCoord1dv;
408 extern glMultiTexCoord1fPROC glMultiTexCoord1f;
409 extern glMultiTexCoord1fvPROC glMultiTexCoord1fv;
410 extern glMultiTexCoord1iPROC glMultiTexCoord1i;
411 extern glMultiTexCoord1ivPROC glMultiTexCoord1iv;
412 extern glMultiTexCoord1sPROC glMultiTexCoord1s;
413 extern glMultiTexCoord1svPROC glMultiTexCoord1sv;
414 extern glMultiTexCoord2dPROC glMultiTexCoord2d;
415 extern glMultiTexCoord2dvPROC glMultiTexCoord2dv;
416 extern glMultiTexCoord2fPROC glMultiTexCoord2f;
417 extern glMultiTexCoord2fvPROC glMultiTexCoord2fv;
418 extern glMultiTexCoord2iPROC glMultiTexCoord2i;
419 extern glMultiTexCoord2ivPROC glMultiTexCoord2iv;
420 extern glMultiTexCoord2sPROC glMultiTexCoord2s;
421 extern glMultiTexCoord2svPROC glMultiTexCoord2sv;
422 extern glMultiTexCoord3dPROC glMultiTexCoord3d;
423 extern glMultiTexCoord3dvPROC glMultiTexCoord3dv;
424 extern glMultiTexCoord3fPROC glMultiTexCoord3f;
425 extern glMultiTexCoord3fvPROC glMultiTexCoord3fv;
426 extern glMultiTexCoord3iPROC glMultiTexCoord3i;
427 extern glMultiTexCoord3ivPROC glMultiTexCoord3iv;
428 extern glMultiTexCoord3sPROC glMultiTexCoord3s;
429 extern glMultiTexCoord3svPROC glMultiTexCoord3sv;
430 extern glMultiTexCoord4dPROC glMultiTexCoord4d;
431 extern glMultiTexCoord4dvPROC glMultiTexCoord4dv;
432 extern glMultiTexCoord4fPROC glMultiTexCoord4f;
433 extern glMultiTexCoord4fvPROC glMultiTexCoord4fv;
434 extern glMultiTexCoord4iPROC glMultiTexCoord4i;
435 extern glMultiTexCoord4ivPROC glMultiTexCoord4iv;
436 extern glMultiTexCoord4sPROC glMultiTexCoord4s;
437 extern glMultiTexCoord4svPROC glMultiTexCoord4sv;
438 extern glLoadTransposeMatrixfPROC glLoadTransposeMatrixf;
439 extern glLoadTransposeMatrixdPROC glLoadTransposeMatrixd;
440 extern glMultTransposeMatrixfPROC glMultTransposeMatrixf;
441 extern glMultTransposeMatrixdPROC glMultTransposeMatrixd;
442 extern glCompressedTexImage3DPROC glCompressedTexImage3D;
443 extern glCompressedTexImage2DPROC glCompressedTexImage2D;
444 extern glCompressedTexImage1DPROC glCompressedTexImage1D;
445 extern glCompressedTexSubImage3DPROC glCompressedTexSubImage3D;
446 extern glCompressedTexSubImage2DPROC glCompressedTexSubImage2D;
447 extern glCompressedTexSubImage1DPROC glCompressedTexSubImage1D;
448 extern glGetCompressedTexImagePROC glGetCompressedTexImage;
449 extern glSampleCoveragePROC glSampleCoverage;
450
451 /*-------------------------------------------------------------------*/
452 /*------------EXTENSIONS---------------------------------------------*/
453 /*-------------------------------------------------------------------*/
454
455 /*-------------------------------------------------------------------*/
456 /*------------ARB_MULTITEXTURE---------------------------------------*/
457 /*-------------------------------------------------------------------*/
458
459 #ifndef GL_ARB_multitexture
460 #define GL_ARB_multitexture 1
461 #define GL_TEXTURE0_ARB                                         0x84C0
462 #define GL_TEXTURE1_ARB                                         0x84C1
463 #define GL_TEXTURE2_ARB                                         0x84C2
464 #define GL_TEXTURE3_ARB                                         0x84C3
465 #define GL_TEXTURE4_ARB                                         0x84C4
466 #define GL_TEXTURE5_ARB                                         0x84C5
467 #define GL_TEXTURE6_ARB                                         0x84C6
468 #define GL_TEXTURE7_ARB                                         0x84C7
469 #define GL_TEXTURE8_ARB                                         0x84C8
470 #define GL_TEXTURE9_ARB                                         0x84C9
471 #define GL_TEXTURE10_ARB                                        0x84CA
472 #define GL_TEXTURE11_ARB                                        0x84CB
473 #define GL_TEXTURE12_ARB                                        0x84CC
474 #define GL_TEXTURE13_ARB                                        0x84CD
475 #define GL_TEXTURE14_ARB                                        0x84CE
476 #define GL_TEXTURE15_ARB                                        0x84CF
477 #define GL_TEXTURE16_ARB                                        0x84D0
478 #define GL_TEXTURE17_ARB                                        0x84D1
479 #define GL_TEXTURE18_ARB                                        0x84D2
480 #define GL_TEXTURE19_ARB                                        0x84D3
481 #define GL_TEXTURE20_ARB                                        0x84D4
482 #define GL_TEXTURE21_ARB                                        0x84D5
483 #define GL_TEXTURE22_ARB                                        0x84D6
484 #define GL_TEXTURE23_ARB                                        0x84D7
485 #define GL_TEXTURE24_ARB                                        0x84D8
486 #define GL_TEXTURE25_ARB                                        0x84D9
487 #define GL_TEXTURE26_ARB                                        0x84DA
488 #define GL_TEXTURE27_ARB                                        0x84DB
489 #define GL_TEXTURE28_ARB                                        0x84DC
490 #define GL_TEXTURE29_ARB                                        0x84DD
491 #define GL_TEXTURE30_ARB                                        0x84DE
492 #define GL_TEXTURE31_ARB                                        0x84DF
493 #define GL_ACTIVE_TEXTURE_ARB                                   0x84E0
494 #define GL_CLIENT_ACTIVE_TEXTURE_ARB                            0x84E1
495 #define GL_MAX_TEXTURE_UNITS_ARB                                0x84E2
496
497 extern glActiveTexturePROC glActiveTextureARB;
498 extern glClientActiveTexturePROC glClientActiveTextureARB;
499 extern glMultiTexCoord1dPROC glMultiTexCoord1dARB;
500 extern glMultiTexCoord1dvPROC glMultiTexCoord1dvARB;
501 extern glMultiTexCoord1fPROC glMultiTexCoord1fARB;
502 extern glMultiTexCoord1fvPROC glMultiTexCoord1fvARB;
503 extern glMultiTexCoord1iPROC glMultiTexCoord1iARB;
504 extern glMultiTexCoord1ivPROC glMultiTexCoord1ivARB;
505 extern glMultiTexCoord1sPROC glMultiTexCoord1sARB;
506 extern glMultiTexCoord1svPROC glMultiTexCoord1svARB;
507 extern glMultiTexCoord2dPROC glMultiTexCoord2dARB;
508 extern glMultiTexCoord2dvPROC glMultiTexCoord2dvARB;
509 extern glMultiTexCoord2fPROC glMultiTexCoord2fARB;
510 extern glMultiTexCoord2fvPROC glMultiTexCoord2fvARB;
511 extern glMultiTexCoord2iPROC glMultiTexCoord2iARB;
512 extern glMultiTexCoord2ivPROC glMultiTexCoord2ivARB;
513 extern glMultiTexCoord2sPROC glMultiTexCoord2sARB;
514 extern glMultiTexCoord2svPROC glMultiTexCoord2svARB;
515 extern glMultiTexCoord3dPROC glMultiTexCoord3dARB;
516 extern glMultiTexCoord3dvPROC glMultiTexCoord3dvARB;
517 extern glMultiTexCoord3fPROC glMultiTexCoord3fARB;
518 extern glMultiTexCoord3fvPROC glMultiTexCoord3fvARB;
519 extern glMultiTexCoord3iPROC glMultiTexCoord3iARB;
520 extern glMultiTexCoord3ivPROC glMultiTexCoord3ivARB;
521 extern glMultiTexCoord3sPROC glMultiTexCoord3sARB;
522 extern glMultiTexCoord3svPROC glMultiTexCoord3svARB;
523 extern glMultiTexCoord4dPROC glMultiTexCoord4dARB;
524 extern glMultiTexCoord4dvPROC glMultiTexCoord4dvARB;
525 extern glMultiTexCoord4fPROC glMultiTexCoord4fARB;
526 extern glMultiTexCoord4fvPROC glMultiTexCoord4fvARB;
527 extern glMultiTexCoord4iPROC glMultiTexCoord4iARB;
528 extern glMultiTexCoord4ivPROC glMultiTexCoord4ivARB;
529 extern glMultiTexCoord4sPROC glMultiTexCoord4sARB;
530 extern glMultiTexCoord4svPROC glMultiTexCoord4svARB;
531
532 #endif /* GL_ARB_multitexture */
533
534 /*-------------------------------------------------------------------*/
535 /*------------ARB_TRANSPOSE_MATRIX-----------------------------------*/
536 /*-------------------------------------------------------------------*/
537
538 #ifndef GL_ARB_transpose_matrix
539 #define GL_ARB_transpose_matrix 1
540
541 #define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB                       0x84E3
542 #define GL_TRANSPOSE_PROJECTION_MATRIX_ARB                      0x84E4
543 #define GL_TRANSPOSE_TEXTURE_MATRIX_ARB                         0x84E5
544 #define GL_TRANSPOSE_COLOR_MATRIX_ARB                           0x84E6
545
546 extern glLoadTransposeMatrixfPROC glLoadTransposeMatrixfARB;
547 extern glLoadTransposeMatrixdPROC glLoadTransposeMatrixdARB;
548 extern glMultTransposeMatrixfPROC glMultTransposeMatrixfARB;
549 extern glMultTransposeMatrixdPROC glMultTransposeMatrixdARB;
550
551 #endif /* GL_ARB_transpose_matrix */
552
553 /*-------------------------------------------------------------------*/
554 /*------------ARB_TEXTURE_COMPRESSION--------------------------------*/
555 /*-------------------------------------------------------------------*/
556
557 #ifndef GL_ARB_texture_compression
558 #define GL_ARB_texture_compression 1
559
560 #define GL_COMPRESSED_ALPHA_ARB                                 0x84E9
561 #define GL_COMPRESSED_LUMINANCE_ARB                             0x84EA
562 #define GL_COMPRESSED_LUMINANCE_ALPHA_ARB                       0x84EB
563 #define GL_COMPRESSED_INTENSITY_ARB                             0x84EC
564 #define GL_COMPRESSED_RGB_ARB                                   0x84ED
565 #define GL_COMPRESSED_RGBA_ARB                                  0x84EE
566 #define GL_TEXTURE_COMPRESSION_HINT_ARB                         0x84EF
567 #define GL_TEXTURE_IMAGE_SIZE_ARB                               0x86A0
568 #define GL_TEXTURE_COMPRESSED_ARB                               0x86A1
569 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB                   0x86A2
570 #define GL_COMPRESSED_TEXTURE_FORMATS_ARB                       0x86A3
571
572 extern glCompressedTexImage3DPROC glCompressedTexImage3DARB;
573 extern glCompressedTexImage2DPROC glCompressedTexImage2DARB;
574 extern glCompressedTexImage1DPROC glCompressedTexImage1DARB; 
575 extern glCompressedTexSubImage3DPROC glCompressedTexSubImage3DARB;
576 extern glCompressedTexSubImage2DPROC glCompressedTexSubImage2DARB;
577 extern glCompressedTexSubImage1DPROC glCompressedTexSubImage1DARB;
578 extern glGetCompressedTexImagePROC glGetCompressedTexImageARB;
579
580 #endif /* GL_ARB_texture_compression */
581
582 /*-------------------------------------------------------------------*/
583 /*------------ARB_CUBE_MAP-------------------------------------------*/
584 /*-------------------------------------------------------------------*/
585
586 #ifndef GL_ARB_texture_cube_map
587 #define GL_ARB_texture_cube_map 1
588
589 #define GL_NORMAL_MAP_ARB                                       0x8511
590 #define GL_REFLECTION_MAP_ARB                                   0x8512
591 #define GL_TEXTURE_CUBE_MAP_ARB                                 0x8513
592 #define GL_TEXTURE_BINDING_CUBE_MAP_ARB                         0x8514
593 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB                      0x8515
594 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB                      0x8516
595 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB                      0x8517
596 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB                      0x8518
597 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB                      0x8519
598 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB                      0x851A
599 #define GL_PROXY_TEXTURE_CUBE_MAP_ARB                           0x851B
600 #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB                        0x851C
601
602 #endif /* GL_ARB_texture_cube_map */
603
604 /*-------------------------------------------------------------------*/
605 /*------------SGIX_SHADOW--------------------------------------------*/
606 /*-------------------------------------------------------------------*/
607
608 #ifndef GL_SGIX_shadow
609 #define GL_SGIX_shadow 1
610
611 #define GL_TEXTURE_COMPARE_SGIX                                 0x819A
612 #define GL_TEXTURE_COMPARE_OPERATOR_SGIX                        0x819B
613 #define GL_TEXTURE_LEQUAL_R_SGIX                                0x819C
614 #define GL_TEXTURE_GEQUAL_R_SGIX                                0x819D
615
616 #endif /* GL_SGIX_shadow */
617
618 /*-------------------------------------------------------------------*/
619 /*------------SGIX_DEPTH_TEXTURE-------------------------------------*/
620 /*-------------------------------------------------------------------*/
621
622 #ifndef GL_SGIX_depth_texture
623 #define GL_SGIX_depth_texture 1
624
625 #define GL_DEPTH_COMPONENT16_SGIX                               0x81A5
626 #define GL_DEPTH_COMPONENT24_SGIX                               0x81A6
627 #define GL_DEPTH_COMPONENT32_SGIX                               0x81A7
628
629 #endif /* GL_SGIX_depth_texture */
630
631 /*-------------------------------------------------------------------*/
632 /*------------EXT_COMPILED_VERTEX_ARRAY------------------------------*/
633 /*-------------------------------------------------------------------*/
634
635 #ifndef GL_EXT_compiled_vertex_array
636 #define GL_EXT_compiled_vertex_array 1
637
638 #define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT                         0x81A8
639 #define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT                         0x81A9
640
641 typedef void (APIENTRY * glLockArraysEXTPROC) (GLint first, GLsizei count);
642 typedef void (APIENTRY * glUnlockArraysEXTPROC) ();
643
644 extern glLockArraysEXTPROC glLockArraysEXT;
645 extern glUnlockArraysEXTPROC glUnlockArraysEXT;
646
647 #endif /* GL_EXT_compiled_vertex_array */
648
649 /*-------------------------------------------------------------------*/
650 /*------------ARB_TEXTURE_ENV_COMBINE--------------------------------*/
651 /*-------------------------------------------------------------------*/
652
653 #ifndef GL_ARB_texture_env_combine
654 #define GL_ARB_texture_env_combine 1
655
656 #define GL_COMBINE_ARB                                          0x8570
657 #define GL_COMBINE_RGB_ARB                                      0x8571
658 #define GL_COMBINE_ALPHA_ARB                                    0x8572
659 #define GL_RGB_SCALE_ARB                                        0x8573
660 #define GL_ADD_SIGNED_ARB                                       0x8574
661 #define GL_INTERPOLATE_ARB                                      0x8575
662 #define GL_CONSTANT_ARB                                         0x8576
663 #define GL_PRIMARY_COLOR_ARB                                    0x8577
664 #define GL_PREVIOUS_ARB                                         0x8578
665 #define GL_SOURCE0_RGB_ARB                                      0x8580
666 #define GL_SOURCE1_RGB_ARB                                      0x8581
667 #define GL_SOURCE2_RGB_ARB                                      0x8582
668 #define GL_SOURCE0_ALPHA_ARB                                    0x8588
669 #define GL_SOURCE1_ALPHA_ARB                                    0x8589
670 #define GL_SOURCE2_ALPHA_ARB                                    0x858A
671 #define GL_OPERAND0_RGB_ARB                                     0x8590
672 #define GL_OPERAND1_RGB_ARB                                     0x8591
673 #define GL_OPERAND2_RGB_ARB                                     0x8592
674 #define GL_OPERAND0_ALPHA_ARB                                   0x8598
675 #define GL_OPERAND1_ALPHA_ARB                                   0x8599
676 #define GL_OPERAND2_ALPHA_ARB                                   0x859A
677
678 #endif /* GL_ARB_texture_env_combine */
679
680 /*-------------------------------------------------------------------*/
681 /*------------ARB_TEXTURE_ENV_DOT3-----------------------------------*/
682 /*-------------------------------------------------------------------*/
683
684 #ifndef GL_ARB_texture_env_dot3
685 #define GL_ARB_texture_env_dot3 1
686
687 #define GL_DOT3_RGB_ARB                                         0x86AE
688 #define GL_DOT3_RGBA_ARB                                        0x86AF
689
690 #endif /* GL_ARB_texture_env_dot3 */
691
692 /*-------------------------------------------------------------------*/
693 /*------------ARB_TEXTURE_BORDER_CLAMP-------------------------------*/
694 /*-------------------------------------------------------------------*/
695
696 #ifndef GL_ARB_texture_border_clamp
697 #define GL_ARB_texture_border_clamp 1
698
699 #define GL_CLAMP_TO_BORDER_ARB                                  0x812D
700
701 #endif /* GL_ARB_texture_border_clamp */
702
703 /*-------------------------------------------------------------------*/
704 /*------------ARB_TEXTURE_ENV_ADD------------------------------------*/
705 /*-------------------------------------------------------------------*/
706
707 #ifndef GL_ARB_texture_env_add
708 #define GL_ARB_texture_env_add 1
709
710
711 #endif /* GL_ARB_texture_env_add */
712
713 /*-------------------------------------------------------------------*/
714 /*------------EXT_SECONDARY_COLOR------------------------------------*/
715 /*-------------------------------------------------------------------*/
716
717 #ifndef GL_EXT_secondary_color
718 #define GL_EXT_secondary_color 1
719
720 #define GL_COLOR_SUM_EXT                                        0x8458
721 #define GL_CURRENT_SECONDARY_COLOR_EXT                          0x8459
722 #define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT                       0x845A
723 #define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT                       0x845B
724 #define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT                     0x845C
725 #define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT                    0x845D
726 #define GL_SECONDARY_COLOR_ARRAY_EXT                            0x845E
727
728 typedef void (APIENTRY * glSecondaryColor3bEXTPROC) (GLbyte red, GLbyte green, GLbyte blue);
729 typedef void (APIENTRY * glSecondaryColor3bvEXTPROC) (const GLbyte *v);
730 typedef void (APIENTRY * glSecondaryColor3dEXTPROC) (GLdouble red, GLdouble green, GLdouble blue);
731 typedef void (APIENTRY * glSecondaryColor3dvEXTPROC) (const GLdouble *v);
732 typedef void (APIENTRY * glSecondaryColor3fEXTPROC) (GLfloat red, GLfloat green, GLfloat blue);
733 typedef void (APIENTRY * glSecondaryColor3fvEXTPROC) (const GLfloat *v);
734 typedef void (APIENTRY * glSecondaryColor3iEXTPROC) (GLint red, GLint green, GLint blue);
735 typedef void (APIENTRY * glSecondaryColor3ivEXTPROC) (const GLint *v);
736 typedef void (APIENTRY * glSecondaryColor3sEXTPROC) (GLshort red, GLshort green, GLshort blue);
737 typedef void (APIENTRY * glSecondaryColor3svEXTPROC) (const GLshort *v);
738 typedef void (APIENTRY * glSecondaryColor3ubEXTPROC) (GLubyte red, GLubyte green, GLubyte blue);
739 typedef void (APIENTRY * glSecondaryColor3ubvEXTPROC) (const GLubyte *v);
740 typedef void (APIENTRY * glSecondaryColor3uiEXTPROC) (GLuint red, GLuint green, GLuint blue);
741 typedef void (APIENTRY * glSecondaryColor3uivEXTPROC) (const GLuint *v);
742 typedef void (APIENTRY * glSecondaryColor3usEXTPROC) (GLushort red, GLushort green, GLushort blue);
743 typedef void (APIENTRY * glSecondaryColor3usvEXTPROC) (const GLushort *v);
744 typedef void (APIENTRY * glSecondaryColorPointerEXTPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
745
746 extern glSecondaryColor3bEXTPROC glSecondaryColor3bEXT;
747 extern glSecondaryColor3bvEXTPROC glSecondaryColor3bvEXT;
748 extern glSecondaryColor3dEXTPROC glSecondaryColor3dEXT;
749 extern glSecondaryColor3dvEXTPROC glSecondaryColor3dvEXT;
750 extern glSecondaryColor3fEXTPROC glSecondaryColor3fEXT;
751 extern glSecondaryColor3fvEXTPROC glSecondaryColor3fvEXT;
752 extern glSecondaryColor3iEXTPROC glSecondaryColor3iEXT;
753 extern glSecondaryColor3ivEXTPROC glSecondaryColor3ivEXT;
754 extern glSecondaryColor3sEXTPROC glSecondaryColor3sEXT;
755 extern glSecondaryColor3svEXTPROC glSecondaryColor3svEXT;
756 extern glSecondaryColor3ubEXTPROC glSecondaryColor3ubEXT;
757 extern glSecondaryColor3ubvEXTPROC glSecondaryColor3ubvEXT;
758 extern glSecondaryColor3uiEXTPROC glSecondaryColor3uiEXT;
759 extern glSecondaryColor3uivEXTPROC glSecondaryColor3uivEXT;
760 extern glSecondaryColor3usEXTPROC glSecondaryColor3usEXT;
761 extern glSecondaryColor3usvEXTPROC glSecondaryColor3usvEXT;
762 extern glSecondaryColorPointerEXTPROC glSecondaryColorPointerEXT;
763
764 #endif /* GL_EXT_secondary_color */
765
766 /*-------------------------------------------------------------------*/
767 /*------------EXT_FOG_COORD------------------------------------------*/
768 /*-------------------------------------------------------------------*/
769
770 #ifndef GL_EXT_fog_coord
771 #define GL_EXT_fog_coord 1
772
773 #define GL_FOG_COORDINATE_SOURCE_EXT                            0x8450
774 #define GL_FOG_COORDINATE_EXT                                   0x8451
775 #define GL_FRAGMENT_DEPTH_EXT                                   0x8452
776 #define GL_CURRENT_FOG_COORDINATE_EXT                           0x8453
777 #define GL_FOG_COORDINATE_ARRAY_TYPE_EXT                        0x8454
778 #define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT                      0x8455
779 #define GL_FOG_COORDINATE_ARRAY_POINTER_EXT                     0x8456
780 #define GL_FOG_COORDINATE_ARRAY_EXT                             0x8457
781
782 typedef void (APIENTRY * glFogCoordfEXTPROC) (GLfloat coord);
783 typedef void (APIENTRY * glFogCoordfvEXTPROC) (const GLfloat *coord);
784 typedef void (APIENTRY * glFogCoorddEXTPROC) (GLdouble coord);
785 typedef void (APIENTRY * glFogCoorddvEXTPROC) (const GLdouble *coord);
786 typedef void (APIENTRY * glFogCoordPointerEXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
787
788 extern glFogCoordfEXTPROC glFogCoordfEXT;
789 extern glFogCoordfvEXTPROC glFogCoordfvEXT;
790 extern glFogCoorddEXTPROC glFogCoorddEXT;
791 extern glFogCoorddvEXTPROC glFogCoorddvEXT;
792 extern glFogCoordPointerEXTPROC glFogCoordPointerEXT;
793
794 #endif /* GL_EXT_fog_coord */
795
796 /*-------------------------------------------------------------------*/
797 /*------------NV_VERTEX_ARRAY_RANGE----------------------------------*/
798 /*-------------------------------------------------------------------*/
799
800 #ifndef GL_NV_vertex_array_range
801 #define GL_NV_vertex_array_range 1
802
803 #define GL_VERTEX_ARRAY_RANGE_NV                                0x851D
804 #define GL_VERTEX_ARRAY_RANGE_LENGTH_NV                         0x851E
805 #define GL_VERTEX_ARRAY_RANGE_VALID_NV                          0x851F
806 #define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV                    0x8520
807 #define GL_VERTEX_ARRAY_RANGE_POINTER_NV                        0x8521
808
809 typedef void (APIENTRY * glFlushVertexArrayRangeNVPROC) (void);
810 typedef void (APIENTRY * glVertexArrayRangeNVPROC) (GLsizei size, const GLvoid *pointer);
811
812 extern glFlushVertexArrayRangeNVPROC glFlushVertexArrayRangeNV;
813 extern glVertexArrayRangeNVPROC glVertexArrayRangeNV;
814
815 #ifdef WIN32
816
817 typedef void * (APIENTRY * wglAllocateMemoryNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
818 typedef void (APIENTRY * wglFreeMemoryNVPROC) (void *pointer);
819
820 extern wglAllocateMemoryNVPROC wglAllocateMemoryNV;
821 extern wglFreeMemoryNVPROC wglFreeMemoryNV;
822
823 #endif /* WIN32 */
824
825 #endif /* GL_NV_vertex_array_range */
826
827 /*-------------------------------------------------------------------*/
828 /*------------NV_VERTEX_ARRAY_RANGE2---------------------------------*/
829 /*-------------------------------------------------------------------*/
830
831 #ifndef GL_NV_vertex_array_range2
832 #define GL_NV_vertex_array_range2 1
833
834 #define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV                  0x8533
835
836 #endif /* GL_NV_vertex_array_range2 */
837
838 /*-------------------------------------------------------------------*/
839 /*------------EXT_POINT_PARAMETERS-----------------------------------*/
840 /*-------------------------------------------------------------------*/
841
842 #ifndef GL_EXT_point_parameters
843 #define GL_EXT_point_parameters 1
844
845 #define GL_POINT_SIZE_MIN_EXT                                   0x8126
846 #define GL_POINT_SIZE_MAX_EXT                                   0x8127
847 #define GL_POINT_FADE_THRESHOLD_SIZE_EXT                        0x8128
848 #define GL_DISTANCE_ATTENUATION_EXT                             0x8129
849
850 typedef void (APIENTRY * glPointParameterfEXTPROC) (GLenum pname, GLfloat param);
851 typedef void (APIENTRY * glPointParameterfvEXTPROC) (GLenum pname, const GLfloat *params);
852
853 extern glPointParameterfEXTPROC glPointParameterfEXT;
854 extern glPointParameterfvEXTPROC glPointParameterfvEXT;
855
856 #endif /* GL_EXT_point_parameters */
857
858 /*-------------------------------------------------------------------*/
859 /*------------NV_REGISTER_COMBINERS----------------------------------*/
860 /*-------------------------------------------------------------------*/
861
862 #ifndef GL_NV_register_combiners
863 #define GL_NV_register_combiners 1
864
865 #define GL_REGISTER_COMBINERS_NV                                0x8522
866 #define GL_COMBINER0_NV                                         0x8550
867 #define GL_COMBINER1_NV                                         0x8551
868 #define GL_COMBINER2_NV                                         0x8552
869 #define GL_COMBINER3_NV                                         0x8553
870 #define GL_COMBINER4_NV                                         0x8554
871 #define GL_COMBINER5_NV                                         0x8555
872 #define GL_COMBINER6_NV                                         0x8556
873 #define GL_COMBINER7_NV                                         0x8557
874 #define GL_VARIABLE_A_NV                                        0x8523
875 #define GL_VARIABLE_B_NV                                        0x8524
876 #define GL_VARIABLE_C_NV                                        0x8525
877 #define GL_VARIABLE_D_NV                                        0x8526
878 #define GL_VARIABLE_E_NV                                        0x8527
879 #define GL_VARIABLE_F_NV                                        0x8528
880 #define GL_VARIABLE_G_NV                                        0x8529
881 #define GL_CONSTANT_COLOR0_NV                                   0x852A
882 #define GL_CONSTANT_COLOR1_NV                                   0x852B
883 #define GL_PRIMARY_COLOR_NV                                     0x852C
884 #define GL_SECONDARY_COLOR_NV                                   0x852D
885 #define GL_SPARE0_NV                                            0x852E
886 #define GL_SPARE1_NV                                            0x852F
887 #define GL_UNSIGNED_IDENTITY_NV                                 0x8536
888 #define GL_UNSIGNED_INVERT_NV                                   0x8537
889 #define GL_EXPAND_NORMAL_NV                                     0x8538
890 #define GL_EXPAND_NEGATE_NV                                     0x8539
891 #define GL_HALF_BIAS_NORMAL_NV                                  0x853A
892 #define GL_HALF_BIAS_NEGATE_NV                                  0x853B
893 #define GL_SIGNED_IDENTITY_NV                                   0x853C
894 #define GL_SIGNED_NEGATE_NV                                     0x853D
895 #define GL_E_TIMES_F_NV                                         0x8531
896 #define GL_SPARE0_PLUS_SECONDARY_COLOR_NV                       0x8532
897 #define GL_SCALE_BY_TWO_NV                                      0x853E
898 #define GL_SCALE_BY_FOUR_NV                                     0x853F
899 #define GL_SCALE_BY_ONE_HALF_NV                                 0x8540
900 #define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV                         0x8541
901 #define GL_DISCARD_NV                                           0x8530
902 #define GL_COMBINER_INPUT_NV                                    0x8542
903 #define GL_COMBINER_MAPPING_NV                                  0x8543
904 #define GL_COMBINER_COMPONENT_USAGE_NV                          0x8544
905 #define GL_COMBINER_AB_DOT_PRODUCT_NV                           0x8545
906 #define GL_COMBINER_CD_DOT_PRODUCT_NV                           0x8546
907 #define GL_COMBINER_MUX_SUM_NV                                  0x8547
908 #define GL_COMBINER_SCALE_NV                                    0x8548
909 #define GL_COMBINER_BIAS_NV                                     0x8549
910 #define GL_COMBINER_AB_OUTPUT_NV                                0x854A
911 #define GL_COMBINER_CD_OUTPUT_NV                                0x854B
912 #define GL_COMBINER_SUM_OUTPUT_NV                               0x854C
913 #define GL_NUM_GENERAL_COMBINERS_NV                             0x854E
914 #define GL_COLOR_SUM_CLAMP_NV                                   0x854F
915 #define GL_MAX_GENERAL_COMBINERS_NV                             0x854D
916
917 typedef void (APIENTRY * glCombinerParameterfvNVPROC) (GLenum pname, const GLfloat *params);
918 typedef void (APIENTRY * glCombinerParameterfNVPROC) (GLenum pname, GLfloat param);
919 typedef void (APIENTRY * glCombinerParameterivNVPROC) (GLenum pname, const GLint *params);
920 typedef void (APIENTRY * glCombinerParameteriNVPROC) (GLenum pname, GLint param);
921 typedef void (APIENTRY * glCombinerInputNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
922 typedef void (APIENTRY * glCombinerOutputNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
923 typedef void (APIENTRY * glFinalCombinerInputNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
924 typedef void (APIENTRY * glGetCombinerInputParameterfvNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);
925 typedef void (APIENTRY * glGetCombinerInputParameterivNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);
926 typedef void (APIENTRY * glGetCombinerOutputParameterfvNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat *params);
927 typedef void (APIENTRY * glGetCombinerOutputParameterivNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint *params);
928 typedef void (APIENTRY * glGetFinalCombinerInputParameterfvNVPROC) (GLenum variable, GLenum pname, GLfloat *params);
929 typedef void (APIENTRY * glGetFinalCombinerInputParameterivNVPROC) (GLenum variable, GLenum pname, GLint *params);
930
931 extern glCombinerParameterfvNVPROC glCombinerParameterfvNV;
932 extern glCombinerParameterfNVPROC  glCombinerParameterfNV;
933 extern glCombinerParameterivNVPROC glCombinerParameterivNV;
934 extern glCombinerParameteriNVPROC glCombinerParameteriNV;
935 extern glCombinerInputNVPROC glCombinerInputNV;
936 extern glCombinerOutputNVPROC glCombinerOutputNV;
937 extern glFinalCombinerInputNVPROC glFinalCombinerInputNV;
938 extern glGetCombinerInputParameterfvNVPROC glGetCombinerInputParameterfvNV;
939 extern glGetCombinerInputParameterivNVPROC glGetCombinerInputParameterivNV;
940 extern glGetCombinerOutputParameterfvNVPROC glGetCombinerOutputParameterfvNV;
941 extern glGetCombinerOutputParameterivNVPROC glGetCombinerOutputParameterivNV;
942 extern glGetFinalCombinerInputParameterfvNVPROC glGetFinalCombinerInputParameterfvNV;
943 extern glGetFinalCombinerInputParameterivNVPROC glGetFinalCombinerInputParameterivNV;
944
945 #endif /* GL_NV_register_combiners */
946
947 /*-------------------------------------------------------------------*/
948 /*------------ARB_MULTISAMPLE----------------------------------------*/
949 /*-------------------------------------------------------------------*/
950
951 #ifndef GL_ARB_multisample
952 #define GL_ARB_multisample 1
953
954 #define GL_MULTISAMPLE_ARB                                      0x809D
955 #define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB                         0x809E
956 #define GL_SAMPLE_ALPHA_TO_ONE_ARB                              0x809F
957 #define GL_SAMPLE_COVERAGE_ARB                                  0x80A0
958 #define GL_SAMPLE_BUFFERS_ARB                                   0x80A8
959 #define GL_SAMPLES_ARB                                          0x80A9
960 #define GL_SAMPLE_COVERAGE_VALUE_ARB                            0x80AA
961 #define GL_SAMPLE_COVERAGE_INVERT_ARB                           0x80AB
962 #define GL_MULTISAMPLE_BIT_ARB                                  0x20000000
963
964 extern glSampleCoveragePROC glSampleCoverageARB;
965
966 #endif /* GL_ARB_multisample */
967
968 /*-------------------------------------------------------------------*/
969 /*------------NV_TEXTURE_SHADER--------------------------------------*/
970 /*-------------------------------------------------------------------*/
971
972 #ifndef GL_NV_texture_shader
973 #define GL_NV_texture_shader 1
974
975 #define GL_TEXTURE_SHADER_NV                                    0x86DE
976 #define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV                 0x86D9
977 #define GL_SHADER_OPERATION_NV                                  0x86DF
978 #define GL_CULL_MODES_NV                                        0x86E0
979 #define GL_OFFSET_TEXTURE_MATRIX_NV                             0x86E1
980 #define GL_OFFSET_TEXTURE_SCALE_NV                              0x86E2
981 #define GL_OFFSET_TEXTURE_BIAS_NV                               0x86E3
982 #define GL_PREVIOUS_TEXTURE_INPUT_NV                            0x86E4
983 #define GL_CONST_EYE_NV                                         0x86E5
984 #define GL_SHADER_CONSISTENT_NV                                 0x86DD
985 #define GL_PASS_THROUGH_NV                                      0x86E6
986 #define GL_CULL_FRAGMENT_NV                                     0x86E7
987 #define GL_OFFSET_TEXTURE_2D_NV                                 0x86E8
988 #define GL_OFFSET_TEXTURE_RECTANGLE_NV                          0x864C
989 #define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV                    0x864D
990 #define GL_DEPENDENT_AR_TEXTURE_2D_NV                           0x86E9
991 #define GL_DEPENDENT_GB_TEXTURE_2D_NV                           0x86EA
992 #define GL_DOT_PRODUCT_NV                                       0x86EC
993 #define GL_DOT_PRODUCT_DEPTH_REPLACE_NV                         0x86ED
994 #define GL_DOT_PRODUCT_TEXTURE_2D_NV                            0x86EE
995 #define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV                     0x864E
996 #define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV                      0x86F0
997 #define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV                      0x86F1
998 #define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV                      0x86F2
999 #define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV            0x86F3
1000 #define GL_HILO_NV                                              0x86F4
1001 #define GL_DSDT_NV                                              0x86F5
1002 #define GL_DSDT_MAG_NV                                          0x86F6
1003 #define GL_DSDT_MAG_VIB_NV                                      0x86F7
1004 #define GL_UNSIGNED_INT_S8_S8_8_8_NV                            0x86DA
1005 #define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV                        0x86DB
1006 #define GL_SIGNED_RGBA_NV                                       0x86FB
1007 #define GL_SIGNED_RGBA8_NV                                      0x86FC
1008 #define GL_SIGNED_RGB_NV                                        0x86FE
1009 #define GL_SIGNED_RGB8_NV                                       0x86FF
1010 #define GL_SIGNED_LUMINANCE_NV                                  0x8701
1011 #define GL_SIGNED_LUMINANCE8_NV                                 0x8702
1012 #define GL_SIGNED_LUMINANCE_ALPHA_NV                            0x8703
1013 #define GL_SIGNED_LUMINANCE8_ALPHA8_NV                          0x8704
1014 #define GL_SIGNED_ALPHA_NV                                      0x8705
1015 #define GL_SIGNED_ALPHA8_NV                                     0x8706
1016 #define GL_SIGNED_INTENSITY_NV                                  0x8707
1017 #define GL_SIGNED_INTENSITY8_NV                                 0x8708
1018 #define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV                         0x870C
1019 #define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV                       0x870D
1020 #define GL_HILO16_NV                                            0x86F8
1021 #define GL_SIGNED_HILO_NV                                       0x86F9
1022 #define GL_SIGNED_HILO16_NV                                     0x86FA
1023 #define GL_DSDT8_NV                                             0x8709
1024 #define GL_DSDT8_MAG8_NV                                        0x870A
1025 #define GL_DSDT_MAG_INTENSITY_NV                                0x86DC
1026 #define GL_DSDT8_MAG8_INTENSITY8_NV                             0x870B
1027 #define GL_HI_SCALE_NV                                          0x870E
1028 #define GL_LO_SCALE_NV                                          0x870F
1029 #define GL_DS_SCALE_NV                                          0x8710
1030 #define GL_DT_SCALE_NV                                          0x8711
1031 #define GL_MAGNITUDE_SCALE_NV                                   0x8712
1032 #define GL_VIBRANCE_SCALE_NV                                    0x8713
1033 #define GL_HI_BIAS_NV                                           0x8714
1034 #define GL_LO_BIAS_NV                                           0x8715
1035 #define GL_DS_BIAS_NV                                           0x8716
1036 #define GL_DT_BIAS_NV                                           0x8717
1037 #define GL_MAGNITUDE_BIAS_NV                                    0x8718
1038 #define GL_VIBRANCE_BIAS_NV                                     0x8719
1039 #define GL_TEXTURE_BORDER_VALUES_NV                             0x871A
1040 #define GL_TEXTURE_HI_SIZE_NV                                   0x871B
1041 #define GL_TEXTURE_LO_SIZE_NV                                   0x871C
1042 #define GL_TEXTURE_DS_SIZE_NV                                   0x871D
1043 #define GL_TEXTURE_DT_SIZE_NV                                   0x871E
1044 #define GL_TEXTURE_MAG_SIZE_NV                                  0x871F
1045
1046 #endif /* GL_NV_texture_shader */
1047
1048 /*-------------------------------------------------------------------*/
1049 /*------------GL_NV_TEXTURE_RECTANGLE--------------------------------*/
1050 /*-------------------------------------------------------------------*/
1051
1052 #ifndef GL_NV_texture_rectangle
1053 #define GL_NV_texture_rectangle 1
1054
1055 #define GL_TEXTURE_RECTANGLE_NV                                 0x84F5
1056 #define GL_TEXTURE_BINDING_RECTANGLE_NV                         0x84F6
1057 #define GL_PROXY_TEXTURE_RECTANGLE_NV                           0x84F7
1058 #define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV                        0x84F8
1059
1060 #endif /* GL_NV_texture_recrangle */
1061
1062 /*-------------------------------------------------------------------*/
1063 /*------------NV_TEXTURE_ENV_COMBINE4--------------------------------*/
1064 /*-------------------------------------------------------------------*/
1065
1066 #ifndef GL_NV_texture_env_combine4
1067 #define GL_NV_texture_env_combine4 1
1068
1069 #define GL_COMBINE4_NV                                          0x8503
1070 #define GL_SOURCE3_RGB_NV                                       0x8583
1071 #define GL_SOURCE3_ALPHA_NV                                     0x858B
1072 #define GL_OPERAND3_RGB_NV                                      0x8593
1073 #define GL_OPERAND3_ALPHA_NV                                    0x859B
1074
1075 #endif /* GL_NV_texture_env_combine */
1076
1077 /*-------------------------------------------------------------------*/
1078 /*------------NV_FOG_DISTANCE----------------------------------------*/
1079 /*-------------------------------------------------------------------*/
1080
1081 #ifndef GL_NV_fog_distance
1082 #define GL_NV_fog_distance 1
1083
1084 #define GL_FOG_DISTANCE_MODE_NV                                 0x855A
1085 #define GL_EYE_RADIAL_NV                                        0x855B
1086 #define GL_EYE_PLANE_ABSOLUTE_NV                                0x855C
1087
1088 #endif /* GL_NV_fog_distance */
1089
1090 /*-------------------------------------------------------------------*/
1091 /*------------EXT_TEXTURE_FILTER_ANISOTROPIC-------------------------*/
1092 /*-------------------------------------------------------------------*/
1093
1094 #ifndef GL_EXT_texture_filter_anisotropic
1095 #define GL_EXT_texture_filter_anisotropic 1
1096
1097 #define GL_TEXTURE_MAX_ANISOTROPY_EXT                           0x84FE
1098 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT                       0x84FF
1099
1100 #endif /* GL_EXT_texture_filter_anisotropic */
1101
1102 /*-------------------------------------------------------------------*/
1103 /*------------SGIS_GENERATE_MIPMAP-----------------------------------*/
1104 /*-------------------------------------------------------------------*/
1105
1106 #ifndef GL_SGIS_generate_mipmap
1107 #define GL_SGIS_generate_mipmap 1
1108
1109 #define GL_GENERATE_MIPMAP_SGIS                                 0x8191
1110 #define GL_GENERATE_MIPMAP_HINT_SGIS                            0x8192
1111
1112 #endif /* GL_SGIS_generate_mipmap */
1113
1114 /*-------------------------------------------------------------------*/
1115 /*------------NV_TEXGEN_REFLECTION-----------------------------------*/
1116 /*-------------------------------------------------------------------*/
1117
1118 #ifndef GL_NV_texgen_reflection
1119 #define GL_NV_texgen_reflection 1
1120
1121 #define GL_NORMAL_MAP_NV                                        0x8511
1122 #define GL_REFLECTION_MAP_NV                                    0x8512
1123
1124 #endif /* GL_NV_texgen_reflection */
1125
1126 /*-------------------------------------------------------------------*/
1127 /*------------EXT_VERTEX_WEIGHTING-----------------------------------*/
1128 /*-------------------------------------------------------------------*/
1129
1130 #ifndef GL_EXT_vertex_weighting
1131 #define GL_EXT_vertex_weighting 1
1132
1133 #define GL_MODELVIEW0_STACK_DEPTH_EXT                           0x0BA3  /* alias to GL_MODELVIEW_STACK_DEPTH */
1134 #define GL_MODELVIEW1_STACK_DEPTH_EXT                           0x8502
1135 #define GL_MODELVIEW0_MATRIX_EXT                                0x0BA6  /* alias to GL_MODELVIEW_MATRIX */
1136 #define GL_MODELVIEW1_MATRIX_EXT                                0x8506
1137 #define GL_VERTEX_WEIGHTING_EXT                                 0x8509
1138 #define GL_MODELVIEW0_EXT                                       0x1700  /* alias to GL_MODELVIEW */
1139 #define GL_MODELVIEW1_EXT                                       0x850A
1140 #define GL_CURRENT_VERTEX_WEIGHT_EXT                            0x850B
1141 #define GL_VERTEX_WEIGHT_ARRAY_EXT                              0x850C
1142 #define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT                         0x850D
1143 #define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT                         0x850E
1144 #define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT                       0x850F
1145 #define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT                      0x8510
1146
1147 typedef void (APIENTRY * glVertexWeightfEXTPROC) (GLfloat weight);
1148 typedef void (APIENTRY * glVertexWeightfvEXTPROC) (const GLfloat *weight);
1149 typedef void (APIENTRY * glVertexWeightPointerEXTPROC) (GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);
1150
1151 extern glVertexWeightfEXTPROC glVertexWeightfEXT;
1152 extern glVertexWeightfvEXTPROC glVertexWeightfvEXT;
1153 extern glVertexWeightPointerEXTPROC glVertexWeightPointerEXT;
1154
1155 #endif /* GL_EXT_vertex_weighting */
1156
1157 /*-------------------------------------------------------------------*/
1158 /*------------NV_VERTEX_PROGRAM--------------------------------------*/
1159 /*-------------------------------------------------------------------*/
1160
1161 #ifndef GL_NV_vertex_program
1162 #define GL_NV_vertex_program 1
1163
1164 #define GL_VERTEX_PROGRAM_NV                                    0x8620
1165 #define GL_VERTEX_PROGRAM_POINT_SIZE_NV                         0x8642
1166 #define GL_VERTEX_PROGRAM_TWO_SIDE_NV                           0x8643
1167 #define GL_VERTEX_STATE_PROGRAM_NV                              0x8621
1168 #define GL_ATTRIB_ARRAY_SIZE_NV                                 0x8623
1169 #define GL_ATTRIB_ARRAY_STRIDE_NV                               0x8624
1170 #define GL_ATTRIB_ARRAY_TYPE_NV                                 0x8625
1171 #define GL_CURRENT_ATTRIB_NV                                    0x8626
1172 #define GL_PROGRAM_PARAMETER_NV                                 0x8644
1173 #define GL_ATTRIB_ARRAY_POINTER_NV                              0x8645
1174 #define GL_PROGRAM_TARGET_NV                                    0x8646
1175 #define GL_PROGRAM_LENGTH_NV                                    0x8627
1176 #define GL_PROGRAM_RESIDENT_NV                                  0x8647
1177 #define GL_PROGRAM_STRING_NV                                    0x8628
1178 #define GL_TRACK_MATRIX_NV                                      0x8648
1179 #define GL_TRACK_MATRIX_TRANSFORM_NV                            0x8649
1180 #define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV                      0x862E
1181 #define GL_MAX_TRACK_MATRICES_NV                                0x862F
1182 #define GL_CURRENT_MATRIX_STACK_DEPTH_NV                        0x8640
1183 #define GL_CURRENT_MATRIX_NV                                    0x8641
1184 #define GL_VERTEX_PROGRAM_BINDING_NV                            0x864A
1185 #define GL_PROGRAM_ERROR_POSITION_NV                            0x864B
1186 #define GL_MODELVIEW_PROJECTION_NV                              0x8629
1187 #define GL_MATRIX0_NV                                           0x8630
1188 #define GL_MATRIX1_NV                                           0x8631
1189 #define GL_MATRIX2_NV                                           0x8632
1190 #define GL_MATRIX3_NV                                           0x8633
1191 #define GL_MATRIX4_NV                                           0x8634
1192 #define GL_MATRIX5_NV                                           0x8635
1193 #define GL_MATRIX6_NV                                           0x8636
1194 #define GL_MATRIX7_NV                                           0x8637
1195 #define GL_IDENTITY_NV                                          0x862A
1196 #define GL_INVERSE_NV                                           0x862B
1197 #define GL_TRANSPOSE_NV                                         0x862C
1198 #define GL_INVERSE_TRANSPOSE_NV                                 0x862D
1199 #define GL_VERTEX_ATTRIB_ARRAY0_NV                              0x8650
1200 #define GL_VERTEX_ATTRIB_ARRAY1_NV                              0x8651
1201 #define GL_VERTEX_ATTRIB_ARRAY2_NV                              0x8652
1202 #define GL_VERTEX_ATTRIB_ARRAY3_NV                              0x8653
1203 #define GL_VERTEX_ATTRIB_ARRAY4_NV                              0x8654
1204 #define GL_VERTEX_ATTRIB_ARRAY5_NV                              0x8655
1205 #define GL_VERTEX_ATTRIB_ARRAY6_NV                              0x8656
1206 #define GL_VERTEX_ATTRIB_ARRAY7_NV                              0x8657
1207 #define GL_VERTEX_ATTRIB_ARRAY8_NV                              0x8658
1208 #define GL_VERTEX_ATTRIB_ARRAY9_NV                              0x8659
1209 #define GL_VERTEX_ATTRIB_ARRAY10_NV                             0x865A
1210 #define GL_VERTEX_ATTRIB_ARRAY11_NV                             0x865B
1211 #define GL_VERTEX_ATTRIB_ARRAY12_NV                             0x865C
1212 #define GL_VERTEX_ATTRIB_ARRAY13_NV                             0x865D
1213 #define GL_VERTEX_ATTRIB_ARRAY14_NV                             0x865E
1214 #define GL_VERTEX_ATTRIB_ARRAY15_NV                             0x865F
1215 #define GL_MAP1_VERTEX_ATTRIB0_4_NV                             0x8660
1216 #define GL_MAP1_VERTEX_ATTRIB1_4_NV                             0x8661
1217 #define GL_MAP1_VERTEX_ATTRIB2_4_NV                             0x8662
1218 #define GL_MAP1_VERTEX_ATTRIB3_4_NV                             0x8663
1219 #define GL_MAP1_VERTEX_ATTRIB4_4_NV                             0x8664
1220 #define GL_MAP1_VERTEX_ATTRIB5_4_NV                             0x8665
1221 #define GL_MAP1_VERTEX_ATTRIB6_4_NV                             0x8666
1222 #define GL_MAP1_VERTEX_ATTRIB7_4_NV                             0x8667
1223 #define GL_MAP1_VERTEX_ATTRIB8_4_NV                             0x8668
1224 #define GL_MAP1_VERTEX_ATTRIB9_4_NV                             0x8669
1225 #define GL_MAP1_VERTEX_ATTRIB10_4_NV                            0x866A
1226 #define GL_MAP1_VERTEX_ATTRIB11_4_NV                            0x866B
1227 #define GL_MAP1_VERTEX_ATTRIB12_4_NV                            0x866C
1228 #define GL_MAP1_VERTEX_ATTRIB13_4_NV                            0x866D
1229 #define GL_MAP1_VERTEX_ATTRIB14_4_NV                            0x866E
1230 #define GL_MAP1_VERTEX_ATTRIB15_4_NV                            0x866F
1231 #define GL_MAP2_VERTEX_ATTRIB0_4_NV                             0x8670
1232 #define GL_MAP2_VERTEX_ATTRIB1_4_NV                             0x8671
1233 #define GL_MAP2_VERTEX_ATTRIB2_4_NV                             0x8672
1234 #define GL_MAP2_VERTEX_ATTRIB3_4_NV                             0x8673
1235 #define GL_MAP2_VERTEX_ATTRIB4_4_NV                             0x8674
1236 #define GL_MAP2_VERTEX_ATTRIB5_4_NV                             0x8675
1237 #define GL_MAP2_VERTEX_ATTRIB6_4_NV                             0x8676
1238 #define GL_MAP2_VERTEX_ATTRIB7_4_NV                             0x8677
1239 #define GL_MAP2_VERTEX_ATTRIB8_4_NV                             0x8678
1240 #define GL_MAP2_VERTEX_ATTRIB9_4_NV                             0x8679
1241 #define GL_MAP2_VERTEX_ATTRIB10_4_NV                            0x867A
1242 #define GL_MAP2_VERTEX_ATTRIB11_4_NV                            0x867B
1243 #define GL_MAP2_VERTEX_ATTRIB12_4_NV                            0x867C
1244 #define GL_MAP2_VERTEX_ATTRIB13_4_NV                            0x867D
1245 #define GL_MAP2_VERTEX_ATTRIB14_4_NV                            0x867E
1246 #define GL_MAP2_VERTEX_ATTRIB15_4_NV                            0x867F
1247
1248 typedef void (APIENTRY * glBindProgramNVPROC) (GLenum target, GLuint id);
1249 typedef void (APIENTRY * glDeleteProgramsNVPROC) (GLsizei n, const GLuint *ids);
1250 typedef void (APIENTRY * glExecuteProgramNVPROC) (GLenum target, GLuint id, const GLfloat *params);
1251 typedef void (APIENTRY * glGenProgramsNVPROC) (GLsizei n, GLuint *ids);
1252 typedef GLboolean (APIENTRY * glAreProgramsResidentNVPROC) (GLsizei n, const GLuint *ids, GLboolean *residences);
1253 typedef void (APIENTRY * glRequestResidentProgramsNVPROC) (GLsizei n, GLuint *ids);
1254 typedef void (APIENTRY * glGetProgramParameterfvNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
1255 typedef void (APIENTRY * glGetProgramParameterdvNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params);
1256 typedef void (APIENTRY * glGetProgramivNVPROC) (GLuint id, GLenum pname, GLint *params);
1257 typedef void (APIENTRY * glGetProgramStringNVPROC) (GLuint id, GLenum pname, GLubyte *program);
1258 typedef void (APIENTRY * glGetTrackMatrixivNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params);
1259 typedef void (APIENTRY * glGetVertexAttribdvNVPROC) (GLuint index, GLenum pname, GLdouble *params);
1260 typedef void (APIENTRY * glGetVertexAttribfvNVPROC) (GLuint index, GLenum pname, GLfloat *params);
1261 typedef void (APIENTRY * glGetVertexAttribivNVPROC) (GLuint index, GLenum pname, GLint *params);
1262 typedef void (APIENTRY * glGetVertexAttribPointervNVPROC) (GLuint index, GLenum pname, GLvoid **pointer);
1263 typedef GLboolean (APIENTRY * glIsProgramNVPROC) (GLuint id);
1264 typedef void (APIENTRY * glLoadProgramNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program);
1265 typedef void (APIENTRY * glProgramParameter4fNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
1266 typedef void (APIENTRY * glProgramParameter4dNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
1267 typedef void (APIENTRY * glProgramParameter4dvNVPROC) (GLenum target, GLuint index, const GLdouble *params);
1268 typedef void (APIENTRY * glProgramParameter4fvNVPROC) (GLenum target, GLuint index, const GLfloat *params);
1269 typedef void (APIENTRY * glProgramParameters4dvNVPROC) (GLenum target, GLuint index, GLuint num, const GLdouble *params);
1270 typedef void (APIENTRY * glProgramParameters4fvNVPROC) (GLenum target, GLuint index, GLuint num, const GLfloat *params);
1271 typedef void (APIENTRY * glTrackMatrixNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform);
1272 typedef void (APIENTRY * glVertexAttribPointerNVPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
1273 typedef void (APIENTRY * glVertexAttrib1sNVPROC) (GLuint index, GLshort x);
1274 typedef void (APIENTRY * glVertexAttrib1fNVPROC) (GLuint index, GLfloat x);
1275 typedef void (APIENTRY * glVertexAttrib1dNVPROC) (GLuint index, GLdouble x);
1276 typedef void (APIENTRY * glVertexAttrib2sNVPROC) (GLuint index, GLshort x, GLshort y);
1277 typedef void (APIENTRY * glVertexAttrib2fNVPROC) (GLuint index, GLfloat x, GLfloat y);
1278 typedef void (APIENTRY * glVertexAttrib2dNVPROC) (GLuint index, GLdouble x, GLdouble y);
1279 typedef void (APIENTRY * glVertexAttrib3sNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
1280 typedef void (APIENTRY * glVertexAttrib3fNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
1281 typedef void (APIENTRY * glVertexAttrib3dNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
1282 typedef void (APIENTRY * glVertexAttrib4sNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
1283 typedef void (APIENTRY * glVertexAttrib4fNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
1284 typedef void (APIENTRY * glVertexAttrib4dNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
1285 typedef void (APIENTRY * glVertexAttrib4ubNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
1286 typedef void (APIENTRY * glVertexAttrib1svNVPROC) (GLuint index, const GLshort *v);
1287 typedef void (APIENTRY * glVertexAttrib1fvNVPROC) (GLuint index, const GLfloat *v);
1288 typedef void (APIENTRY * glVertexAttrib1dvNVPROC) (GLuint index, const GLdouble *v);
1289 typedef void (APIENTRY * glVertexAttrib2svNVPROC) (GLuint index, const GLshort *v);
1290 typedef void (APIENTRY * glVertexAttrib2fvNVPROC) (GLuint index, const GLfloat *v);
1291 typedef void (APIENTRY * glVertexAttrib2dvNVPROC) (GLuint index, const GLdouble *v);
1292 typedef void (APIENTRY * glVertexAttrib3svNVPROC) (GLuint index, const GLshort *v);
1293 typedef void (APIENTRY * glVertexAttrib3fvNVPROC) (GLuint index, const GLfloat *v);
1294 typedef void (APIENTRY * glVertexAttrib3dvNVPROC) (GLuint index, const GLdouble *v);
1295 typedef void (APIENTRY * glVertexAttrib4svNVPROC) (GLuint index, const GLshort *v);
1296 typedef void (APIENTRY * glVertexAttrib4fvNVPROC) (GLuint index, const GLfloat *v);
1297 typedef void (APIENTRY * glVertexAttrib4dvNVPROC) (GLuint index, const GLdouble *v);
1298 typedef void (APIENTRY * glVertexAttrib4ubvNVPROC) (GLuint index, const GLubyte *v);
1299 typedef void (APIENTRY * glVertexAttribs1svNVPROC) (GLuint index, GLsizei n, const GLshort *v);
1300 typedef void (APIENTRY * glVertexAttribs1fvNVPROC) (GLuint index, GLsizei n, const GLfloat *v);
1301 typedef void (APIENTRY * glVertexAttribs1dvNVPROC) (GLuint index, GLsizei n, const GLdouble *v);
1302 typedef void (APIENTRY * glVertexAttribs2svNVPROC) (GLuint index, GLsizei n, const GLshort *v);
1303 typedef void (APIENTRY * glVertexAttribs2fvNVPROC) (GLuint index, GLsizei n, const GLfloat *v);
1304 typedef void (APIENTRY * glVertexAttribs2dvNVPROC) (GLuint index, GLsizei n, const GLdouble *v);
1305 typedef void (APIENTRY * glVertexAttribs3svNVPROC) (GLuint index, GLsizei n, const GLshort *v);
1306 typedef void (APIENTRY * glVertexAttribs3fvNVPROC) (GLuint index, GLsizei n, const GLfloat *v);
1307 typedef void (APIENTRY * glVertexAttribs3dvNVPROC) (GLuint index, GLsizei n, const GLdouble *v);
1308 typedef void (APIENTRY * glVertexAttribs4svNVPROC) (GLuint index, GLsizei n, const GLshort *v);
1309 typedef void (APIENTRY * glVertexAttribs4fvNVPROC) (GLuint index, GLsizei n, const GLfloat *v);
1310 typedef void (APIENTRY * glVertexAttribs4dvNVPROC) (GLuint index, GLsizei n, const GLdouble *v);
1311 typedef void (APIENTRY * glVertexAttribs4ubvNVPROC) (GLuint index, GLsizei n, const GLubyte *v);
1312
1313 extern glBindProgramNVPROC glBindProgramNV;
1314 extern glDeleteProgramsNVPROC glDeleteProgramsNV;
1315 extern glExecuteProgramNVPROC glExecuteProgramNV;
1316 extern glGenProgramsNVPROC glGenProgramsNV;
1317 extern glAreProgramsResidentNVPROC glAreProgramsResidentNV;
1318 extern glRequestResidentProgramsNVPROC glRequestResidentProgramsNV;
1319 extern glGetProgramParameterfvNVPROC glGetProgramParameterfvNV;
1320 extern glGetProgramParameterdvNVPROC glGetProgramParameterdvNV;
1321 extern glGetProgramivNVPROC glGetProgramivNV;
1322 extern glGetProgramStringNVPROC glGetProgramStringNV;
1323 extern glGetTrackMatrixivNVPROC glGetTrackMatrixivNV;
1324 extern glGetVertexAttribdvNVPROC glGetVertexAttribdvNV;
1325 extern glGetVertexAttribfvNVPROC glGetVertexAttribfvNV;
1326 extern glGetVertexAttribivNVPROC glGetVertexAttribivNV;
1327 extern glGetVertexAttribPointervNVPROC glGetVertexAttribPointervNV;
1328 extern glIsProgramNVPROC glIsProgramNV;
1329 extern glLoadProgramNVPROC glLoadProgramNV;
1330 extern glProgramParameter4fNVPROC glProgramParameter4fNV;
1331 extern glProgramParameter4dNVPROC glProgramParameter4dNV;
1332 extern glProgramParameter4dvNVPROC glProgramParameter4dvNV;
1333 extern glProgramParameter4fvNVPROC glProgramParameter4fvNV;
1334 extern glProgramParameters4dvNVPROC glProgramParameters4dvNV;
1335 extern glProgramParameters4fvNVPROC glProgramParameters4fvNV;
1336 extern glTrackMatrixNVPROC glTrackMatrixNV;
1337 extern glVertexAttribPointerNVPROC glVertexAttribPointerNV;
1338 extern glVertexAttrib1sNVPROC glVertexAttrib1sNV;
1339 extern glVertexAttrib1fNVPROC glVertexAttrib1fNV;
1340 extern glVertexAttrib1dNVPROC glVertexAttrib1dNV;
1341 extern glVertexAttrib2sNVPROC glVertexAttrib2sNV;
1342 extern glVertexAttrib2fNVPROC glVertexAttrib2fNV;
1343 extern glVertexAttrib2dNVPROC glVertexAttrib2dNV;
1344 extern glVertexAttrib3sNVPROC glVertexAttrib3sNV;
1345 extern glVertexAttrib3fNVPROC glVertexAttrib3fNV;
1346 extern glVertexAttrib3dNVPROC glVertexAttrib3dNV;
1347 extern glVertexAttrib4sNVPROC glVertexAttrib4sNV;
1348 extern glVertexAttrib4fNVPROC glVertexAttrib4fNV;
1349 extern glVertexAttrib4dNVPROC glVertexAttrib4dNV;
1350 extern glVertexAttrib4ubNVPROC glVertexAttrib4ubNV;
1351 extern glVertexAttrib1svNVPROC glVertexAttrib1svNV;
1352 extern glVertexAttrib1fvNVPROC glVertexAttrib1fvNV;
1353 extern glVertexAttrib1dvNVPROC glVertexAttrib1dvNV;
1354 extern glVertexAttrib2svNVPROC glVertexAttrib2svNV;
1355 extern glVertexAttrib2fvNVPROC glVertexAttrib2fvNV;
1356 extern glVertexAttrib2dvNVPROC glVertexAttrib2dvNV;
1357 extern glVertexAttrib3svNVPROC glVertexAttrib3svNV;
1358 extern glVertexAttrib3fvNVPROC glVertexAttrib3fvNV;
1359 extern glVertexAttrib3dvNVPROC glVertexAttrib3dvNV;
1360 extern glVertexAttrib4svNVPROC glVertexAttrib4svNV;
1361 extern glVertexAttrib4fvNVPROC glVertexAttrib4fvNV;
1362 extern glVertexAttrib4dvNVPROC glVertexAttrib4dvNV;
1363 extern glVertexAttrib4ubvNVPROC glVertexAttrib4ubvNV;
1364 extern glVertexAttribs1svNVPROC glVertexAttribs1svNV;
1365 extern glVertexAttribs1fvNVPROC glVertexAttribs1fvNV;
1366 extern glVertexAttribs1dvNVPROC glVertexAttribs1dvNV;
1367 extern glVertexAttribs2svNVPROC glVertexAttribs2svNV;
1368 extern glVertexAttribs2fvNVPROC glVertexAttribs2fvNV;
1369 extern glVertexAttribs2dvNVPROC glVertexAttribs2dvNV;
1370 extern glVertexAttribs3svNVPROC glVertexAttribs3svNV;
1371 extern glVertexAttribs3fvNVPROC glVertexAttribs3fvNV;
1372 extern glVertexAttribs3dvNVPROC glVertexAttribs3dvNV;
1373 extern glVertexAttribs4svNVPROC glVertexAttribs4svNV;
1374 extern glVertexAttribs4fvNVPROC glVertexAttribs4fvNV;
1375 extern glVertexAttribs4dvNVPROC glVertexAttribs4dvNV;
1376 extern glVertexAttribs4ubvNVPROC glVertexAttribs4ubvNV;
1377
1378 #endif /* GL_NV_vertex_program */
1379
1380 /*-------------------------------------------------------------------*/
1381 /*------------NV_FENCE-----------------------------------------------*/
1382 /*-------------------------------------------------------------------*/
1383
1384 #ifndef GL_NV_fence
1385 #define GL_NV_fance 1
1386
1387 #define GL_ALL_COMPLETED_NV                                     0x84F2
1388 #define GL_FENCE_STATUS_NV                                      0x84F3
1389 #define GL_FENCE_CONDITION_NV                                   0x84F4
1390
1391 typedef void (APIENTRY * glGenFencesNVPROC) (GLsizei n, GLuint *fences);
1392 typedef void (APIENTRY * glDeleteFencesNVPROC) (GLsizei n, const GLuint *fences);
1393 typedef void (APIENTRY * glSetFenceNVPROC) (GLuint fence, GLenum condition);
1394 typedef GLboolean (APIENTRY * glTestFenceNVPROC) (GLuint fence);
1395 typedef void (APIENTRY * glFinishFenceNVPROC) (GLuint fence);
1396 typedef GLboolean (APIENTRY * glIsFenceNVPROC) (GLuint fence);
1397 typedef void (APIENTRY * glGetFenceivNVPROC) (GLuint fence, GLenum pname, GLint *params);
1398
1399 extern glGenFencesNVPROC glGenFencesNV;
1400 extern glDeleteFencesNVPROC glDeleteFencesNV;
1401 extern glSetFenceNVPROC glSetFenceNV;
1402 extern glTestFenceNVPROC glTestFenceNV;
1403 extern glFinishFenceNVPROC glFinishFenceNV;
1404 extern glIsFenceNVPROC glIsFenceNV;
1405 extern glGetFenceivNVPROC glGetFenceivNV;
1406
1407 #endif /* GL_NV_fence */
1408
1409 /*-------------------------------------------------------------------*/
1410 /*------------NV_TEXTURE_SHADER2-------------------------------------*/
1411 /*-------------------------------------------------------------------*/
1412
1413 #ifndef GL_NV_texture_shader2
1414 #define GL_NV_texture_shader2
1415
1416 #define GL_DOT_PRODUCT_TEXTURE_3D_NV                            0x86EF
1417 #define GL_HILO_NV                                              0x86F4
1418 #define GL_DSDT_NV                                              0x86F5
1419 #define GL_DSDT_MAG_NV                                          0x86F6
1420 #define GL_DSDT_MAG_VIB_NV                                      0x86F7
1421 #define GL_UNSIGNED_INT_S8_S8_8_8_NV                            0x86DA
1422 #define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV                        0x86DB
1423 #define GL_SIGNED_RGBA_NV                                       0x86FB
1424 #define GL_SIGNED_RGBA8_NV                                      0x86FC
1425 #define GL_SIGNED_RGB_NV                                        0x86FE
1426 #define GL_SIGNED_RGB8_NV                                       0x86FF
1427 #define GL_SIGNED_LUMINANCE_NV                                  0x8701
1428 #define GL_SIGNED_LUMINANCE8_NV                                 0x8702
1429 #define GL_SIGNED_LUMINANCE_ALPHA_NV                            0x8703
1430 #define GL_SIGNED_LUMINANCE8_ALPHA8_NV                          0x8704
1431 #define GL_SIGNED_ALPHA_NV                                      0x8705
1432 #define GL_SIGNED_ALPHA8_NV                                     0x8706
1433 #define GL_SIGNED_INTENSITY_NV                                  0x8707
1434 #define GL_SIGNED_INTENSITY8_NV                                 0x8708
1435 #define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV                         0x870C
1436 #define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV                       0x870D
1437 #define GL_HILO16_NV                                            0x86F8
1438 #define GL_SIGNED_HILO_NV                                       0x86F9
1439 #define GL_SIGNED_HILO16_NV                                     0x86FA
1440 #define GL_DSDT8_NV                                             0x8709
1441 #define GL_DSDT8_MAG8_NV                                        0x870A
1442 #define GL_DSDT_MAG_INTENSITY_NV                                0x86DC
1443 #define GL_DSDT8_MAG8_INTENSITY8_NV                             0x870B 
1444
1445 #endif /* GL_NV_texture_shader2 */
1446
1447 /*-------------------------------------------------------------------*/
1448 /*------------NV_BLEND_SQUARE----------------------------------------*/
1449 /*-------------------------------------------------------------------*/
1450
1451 #ifndef GL_NV_blend_square
1452 #define GL_NV_blend_square 1
1453
1454 #endif /* GL_NV_blend_square */
1455
1456 /*-------------------------------------------------------------------*/
1457 /*------------NV_LIGHT_MAX_EXPONENT----------------------------------*/
1458 /*-------------------------------------------------------------------*/
1459
1460 #ifndef GL_NV_light_max_exponent
1461 #define GL_NV_light_max_exponent 1
1462
1463 #define GL_MAX_SHININESS_NV                                     0x8504
1464 #define GL_MAX_SPOT_EXPONENT_NV                                 0x8505
1465
1466 #endif /* GL_NV_light_max_exponent */
1467
1468 /*-------------------------------------------------------------------*/
1469 /*------------NV_PACKED_DEPTH_STENCIL--------------------------------*/
1470 /*-------------------------------------------------------------------*/
1471
1472 #ifndef GL_NV_packed_depth_stencil
1473 #define GL_NV_packed_depth_stencil 1
1474
1475 #define GL_DEPTH_STENCIL_NV                                     0x84F9
1476 #define GL_UNSIGNED_INT_24_8_NV                                 0x84FA
1477
1478 #endif /* GL_NV_packed_depth_stencil */
1479
1480 /*-------------------------------------------------------------------*/
1481 /*------------NV_REGISTER_COMBINERS2---------------------------------*/
1482 /*-------------------------------------------------------------------*/
1483
1484 #ifndef GL_NV_register_combiners2
1485 #define GL_NV_register_combiners2
1486
1487 #define GL_PER_STAGE_CONSTANTS_NV                               0x8535
1488
1489 typedef void (APIENTRY * glCombinerStageParameterfvNVPROC) (GLenum stage, GLenum pname, const GLfloat *params);
1490 typedef void (APIENTRY * glGetCombinerStageParameterfvNVPROC) (GLenum stage, GLenum pname, GLfloat *params);
1491
1492 extern glCombinerStageParameterfvNVPROC glCombinerStageParameterfvNV;
1493 extern glGetCombinerStageParameterfvNVPROC glGetCombinerStageParameterfvNV;
1494
1495 #endif /* GL_NV_register_combiners2 */
1496
1497 /*-------------------------------------------------------------------*/
1498 /*------------EXT_ABGR-----------------------------------------------*/
1499 /*-------------------------------------------------------------------*/
1500
1501 #ifndef GL_EXT_abgr
1502 #define GL_EXT_abgr 1
1503
1504 #define GL_ABGR_EXT                                             0x8000
1505
1506 #endif /* GL_EXT_abgr */
1507
1508 /*-------------------------------------------------------------------*/
1509 /*------------EXT_STENCIL_WRAP---------------------------------------*/
1510 /*-------------------------------------------------------------------*/
1511
1512 #ifndef GL_EXT_stencil_wrap
1513 #define GL_EXT_stencil_wrap 1
1514
1515 #define GL_INCR_WRAP_EXT             0x8507
1516 #define GL_DECR_WRAP_EXT             0x8508
1517
1518 #endif /* GL_EXT_stencil_wrap */
1519
1520 /*-------------------------------------------------------------------*/
1521 /*------------EXT_TEXTURE_LOD_BIAS-----------------------------------*/
1522 /*-------------------------------------------------------------------*/
1523
1524 #ifndef GL_EXT_texture_lod_bias
1525 #define GL_EXT_texture_lod_bias 1
1526
1527 #define GL_TEXTURE_FILTER_CONTROL_EXT                           0x8500
1528 #define GL_TEXTURE_LOD_BIAS_EXT                                 0x8501
1529 #define GL_MAX_TEXTURE_LOD_BIAS_EXT                             0x84FD
1530
1531 #endif /* GL_EXT_texture_lod_bias */
1532
1533 /*-------------------------------------------------------------------*/
1534 /*------------NV_EVALUATORS------------------------------------------*/
1535 /*-------------------------------------------------------------------*/
1536
1537 #ifndef GL_NV_evaluators
1538 #define GL_NV_evaluators 1
1539
1540 #define GL_EVAL_2D_NV                                           0x86C0
1541 #define GL_EVAL_TRIANGULAR_2D_NV                                0x86C1
1542 #define GL_MAP_TESSELLATION_NV                                  0x86C2
1543 #define GL_MAP_ATTRIB_U_ORDER_NV                                0x86C3
1544 #define GL_MAP_ATTRIB_V_ORDER_NV                                0x86C4
1545 #define GL_EVAL_FRACTIONAL_TESSELLATION_NV                      0x86C5
1546 #define GL_EVAL_VERTEX_ATTRIB0_NV                               0x86C6
1547 #define GL_EVAL_VERTEX_ATTRIB1_NV                               0x86C7
1548 #define GL_EVAL_VERTEX_ATTRIB2_NV                               0x86C8
1549 #define GL_EVAL_VERTEX_ATTRIB3_NV                               0x86C9
1550 #define GL_EVAL_VERTEX_ATTRIB4_NV                               0x86CA
1551 #define GL_EVAL_VERTEX_ATTRIB5_NV                               0x86CB
1552 #define GL_EVAL_VERTEX_ATTRIB6_NV                               0x86CC
1553 #define GL_EVAL_VERTEX_ATTRIB7_NV                               0x86CD
1554 #define GL_EVAL_VERTEX_ATTRIB8_NV                               0x86CE
1555 #define GL_EVAL_VERTEX_ATTRIB9_NV                               0x86CF
1556 #define GL_EVAL_VERTEX_ATTRIB10_NV                              0x86D0
1557 #define GL_EVAL_VERTEX_ATTRIB11_NV                              0x86D1
1558 #define GL_EVAL_VERTEX_ATTRIB12_NV                              0x86D2
1559 #define GL_EVAL_VERTEX_ATTRIB13_NV                              0x86D3
1560 #define GL_EVAL_VERTEX_ATTRIB14_NV                              0x86D4
1561 #define GL_EVAL_VERTEX_ATTRIB15_NV                              0x86D5
1562 #define GL_MAX_MAP_TESSELLATION_NV                              0x86D6
1563 #define GL_MAX_RATIONAL_EVAL_ORDER_NV                           0x86D7
1564
1565 typedef void (APIENTRY * glMapControlPointsNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points);
1566 typedef void (APIENTRY * glMapParameterivNVPROC) (GLenum target, GLenum pname, const GLint *params);
1567 typedef void (APIENTRY * glMapParameterfvNVPROC) (GLenum target, GLenum pname, const GLfloat *params);
1568 typedef void (APIENTRY * glGetMapControlPointsNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points);
1569 typedef void (APIENTRY * glGetMapParameterivNVPROC) (GLenum target, GLenum pname, GLint *params);
1570 typedef void (APIENTRY * glGetMapParameterfvNVPROC) (GLenum target, GLenum pname, GLfloat *params);
1571 typedef void (APIENTRY * glGetMapAttribParameterivNVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params);
1572 typedef void (APIENTRY * glGetMapAttribParameterfvNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
1573 typedef void (APIENTRY * glEvalMapsNVPROC) (GLenum target, GLenum mode);
1574
1575 extern glMapControlPointsNVPROC glMapControlPointsNV;
1576 extern glMapParameterivNVPROC glMapParameterivNV;
1577 extern glMapParameterfvNVPROC glMapParameterfvNV;
1578 extern glGetMapControlPointsNVPROC glGetMapControlPointsNV;
1579 extern glGetMapParameterivNVPROC glGetMapParameterivNV;
1580 extern glGetMapParameterfvNVPROC glGetMapParameterfvNV;
1581 extern glGetMapAttribParameterivNVPROC glGetMapAttribParameterivNV;
1582 extern glGetMapAttribParameterfvNVPROC glGetMapAttribParameterfvNV;
1583 extern glEvalMapsNVPROC glEvalMapsNV;
1584
1585 #endif /* GL_NV_evaluators */
1586
1587 /*-------------------------------------------------------------------*/
1588 /*------------NV_COPY_DEPTH_TO_COLOR---------------------------------*/
1589 /*-------------------------------------------------------------------*/
1590
1591 #ifndef GL_NV_copy_depth_to_color
1592 #define GL_NV_copy_depth_to_color 1
1593
1594 #define GL_DEPTH_STENCIL_TO_RGBA_NV                             0x886E
1595 #define GL_DEPTH_STENCIL_TO_BGRA_NV                             0x886F
1596
1597 #endif /* GL_NV_copy_depth_to_color */
1598
1599 /*-------------------------------------------------------------------*/
1600 /*------------ATI_PN_TRIANGLES---------------------------------------*/
1601 /*-------------------------------------------------------------------*/
1602
1603 #ifndef GL_ATI_pn_triangles
1604 #define GL_ATI_pn_triangles 1
1605
1606 #define GL_PN_TRIANGLES_ATI                                     0x87F0
1607 #define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI               0x87F1
1608 #define GL_PN_TRIANGLES_POINT_MODE_ATI                          0x87F2
1609 #define GL_PN_TRIANGLES_NORMAL_MODE_ATI                         0x87F3
1610 #define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI                   0x87F4
1611 #define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI                   0x87F5
1612 #define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI                    0x87F6
1613 #define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI                  0x87F7
1614 #define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI               0x87F8
1615
1616 typedef void (APIENTRY * glPNTrianglesiATIPROC) (GLenum pname, GLint param);
1617 typedef void (APIENTRY * glPNTrianglesfATIPROC) (GLenum pname, GLfloat param);
1618
1619 extern glPNTrianglesiATIPROC glPNTrianglesiATI;
1620 extern glPNTrianglesfATIPROC glPNTrianglesfATI;
1621
1622 #endif /* GL_ATI_pn_triangles */
1623
1624 /*-------------------------------------------------------------------*/
1625 /*------------ARB_POINT_PARAMETERS-----------------------------------*/
1626 /*-------------------------------------------------------------------*/
1627
1628 #ifndef GL_ARB_point_parameters
1629 #define GL_ARB_point_parameters 1
1630
1631 #define GL_POINT_SIZE_MIN_ARB                                   0x8126
1632 #define GL_POINT_SIZE_MAX_ARB                                   0x8127
1633 #define GL_POINT_FADE_THRESHOLD_SIZE_ARB                        0x8128
1634 #define GL_POINT_DISTANCE_ATTENUATION_ARB                       0x8129
1635
1636 typedef void (APIENTRY * glPointParameterfARBPROC) (GLenum pname, GLfloat param);
1637 typedef void (APIENTRY * glPointParameterfvARBPROC) (GLenum pname, GLfloat *params);
1638
1639 extern glPointParameterfARBPROC glPointParameterfARB;
1640 extern glPointParameterfvARBPROC glPointParameterfvARB;
1641
1642 #endif /* GL_ARB_point_parameters */
1643
1644 /*-------------------------------------------------------------------*/
1645 /*------------ARB_TEXTURE_ENV_CROSSBAR-------------------------------*/
1646 /*-------------------------------------------------------------------*/
1647
1648 #ifndef GL_ARB_texture_env_crossbar
1649 #define GL_ARB_texture_env_crossbar 1
1650
1651 #endif
1652
1653 /*-------------------------------------------------------------------*/
1654 /*------------ARB_VERTEX_BLEND---------------------------------------*/
1655 /*-------------------------------------------------------------------*/
1656
1657 #ifndef GL_ARB_vertex_blend
1658 #define GL_ARB_vertex_blend 1
1659
1660 #define GL_MAX_VERTEX_UNITS_ARB                                 0x86A4
1661 #define GL_ACTIVE_VERTEX_UNITS_ARB                              0x86A5
1662 #define GL_WEIGHT_SUM_UNITY_ARB                                 0x86A6      
1663 #define GL_VERTEX_BLEND_ARB                                     0x86A7
1664 #define GL_CURRENT_WEIGHT_ARB                                   0x86A8
1665 #define GL_WEIGHT_ARRAY_TYPE_ARB                                0x86A9
1666 #define GL_WEIGHT_ARRAY_STRIDE_ARB                              0x86AA
1667 #define GL_WEIGHT_ARRAY_SIZE_ARB                                0x86AB
1668 #define GL_WEIGHT_ARRAY_POINTER_ARB                             0x86AC
1669 #define GL_WEIGHT_ARRAY_ARB                                     0x86AD
1670 #define GL_MODELVIEW0_ARB                                       0x1700
1671 #define GL_MODELVIEW1_ARB                                       0x850a
1672 #define GL_MODELVIEW2_ARB                                       0x8722
1673 #define GL_MODELVIEW3_ARB                                       0x8723
1674 #define GL_MODELVIEW4_ARB                                       0x8724
1675 #define GL_MODELVIEW5_ARB                                       0x8725
1676 #define GL_MODELVIEW6_ARB                                       0x8726
1677 #define GL_MODELVIEW7_ARB                                       0x8727
1678 #define GL_MODELVIEW8_ARB                                       0x8728
1679 #define GL_MODELVIEW9_ARB                                       0x8729
1680 #define GL_MODELVIEW10_ARB                                      0x872A
1681 #define GL_MODELVIEW11_ARB                                      0x872B
1682 #define GL_MODELVIEW12_ARB                                      0x872C
1683 #define GL_MODELVIEW13_ARB                                      0x872D
1684 #define GL_MODELVIEW14_ARB                                      0x872E
1685 #define GL_MODELVIEW15_ARB                                      0x872F
1686 #define GL_MODELVIEW16_ARB                                      0x8730
1687 #define GL_MODELVIEW17_ARB                                      0x8731
1688 #define GL_MODELVIEW18_ARB                                      0x8732
1689 #define GL_MODELVIEW19_ARB                                      0x8733
1690 #define GL_MODELVIEW20_ARB                                      0x8734
1691 #define GL_MODELVIEW21_ARB                                      0x8735
1692 #define GL_MODELVIEW22_ARB                                      0x8736
1693 #define GL_MODELVIEW23_ARB                                      0x8737
1694 #define GL_MODELVIEW24_ARB                                      0x8738
1695 #define GL_MODELVIEW25_ARB                                      0x8739
1696 #define GL_MODELVIEW26_ARB                                      0x873A
1697 #define GL_MODELVIEW27_ARB                                      0x873B
1698 #define GL_MODELVIEW28_ARB                                      0x873C
1699 #define GL_MODELVIEW29_ARB                                      0x873D
1700 #define GL_MODELVIEW30_ARB                                      0x873E
1701 #define GL_MODELVIEW31_ARB                                      0x873F
1702
1703 typedef void (APIENTRY * glWeightbvARBPROC) (GLint size, GLbyte *weights);
1704 typedef void (APIENTRY * glWeightsvARBPROC) (GLint size, GLshort *weights);
1705 typedef void (APIENTRY * glWeightivARBPROC) (GLint size, GLint *weights);
1706 typedef void (APIENTRY * glWeightfvARBPROC) (GLint size, GLfloat *weights);
1707 typedef void (APIENTRY * glWeightdvARBPROC) (GLint size, GLdouble *weights);
1708 typedef void (APIENTRY * glWeightubvARBPROC) (GLint size, GLubyte *weights);
1709 typedef void (APIENTRY * glWeightusvARBPROC) (GLint size, GLushort *weights);
1710 typedef void (APIENTRY * glWeightuivARBPROC) (GLint size, GLuint *weights);
1711 typedef void (APIENTRY * glWeightPointerARBPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
1712 typedef void (APIENTRY * glVertexBlendARBPROC) (GLint count);
1713
1714 extern glWeightbvARBPROC glWeightbvARB;
1715 extern glWeightsvARBPROC glWeightsvARB;
1716 extern glWeightivARBPROC glWeightivARB;
1717 extern glWeightfvARBPROC glWeightfvARB;
1718 extern glWeightdvARBPROC glWeightdvARB;
1719 extern glWeightubvARBPROC glWeightubvARB;
1720 extern glWeightusvARBPROC glWeightusvARB;
1721 extern glWeightuivARBPROC glWeightuivARB;
1722 extern glWeightPointerARBPROC glWeightPointerARB;
1723 extern glVertexBlendARBPROC glVertexBlendARB;
1724
1725 #endif /* GL_ARB_vertex_blend */
1726
1727 /*-------------------------------------------------------------------*/
1728 /*------------EXT_MULTI_DRAW_ARRAYS----------------------------------*/
1729 /*-------------------------------------------------------------------*/
1730
1731 #ifndef GL_EXT_multi_draw_arrays
1732 #define GL_EXT_multi_draw_arrays 1
1733
1734 typedef void (APIENTRY * glMultiDrawArraysEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
1735 typedef void (APIENTRY * glMultiDrawElementsEXTPROC) (GLenum mode, GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount);
1736
1737 extern glMultiDrawArraysEXTPROC glMultiDrawArraysEXT;
1738 extern glMultiDrawElementsEXTPROC glMultiDrawElementsEXT;
1739
1740 #endif /* GL_EXT_multi_draw_arrays */
1741
1742 /*-------------------------------------------------------------------*/
1743 /*------------ARB_MATRIX_PALETTE-------------------------------------*/
1744 /*-------------------------------------------------------------------*/
1745
1746 #ifndef GL_ARB_matrix_palette
1747 #define GL_ARB_matrix_palette 1
1748
1749 #define GL_MATRIX_PALETTE_ARB                                   0x8840
1750 #define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB                   0x8841
1751 #define GL_MAX_PALETTE_MATRICES_ARB                             0x8842
1752 #define GL_CURRENT_PALETTE_MATRIX_ARB                           0x8843
1753 #define GL_MATRIX_INDEX_ARRAY_ARB                               0x8844
1754 #define GL_CURRENT_MATRIX_INDEX_ARB                             0x8845
1755 #define GL_MATRIX_INDEX_ARRAY_SIZE_ARB                          0x8846
1756 #define GL_MATRIX_INDEX_ARRAY_TYPE_ARB                          0x8847
1757 #define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB                        0x8848
1758 #define GL_MATRIX_INDEX_ARRAY_POINTER_ARB                       0x8849
1759
1760 typedef void (APIENTRY * glCurrentPaletteMatrixARBPROC) (GLint index);
1761 typedef void (APIENTRY * glMatrixIndexubvARBPROC) (GLint size, GLubyte *indices);
1762 typedef void (APIENTRY * glMatrixIndexusvARBPROC) (GLint size, GLushort *indices);
1763 typedef void (APIENTRY * glMatrixIndexuivARBPROC) (GLint size, GLuint *indices);
1764 typedef void (APIENTRY * glMatrixIndexPointerARBPROC) (GLint size, GLenum type, GLsizei stride, GLvoid *pointer);
1765
1766 extern glCurrentPaletteMatrixARBPROC glCurrentPaletteMatrixARB;
1767 extern glMatrixIndexubvARBPROC glMatrixIndexubvARB;
1768 extern glMatrixIndexusvARBPROC glMatrixIndexusvARB;
1769 extern glMatrixIndexuivARBPROC glMatrixIndexuivARB;
1770 extern glMatrixIndexPointerARBPROC glMatrixIndexPointerARB;
1771
1772 #endif /* GL_ARB_matrix_palette */
1773
1774 /*-------------------------------------------------------------------*/
1775 /*------------EXT_VERTEX_SHADER--------------------------------------*/
1776 /*-------------------------------------------------------------------*/
1777
1778 #ifndef GL_EXT_vertex_shader
1779 #define GL_EXT_vertex_shader 1
1780
1781 #define GL_VERTEX_SHADER_EXT                                    0x8780
1782 #define GL_VERTEX_SHADER_BINDING_EXT                            0x8781
1783 #define GL_OP_INDEX_EXT                                         0x8782
1784 #define GL_OP_NEGATE_EXT                                        0x8783
1785 #define GL_OP_DOT3_EXT                                          0x8784
1786 #define GL_OP_DOT4_EXT                                          0x8785
1787 #define GL_OP_MUL_EXT                                           0x8786
1788 #define GL_OP_ADD_EXT                                           0x8787
1789 #define GL_OP_MADD_EXT                                          0x8788
1790 #define GL_OP_FRAC_EXT                                          0x8789
1791 #define GL_OP_MAX_EXT                                           0x878A
1792 #define GL_OP_MIN_EXT                                           0x878B
1793 #define GL_OP_SET_GE_EXT                                        0x878C
1794 #define GL_OP_SET_LT_EXT                                        0x878D
1795 #define GL_OP_CLAMP_EXT                                         0x878E
1796 #define GL_OP_FLOOR_EXT                                         0x878F
1797 #define GL_OP_ROUND_EXT                                         0x8790
1798 #define GL_OP_EXP_BASE_2_EXT                                    0x8791
1799 #define GL_OP_LOG_BASE_2_EXT                                    0x8792
1800 #define GL_OP_POWER_EXT                                         0x8793
1801 #define GL_OP_RECIP_EXT                                         0x8794
1802 #define GL_OP_RECIP_SQRT_EXT                                    0x8795
1803 #define GL_OP_SUB_EXT                                           0x8796
1804 #define GL_OP_CROSS_PRODUCT_EXT                                 0x8797
1805 #define GL_OP_MULTIPLY_MATRIX_EXT                               0x8798
1806 #define GL_OP_MOV_EXT                                           0x8799
1807 #define GL_OUTPUT_VERTEX_EXT                                    0x879A
1808 #define GL_OUTPUT_COLOR0_EXT                                    0x879B
1809 #define GL_OUTPUT_COLOR1_EXT                                    0x879C
1810 #define GL_OUTPUT_TEXTURE_COORD0_EXT                            0x879D
1811 #define GL_OUTPUT_TEXTURE_COORD1_EXT                            0x879E
1812 #define GL_OUTPUT_TEXTURE_COORD2_EXT                            0x879F
1813 #define GL_OUTPUT_TEXTURE_COORD3_EXT                            0x87A0
1814 #define GL_OUTPUT_TEXTURE_COORD4_EXT                            0x87A1
1815 #define GL_OUTPUT_TEXTURE_COORD5_EXT                            0x87A2
1816 #define GL_OUTPUT_TEXTURE_COORD6_EXT                            0x87A3
1817 #define GL_OUTPUT_TEXTURE_COORD7_EXT                            0x87A4
1818 #define GL_OUTPUT_TEXTURE_COORD8_EXT                            0x87A5
1819 #define GL_OUTPUT_TEXTURE_COORD9_EXT                            0x87A6
1820 #define GL_OUTPUT_TEXTURE_COORD10_EXT                           0x87A7
1821 #define GL_OUTPUT_TEXTURE_COORD11_EXT                           0x87A8
1822 #define GL_OUTPUT_TEXTURE_COORD12_EXT                           0x87A9
1823 #define GL_OUTPUT_TEXTURE_COORD13_EXT                           0x87AA
1824 #define GL_OUTPUT_TEXTURE_COORD14_EXT                           0x87AB
1825 #define GL_OUTPUT_TEXTURE_COORD15_EXT                           0x87AC
1826 #define GL_OUTPUT_TEXTURE_COORD16_EXT                           0x87AD
1827 #define GL_OUTPUT_TEXTURE_COORD17_EXT                           0x87AE
1828 #define GL_OUTPUT_TEXTURE_COORD18_EXT                           0x87AF
1829 #define GL_OUTPUT_TEXTURE_COORD19_EXT                           0x87B0
1830 #define GL_OUTPUT_TEXTURE_COORD20_EXT                           0x87B1
1831 #define GL_OUTPUT_TEXTURE_COORD21_EXT                           0x87B2
1832 #define GL_OUTPUT_TEXTURE_COORD22_EXT                           0x87B3
1833 #define GL_OUTPUT_TEXTURE_COORD23_EXT                           0x87B4
1834 #define GL_OUTPUT_TEXTURE_COORD24_EXT                           0x87B5
1835 #define GL_OUTPUT_TEXTURE_COORD25_EXT                           0x87B6
1836 #define GL_OUTPUT_TEXTURE_COORD26_EXT                           0x87B7
1837 #define GL_OUTPUT_TEXTURE_COORD27_EXT                           0x87B8
1838 #define GL_OUTPUT_TEXTURE_COORD28_EXT                           0x87B9
1839 #define GL_OUTPUT_TEXTURE_COORD29_EXT                           0x87BA
1840 #define GL_OUTPUT_TEXTURE_COORD30_EXT                           0x87BB
1841 #define GL_OUTPUT_TEXTURE_COORD31_EXT                           0x87BC
1842 #define GL_OUTPUT_FOG_EXT                                       0x87BD
1843 #define GL_SCALAR_EXT                                           0x87BE
1844 #define GL_VECTOR_EXT                                           0x87BF
1845 #define GL_MATRIX_EXT                                           0x87C0
1846 #define GL_VARIANT_EXT                                          0x87C1
1847 #define GL_INVARIANT_EXT                                        0x87C2
1848 #define GL_LOCAL_CONSTANT_EXT                                   0x87C3
1849 #define GL_LOCAL_EXT                                            0x87C4
1850 #define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT                   0x87C5
1851 #define GL_MAX_VERTEX_SHADER_VARIANTS_EXT                       0x87C6
1852 #define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT                     0x87C7
1853 #define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT                0x87C8
1854 #define GL_MAX_VERTEX_SHADER_LOCALS_EXT                         0x87C9
1855 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT         0x87CA
1856 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT             0x87CB
1857 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT           0x87CC
1858 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT      0x87CD
1859 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT               0x87CE
1860 #define GL_VERTEX_SHADER_INSTRUCTIONS_EXT                       0x87CF
1861 #define GL_VERTEX_SHADER_VARIANTS_EXT                           0x87D0
1862 #define GL_VERTEX_SHADER_INVARIANTS_EXT                         0x87D1
1863 #define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT                    0x87D2
1864 #define GL_VERTEX_SHADER_LOCALS_EXT                             0x87D3
1865 #define GL_VERTEX_SHADER_OPTIMIZED_EXT                          0x87D4
1866 #define GL_X_EXT                                                0x87D5
1867 #define GL_Y_EXT                                                0x87D6
1868 #define GL_Z_EXT                                                0x87D7
1869 #define GL_W_EXT                                                0x87D8
1870 #define GL_NEGATIVE_X_EXT                                       0x87D9
1871 #define GL_NEGATIVE_Y_EXT                                       0x87DA
1872 #define GL_NEGATIVE_Z_EXT                                       0x87DB
1873 #define GL_NEGATIVE_W_EXT                                       0x87DC
1874 #define GL_ZERO_EXT                                             0x87DD
1875 #define GL_ONE_EXT                                              0x87DE
1876 #define GL_NEGATIVE_ONE_EXT                                     0x87DF
1877 #define GL_NORMALIZED_RANGE_EXT                                 0x87E0
1878 #define GL_FULL_RANGE_EXT                                       0x87E1
1879 #define GL_CURRENT_VERTEX_EXT                                   0x87E2
1880 #define GL_MVP_MATRIX_EXT                                       0x87E3
1881 #define GL_VARIANT_VALUE_EXT                                    0x87E4
1882 #define GL_VARIANT_DATATYPE_EXT                                 0x87E5
1883 #define GL_VARIANT_ARRAY_STRIDE_EXT                             0x87E6
1884 #define GL_VARIANT_ARRAY_TYPE_EXT                               0x87E7
1885 #define GL_VARIANT_ARRAY_EXT                                    0x87E8
1886 #define GL_VARIANT_ARRAY_POINTER_EXT                            0x87E9
1887 #define GL_INVARIANT_VALUE_EXT                                  0x87EA
1888 #define GL_INVARIANT_DATATYPE_EXT                               0x87EB
1889 #define GL_LOCAL_CONSTANT_VALUE_EXT                             0x87EC
1890 #define GL_LOCAL_CONSTANT_DATATYPE_EXT                          0x87ED
1891
1892 typedef void (APIENTRY * glBeginVertexShaderEXTPROC) ();
1893 typedef void (APIENTRY * glEndVertexShaderEXTPROC) ();
1894 typedef void (APIENTRY * glBindVertexShaderEXTPROC) (GLuint id);
1895 typedef GLuint (APIENTRY * glGenVertexShadersEXTPROC) (GLuint range);
1896 typedef void (APIENTRY * glDeleteVertexShaderEXTPROC) (GLuint id);
1897 typedef void (APIENTRY * glShaderOp1EXTPROC) (GLenum op, GLuint res, GLuint arg1);
1898 typedef void (APIENTRY * glShaderOp2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2);
1899 typedef void (APIENTRY * glShaderOp3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);
1900 typedef void (APIENTRY * glSwizzleEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
1901 typedef void (APIENTRY * glWriteMaskEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
1902 typedef void (APIENTRY * glInsertComponentEXTPROC) (GLuint res, GLuint src, GLuint num);
1903 typedef void (APIENTRY * glExtractComponentEXTPROC) (GLuint res, GLuint src, GLuint num);
1904 typedef GLuint (APIENTRY * glGenSymbolsEXTPROC) (GLenum dataType, GLenum storageType, GLenum range, GLuint components);
1905 typedef void (APIENTRY * glSetInvariantEXTPROC) (GLuint id, GLenum type, GLvoid *addr);
1906 typedef void (APIENTRY * glSetLocalConstantEXTPROC) (GLuint id, GLenum type, GLvoid *addr);
1907 typedef void (APIENTRY * glVariantbvEXTPROC) (GLuint id, GLbyte *addr);
1908 typedef void (APIENTRY * glVariantsvEXTPROC) (GLuint id, GLshort *addr);
1909 typedef void (APIENTRY * glVariantivEXTPROC) (GLuint id, GLint *addr);
1910 typedef void (APIENTRY * glVariantfvEXTPROC) (GLuint id, GLfloat *addr);
1911 typedef void (APIENTRY * glVariantdvEXTPROC) (GLuint id, GLdouble *addr);
1912 typedef void (APIENTRY * glVariantubvEXTPROC) (GLuint id, GLubyte *addr);
1913 typedef void (APIENTRY * glVariantusvEXTPROC) (GLuint id, GLushort *addr);
1914 typedef void (APIENTRY * glVariantuivEXTPROC) (GLuint id, GLuint *addr);
1915 typedef void (APIENTRY * glVariantPointerEXTPROC) (GLuint id, GLenum type, GLuint stride, GLvoid *addr);
1916 typedef void (APIENTRY * glEnableVariantClientStateEXTPROC) (GLuint id);
1917 typedef void (APIENTRY * glDisableVariantClientStateEXTPROC) (GLuint id);
1918 typedef GLuint (APIENTRY * glBindLightParameterEXTPROC) (GLenum light, GLenum value);
1919 typedef GLuint (APIENTRY * glBindMaterialParameterEXTPROC) (GLenum face, GLenum value);
1920 typedef GLuint (APIENTRY * glBindTexGenParameterEXTPROC) (GLenum unit, GLenum coord, GLenum value);
1921 typedef GLuint (APIENTRY * glBindTextureUnitParameterEXTPROC) (GLenum unit, GLenum value);
1922 typedef GLuint (APIENTRY * glBindParameterEXTPROC) (GLenum value);
1923 typedef GLboolean (APIENTRY * glIsVariantEnabledEXTPROC) (GLuint id, GLenum cap);
1924 typedef void (APIENTRY * glGetVariantBooleanvEXTPROC) (GLuint id, GLenum value, GLboolean *data);
1925 typedef void (APIENTRY * glGetVariantIntegervEXTPROC) (GLuint id, GLenum value, GLint *data);
1926 typedef void (APIENTRY * glGetVariantFloatvEXTPROC) (GLuint id, GLenum value, GLfloat *data);
1927 typedef void (APIENTRY * glGetVariantPointervEXTPROC) (GLuint id, GLenum value, GLvoid **data);
1928 typedef void (APIENTRY * glGetInvariantBooleanvEXTPROC) (GLuint id, GLenum value, GLboolean *data);
1929 typedef void (APIENTRY * glGetInvariantIntegervEXTPROC) (GLuint id, GLenum value, GLint *data);
1930 typedef void (APIENTRY * glGetInvariantFloatvEXTPROC) (GLuint id, GLenum value, GLfloat *data);
1931 typedef void (APIENTRY * glGetLocalConstantBooleanvEXTPROC) (GLuint id, GLenum value, GLboolean *data);
1932 typedef void (APIENTRY * glGetLocalConstantIntegervEXTPROC) (GLuint id, GLenum value, GLint *data);
1933 typedef void (APIENTRY * glGetLocalConstantFloatvEXTPROC) (GLuint id, GLenum value, GLfloat *data);
1934
1935 extern glBeginVertexShaderEXTPROC glBeginVertexShaderEXT;
1936 extern glEndVertexShaderEXTPROC glEndVertexShaderEXT;
1937 extern glBindVertexShaderEXTPROC glBindVertexShaderEXT;
1938 extern glGenVertexShadersEXTPROC glGenVertexShadersEXT;
1939 extern glDeleteVertexShaderEXTPROC glDeleteVertexShaderEXT;
1940 extern glShaderOp1EXTPROC glShaderOp1EXT;
1941 extern glShaderOp2EXTPROC glShaderOp2EXT;
1942 extern glShaderOp3EXTPROC glShaderOp3EXT;
1943 extern glSwizzleEXTPROC glSwizzleEXT;
1944 extern glWriteMaskEXTPROC glWriteMaskEXT;
1945 extern glInsertComponentEXTPROC glInsertComponentEXT;
1946 extern glExtractComponentEXTPROC glExtractComponentEXT;
1947 extern glGenSymbolsEXTPROC glGenSymbolsEXT;
1948 extern glSetInvariantEXTPROC glSetInvariantEXT;
1949 extern glSetLocalConstantEXTPROC glSetLocalConstantEXT;
1950 extern glVariantbvEXTPROC glVariantbvEXT;
1951 extern glVariantsvEXTPROC glVariantsvEXT;
1952 extern glVariantivEXTPROC glVariantivEXT;
1953 extern glVariantfvEXTPROC glVariantfvEXT;
1954 extern glVariantdvEXTPROC glVariantdvEXT;
1955 extern glVariantubvEXTPROC glVariantubvEXT;
1956 extern glVariantusvEXTPROC glVariantusvEXT;
1957 extern glVariantuivEXTPROC glVariantuivEXT;
1958 extern glVariantPointerEXTPROC glVariantPointerEXT;
1959 extern glEnableVariantClientStateEXTPROC glEnableVariantClientStateEXT;
1960 extern glDisableVariantClientStateEXTPROC glDisableVariantClientStateEXT;
1961 extern glBindLightParameterEXTPROC glBindLightParameterEXT;
1962 extern glBindMaterialParameterEXTPROC glBindMaterialParameterEXT;
1963 extern glBindTexGenParameterEXTPROC glBindTexGenParameterEXT;
1964 extern glBindTextureUnitParameterEXTPROC glBindTextureUnitParameterEXT;
1965 extern glBindParameterEXTPROC glBindParameterEXT;
1966 extern glIsVariantEnabledEXTPROC glIsVariantEnabledEXT;
1967 extern glGetVariantBooleanvEXTPROC glGetVariantBooleanvEXT;
1968 extern glGetVariantIntegervEXTPROC glGetVariantIntegervEXT;
1969 extern glGetVariantFloatvEXTPROC glGetVariantFloatvEXT;
1970 extern glGetVariantPointervEXTPROC glGetVariantPointervEXT;
1971 extern glGetInvariantBooleanvEXTPROC glGetInvariantBooleanvEXT;
1972 extern glGetInvariantIntegervEXTPROC glGetInvariantIntegervEXT;
1973 extern glGetInvariantFloatvEXTPROC glGetInvariantFloatvEXT;
1974 extern glGetLocalConstantBooleanvEXTPROC glGetLocalConstantBooleanvEXT;
1975 extern glGetLocalConstantIntegervEXTPROC glGetLocalConstantIntegervEXT;
1976 extern glGetLocalConstantFloatvEXTPROC glGetLocalConstantFloatvEXT;
1977
1978 #endif /* GL_EXT_vertex_shader */
1979
1980 /*-------------------------------------------------------------------*/
1981 /*------------ATI_ENVMAP_BUMPMAP-------------------------------------*/
1982 /*-------------------------------------------------------------------*/
1983
1984 #ifndef GL_ATI_envmap_bumpmap
1985 #define GL_ATI_envmap_bumpmap 1
1986
1987 #define GL_BUMP_ROT_MATRIX_ATI                                  0x8775
1988 #define GL_BUMP_ROT_MATRIX_SIZE_ATI                             0x8776
1989 #define GL_BUMP_NUM_TEX_UNITS_ATI                               0x8777
1990 #define GL_BUMP_TEX_UNITS_ATI                                   0x8778
1991 #define GL_DUDV_ATI                                             0x8779
1992 #define GL_DU8DV8_ATI                                           0x877A
1993 #define GL_BUMP_ENVMAP_ATI                                      0x877B
1994 #define GL_BUMP_TARGET_ATI                                      0x877C
1995
1996 typedef void (APIENTRY * glTexBumpParameterivATIPROC) (GLenum pname, GLint *param);
1997 typedef void (APIENTRY * glTexBumpParameterfvATIPROC) (GLenum pname, GLfloat *param);
1998 typedef void (APIENTRY * glGetTexBumpParameterivATIPROC) (GLenum pname, GLint *param);
1999 typedef void (APIENTRY * glGetTexBumpParameterfvATIPROC) (GLenum pname, GLfloat *param);
2000
2001 extern glTexBumpParameterivATIPROC glTexBumpParameterivATI;
2002 extern glTexBumpParameterfvATIPROC glTexBumpParameterfvATI;
2003 extern glGetTexBumpParameterivATIPROC glGetTexBumpParameterivATI;
2004 extern glGetTexBumpParameterfvATIPROC glGetTexBumpParameterfvATI;
2005
2006 #endif /* GL_ATI_envmap_bumpmap */
2007
2008 /*-------------------------------------------------------------------*/
2009 /*------------ATI_FRAGMENT_SHADER------------------------------------*/
2010 /*-------------------------------------------------------------------*/
2011
2012 #ifndef GL_ATI_fragment_shader
2013 #define GL_ATI_fragment_shader 1
2014
2015 #define GL_FRAGMENT_SHADER_ATI                                  0x8920
2016 #define GL_REG_0_ATI                                            0x8921
2017 #define GL_REG_1_ATI                                            0x8922
2018 #define GL_REG_2_ATI                                            0x8923
2019 #define GL_REG_3_ATI                                            0x8924
2020 #define GL_REG_4_ATI                                            0x8925
2021 #define GL_REG_5_ATI                                            0x8926
2022 #define GL_REG_6_ATI                                            0x8927
2023 #define GL_REG_7_ATI                                            0x8928
2024 #define GL_REG_8_ATI                                            0x8929
2025 #define GL_REG_9_ATI                                            0x892A
2026 #define GL_REG_10_ATI                                           0x892B
2027 #define GL_REG_11_ATI                                           0x892C
2028 #define GL_REG_12_ATI                                           0x892D
2029 #define GL_REG_13_ATI                                           0x892E
2030 #define GL_REG_14_ATI                                           0x892F
2031 #define GL_REG_15_ATI                                           0x8930
2032 #define GL_REG_16_ATI                                           0x8931
2033 #define GL_REG_17_ATI                                           0x8932
2034 #define GL_REG_18_ATI                                           0x8933
2035 #define GL_REG_19_ATI                                           0x8934
2036 #define GL_REG_20_ATI                                           0x8935
2037 #define GL_REG_21_ATI                                           0x8936
2038 #define GL_REG_22_ATI                                           0x8937
2039 #define GL_REG_23_ATI                                           0x8938
2040 #define GL_REG_24_ATI                                           0x8939
2041 #define GL_REG_25_ATI                                           0x893A
2042 #define GL_REG_26_ATI                                           0x893B
2043 #define GL_REG_27_ATI                                           0x893C
2044 #define GL_REG_28_ATI                                           0x893D
2045 #define GL_REG_29_ATI                                           0x893E
2046 #define GL_REG_30_ATI                                           0x893F
2047 #define GL_REG_31_ATI                                           0x8940
2048 #define GL_CON_0_ATI                                            0x8941
2049 #define GL_CON_1_ATI                                            0x8942
2050 #define GL_CON_2_ATI                                            0x8943
2051 #define GL_CON_3_ATI                                            0x8944
2052 #define GL_CON_4_ATI                                            0x8945
2053 #define GL_CON_5_ATI                                            0x8946
2054 #define GL_CON_6_ATI                                            0x8947
2055 #define GL_CON_7_ATI                                            0x8948
2056 #define GL_CON_8_ATI                                            0x8949
2057 #define GL_CON_9_ATI                                            0x894A
2058 #define GL_CON_10_ATI                                           0x894B
2059 #define GL_CON_11_ATI                                           0x894C
2060 #define GL_CON_12_ATI                                           0x894D
2061 #define GL_CON_13_ATI                                           0x894E
2062 #define GL_CON_14_ATI                                           0x894F
2063 #define GL_CON_15_ATI                                           0x8950
2064 #define GL_CON_16_ATI                                           0x8951
2065 #define GL_CON_17_ATI                                           0x8952
2066 #define GL_CON_18_ATI                                           0x8953
2067 #define GL_CON_19_ATI                                           0x8954
2068 #define GL_CON_20_ATI                                           0x8955
2069 #define GL_CON_21_ATI                                           0x8956
2070 #define GL_CON_22_ATI                                           0x8957
2071 #define GL_CON_23_ATI                                           0x8958
2072 #define GL_CON_24_ATI                                           0x8959
2073 #define GL_CON_25_ATI                                           0x895A
2074 #define GL_CON_26_ATI                                           0x895B
2075 #define GL_CON_27_ATI                                           0x895C
2076 #define GL_CON_28_ATI                                           0x895D
2077 #define GL_CON_29_ATI                                           0x895E
2078 #define GL_CON_30_ATI                                           0x895F
2079 #define GL_CON_31_ATI                                           0x8960
2080 #define GL_MOV_ATI                                              0x8961
2081 #define GL_ADD_ATI                                              0x8963
2082 #define GL_MUL_ATI                                              0x8964
2083 #define GL_SUB_ATI                                              0x8965
2084 #define GL_DOT3_ATI                                             0x8966
2085 #define GL_DOT4_ATI                                             0x8967
2086 #define GL_MAD_ATI                                              0x8968
2087 #define GL_LERP_ATI                                             0x8969
2088 #define GL_CND_ATI                                              0x896A
2089 #define GL_CND0_ATI                                             0x896B
2090 #define GL_DOT2_ADD_ATI                                         0x896C
2091 #define GL_SECONDARY_INTERPOLATOR_ATI                           0x896D
2092 #define GL_NUM_FRAGMENT_REGISTERS_ATI                           0x896E
2093 #define GL_NUM_FRAGMENT_CONSTANTS_ATI                           0x896F
2094 #define GL_NUM_PASSES_ATI                                       0x8970
2095 #define GL_NUM_INSTRUCTIONS_PER_PASS_ATI                        0x8971
2096 #define GL_NUM_INSTRUCTIONS_TOTAL_ATI                           0x8972
2097 #define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI                0x8973
2098 #define GL_NUM_LOOPBACK_COMPONENTS_ATI                          0x8974
2099 #define GL_COLOR_ALPHA_PAIRING_ATI                              0x8975
2100 #define GL_SWIZZLE_STR_ATI                                      0x8976
2101 #define GL_SWIZZLE_STQ_ATI                                      0x8977
2102 #define GL_SWIZZLE_STR_DR_ATI                                   0x8978
2103 #define GL_SWIZZLE_STQ_DQ_ATI                                   0x8979
2104 #define GL_SWIZZLE_STRQ_ATI                                     0x897A
2105 #define GL_SWIZZLE_STRQ_DQ_ATI                                  0x897B
2106 #define GL_RED_BIT_ATI                                          0x00000001
2107 #define GL_GREEN_BIT_ATI                                        0x00000002
2108 #define GL_BLUE_BIT_ATI                                         0x00000004
2109 #define GL_2X_BIT_ATI                                           0x00000001
2110 #define GL_4X_BIT_ATI                                           0x00000002
2111 #define GL_8X_BIT_ATI                                           0x00000004
2112 #define GL_HALF_BIT_ATI                                         0x00000008
2113 #define GL_QUARTER_BIT_ATI                                      0x00000010
2114 #define GL_EIGHTH_BIT_ATI                                       0x00000020
2115 #define GL_SATURATE_BIT_ATI                                     0x00000040
2116 #define GL_COMP_BIT_ATI                                         0x00000002
2117 #define GL_NEGATE_BIT_ATI                                       0x00000004
2118 #define GL_BIAS_BIT_ATI                                         0x00000008
2119
2120 typedef GLuint (APIENTRY * glGenFragmentShadersATIPROC) (GLuint range);
2121 typedef void (APIENTRY * glBindFragmentShaderATIPROC) (GLuint id);
2122 typedef void (APIENTRY * glDeleteFragmentShaderATIPROC) (GLuint id);
2123 typedef void (APIENTRY * glBeginFragmentShaderATIPROC) (GLvoid);
2124 typedef void (APIENTRY * glEndFragmentShaderATIPROC) (GLvoid);
2125 typedef void (APIENTRY * glPassTexCoordATIPROC) (GLuint dst, GLuint coord, GLenum swizzle);
2126 typedef void (APIENTRY * glSampleMapATIPROC) (GLuint dst, GLuint interp, GLenum swizzle);
2127 typedef void (APIENTRY * glColorFragmentOp1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
2128 typedef void (APIENTRY * glColorFragmentOp2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
2129 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);
2130 typedef void (APIENTRY * glAlphaFragmentOp1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
2131 typedef void (APIENTRY * glAlphaFragmentOp2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
2132 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);
2133 typedef void (APIENTRY * glSetFragmentShaderConstantATIPROC) (GLuint dst, const GLfloat *value);
2134
2135 extern glGenFragmentShadersATIPROC glGenFragmentShadersATI;
2136 extern glBindFragmentShaderATIPROC glBindFragmentShaderATI;
2137 extern glDeleteFragmentShaderATIPROC glDeleteFragmentShaderATI;
2138 extern glBeginFragmentShaderATIPROC glBeginFragmentShaderATI;
2139 extern glEndFragmentShaderATIPROC glEndFragmentShaderATI;
2140 extern glPassTexCoordATIPROC glPassTexCoordATI;
2141 extern glSampleMapATIPROC glSampleMapATI;
2142 extern glColorFragmentOp1ATIPROC glColorFragmentOp1ATI;
2143 extern glColorFragmentOp2ATIPROC glColorFragmentOp2ATI;
2144 extern glColorFragmentOp3ATIPROC glColorFragmentOp3ATI;
2145 extern glAlphaFragmentOp1ATIPROC glAlphaFragmentOp1ATI;
2146 extern glAlphaFragmentOp2ATIPROC glAlphaFragmentOp2ATI;
2147 extern glAlphaFragmentOp3ATIPROC glAlphaFragmentOp3ATI;
2148 extern glSetFragmentShaderConstantATIPROC glSetFragmentShaderConstantATI;
2149
2150 #endif /* GL_ATI_fragment_shader */
2151
2152 /*-------------------------------------------------------------------*/
2153 /*------------ATI_TEXTURE_MIRROR_ONCE--------------------------------*/
2154 /*-------------------------------------------------------------------*/
2155
2156 #ifndef GL_ATI_texture_mirror_once
2157 #define GL_ATI_texture_mirror_once 1
2158
2159 #define GL_MIRROR_CLAMP_ATI                                     0x8742
2160 #define GL_MIRROR_CLAMP_TO_EDGE_ATI                             0x8743
2161
2162 #endif
2163
2164 /*-------------------------------------------------------------------*/
2165 /*------------ATI_ELEMENT_ARRAY--------------------------------------*/
2166 /*-------------------------------------------------------------------*/
2167
2168 #ifndef GL_ATI_element_array
2169 #define GL_ATI_element_array 1
2170
2171 #define GL_ELEMENT_ARRAY_ATI                                    0x8768
2172 #define GL_ELEMENT_ARRAY_TYPE_ATI                               0x8769
2173 #define GL_ELEMENT_ARRAY_POINTER_ATI                            0x876A
2174
2175 typedef void (APIENTRY * glElementPointerATIPROC) (GLenum type, const GLvoid *pointer);
2176 typedef void (APIENTRY * glDrawElementArrayATIPROC) (GLenum mode, GLsizei count);
2177 typedef void (APIENTRY * glDrawRangeElementArrayATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count);
2178
2179 extern glElementPointerATIPROC glElementPointerATI;
2180 extern glDrawElementArrayATIPROC glDrawElementArrayATI;
2181 extern glDrawRangeElementArrayATIPROC glDrawRangeElementArrayATI;
2182
2183 #endif /* GL_ATI_element_array */
2184
2185 /*-------------------------------------------------------------------*/
2186 /*------------ATI_VERTEX_STREAMS-------------------------------------*/
2187 /*-------------------------------------------------------------------*/
2188
2189 #ifndef GL_ATI_vertex_streams 
2190 #define GL_ATI_vertex_streams 1
2191
2192 #define GL_MAX_VERTEX_STREAMS_ATI                               0x876B  
2193 #define GL_VERTEX_SOURCE_ATI                                    0x876C
2194 #define GL_VERTEX_STREAM0_ATI                                   0x876D
2195 #define GL_VERTEX_STREAM1_ATI                                   0x876E
2196 #define GL_VERTEX_STREAM2_ATI                                   0x876F
2197 #define GL_VERTEX_STREAM3_ATI                                   0x8770
2198 #define GL_VERTEX_STREAM4_ATI                                   0x8771
2199 #define GL_VERTEX_STREAM5_ATI                                   0x8772
2200 #define GL_VERTEX_STREAM6_ATI                                   0x8773
2201 #define GL_VERTEX_STREAM7_ATI                                   0x8774
2202
2203 typedef void (APIENTRY * glClientActiveVertexStreamATIPROC) (GLenum stream);
2204 typedef void (APIENTRY * glVertexBlendEnviATIPROC) (GLenum pname, GLint param);
2205 typedef void (APIENTRY * glVertexBlendEnvfATIPROC) (GLenum pname, GLfloat param);
2206 typedef void (APIENTRY * glVertexStream2sATIPROC) (GLenum stream, GLshort x, GLshort y);
2207 typedef void (APIENTRY * glVertexStream2svATIPROC) (GLenum stream, const GLshort *v);
2208 typedef void (APIENTRY * glVertexStream2iATIPROC) (GLenum stream, GLint x, GLint y);
2209 typedef void (APIENTRY * glVertexStream2ivATIPROC) (GLenum stream, const GLint *v);
2210 typedef void (APIENTRY * glVertexStream2fATIPROC) (GLenum stream, GLfloat x, GLfloat y);
2211 typedef void (APIENTRY * glVertexStream2fvATIPROC) (GLenum stream, const GLfloat *v);
2212 typedef void (APIENTRY * glVertexStream2dATIPROC) (GLenum stream, GLdouble x, GLdouble y);
2213 typedef void (APIENTRY * glVertexStream2dvATIPROC) (GLenum stream, const GLdouble *v);
2214 typedef void (APIENTRY * glVertexStream3sATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
2215 typedef void (APIENTRY * glVertexStream3svATIPROC) (GLenum stream, const GLshort *v);
2216 typedef void (APIENTRY * glVertexStream3iATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
2217 typedef void (APIENTRY * glVertexStream3ivATIPROC) (GLenum stream, const GLint *v);
2218 typedef void (APIENTRY * glVertexStream3fATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
2219 typedef void (APIENTRY * glVertexStream3fvATIPROC) (GLenum stream, const GLfloat *v);
2220 typedef void (APIENTRY * glVertexStream3dATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
2221 typedef void (APIENTRY * glVertexStream3dvATIPROC) (GLenum stream, const GLdouble *v);
2222 typedef void (APIENTRY * glVertexStream4sATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);
2223 typedef void (APIENTRY * glVertexStream4svATIPROC) (GLenum stream, const GLshort *v);
2224 typedef void (APIENTRY * glVertexStream4iATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w);
2225 typedef void (APIENTRY * glVertexStream4ivATIPROC) (GLenum stream, const GLint *v);
2226 typedef void (APIENTRY * glVertexStream4fATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
2227 typedef void (APIENTRY * glVertexStream4fvATIPROC) (GLenum stream, const GLfloat *v);
2228 typedef void (APIENTRY * glVertexStream4dATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
2229 typedef void (APIENTRY * glVertexStream4dvATIPROC) (GLenum stream, const GLdouble *v);
2230 typedef void (APIENTRY * glNormalStream3bATIPROC) (GLenum stream, GLbyte x, GLbyte y, GLbyte z);
2231 typedef void (APIENTRY * glNormalStream3bvATIPROC) (GLenum stream, const GLbyte *v);
2232 typedef void (APIENTRY * glNormalStream3sATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
2233 typedef void (APIENTRY * glNormalStream3svATIPROC) (GLenum stream, const GLshort *v);
2234 typedef void (APIENTRY * glNormalStream3iATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
2235 typedef void (APIENTRY * glNormalStream3ivATIPROC) (GLenum stream, const GLint *v);
2236 typedef void (APIENTRY * glNormalStream3fATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
2237 typedef void (APIENTRY * glNormalStream3fvATIPROC) (GLenum stream, const GLfloat *v);
2238 typedef void (APIENTRY * glNormalStream3dATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
2239 typedef void (APIENTRY * glNormalStream3dvATIPROC) (GLenum stream, const GLdouble *v);
2240
2241 extern glClientActiveVertexStreamATIPROC glClientActiveVertexStreamATI;
2242 extern glVertexBlendEnviATIPROC glVertexBlendEnviATI;
2243 extern glVertexBlendEnvfATIPROC glVertexBlendEnvfATI;
2244 extern glVertexStream2sATIPROC glVertexStream2sATI;
2245 extern glVertexStream2svATIPROC glVertexStream2svATI;
2246 extern glVertexStream2iATIPROC glVertexStream2iATI;
2247 extern glVertexStream2ivATIPROC glVertexStream2ivATI;
2248 extern glVertexStream2fATIPROC glVertexStream2fATI;
2249 extern glVertexStream2fvATIPROC glVertexStream2fvATI;
2250 extern glVertexStream2dATIPROC glVertexStream2dATI;
2251 extern glVertexStream2dvATIPROC glVertexStream2dvATI;
2252 extern glVertexStream3sATIPROC glVertexStream3sATI;
2253 extern glVertexStream3svATIPROC glVertexStream3svATI;
2254 extern glVertexStream3iATIPROC glVertexStream3iATI;
2255 extern glVertexStream3ivATIPROC glVertexStream3ivATI;
2256 extern glVertexStream3fATIPROC glVertexStream3fATI;
2257 extern glVertexStream3fvATIPROC glVertexStream3fvATI;
2258 extern glVertexStream3dATIPROC glVertexStream3dATI;
2259 extern glVertexStream3dvATIPROC glVertexStream3dvATI;
2260 extern glVertexStream4sATIPROC glVertexStream4sATI;
2261 extern glVertexStream4svATIPROC glVertexStream4svATI;
2262 extern glVertexStream4iATIPROC glVertexStream4iATI;
2263 extern glVertexStream4ivATIPROC glVertexStream4ivATI;
2264 extern glVertexStream4fATIPROC glVertexStream4fATI;
2265 extern glVertexStream4fvATIPROC glVertexStream4fvATI;
2266 extern glVertexStream4dATIPROC glVertexStream4dATI;
2267 extern glVertexStream4dvATIPROC glVertexStream4dvATI;
2268 extern glNormalStream3bATIPROC glNormalStream3bATI;
2269 extern glNormalStream3bvATIPROC glNormalStream3bvATI;
2270 extern glNormalStream3sATIPROC glNormalStream3sATI;
2271 extern glNormalStream3svATIPROC glNormalStream3svATI;
2272 extern glNormalStream3iATIPROC glNormalStream3iATI;
2273 extern glNormalStream3ivATIPROC glNormalStream3ivATI;
2274 extern glNormalStream3fATIPROC glNormalStream3fATI;
2275 extern glNormalStream3fvATIPROC glNormalStream3fvATI;
2276 extern glNormalStream3dATIPROC glNormalStream3dATI;
2277 extern glNormalStream3dvATIPROC glNormalStream3dvATI;
2278
2279 #endif /* GL_ATI_vertex_streams */
2280
2281 /*-------------------------------------------------------------------*/
2282 /*------------ATI_VERTEX_ARRAY_OBJECT--------------------------------*/
2283 /*-------------------------------------------------------------------*/
2284
2285 #ifndef GL_ATI_vertex_array_object
2286 #define GL_ATI_vertex_array_object 1
2287
2288 #define GL_STATIC_ATI                                           0x8760
2289 #define GL_DYNAMIC_ATI                                          0x8761
2290 #define GL_PRESERVE_ATI                                         0x8762
2291 #define GL_DISCARD_ATI                                          0x8763
2292 #define GL_OBJECT_BUFFER_SIZE_ATI                               0x8764
2293 #define GL_OBJECT_BUFFER_USAGE_ATI                              0x8765
2294 #define GL_ARRAY_OBJECT_BUFFER_ATI                              0x8766
2295 #define GL_ARRAY_OBJECT_OFFSET_ATI                              0x8767
2296
2297 typedef GLuint (APIENTRY * glNewObjectBufferATIPROC) (GLsizei size, const GLvoid *pointer, GLenum usage);
2298 typedef GLboolean (APIENTRY * glIsObjectBufferATIPROC) (GLuint buffer);
2299 typedef void (APIENTRY * glUpdateObjectBufferATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);
2300 typedef void (APIENTRY * glGetObjectBufferfvATIPROC) (GLuint buffer, GLenum pname, GLfloat *params);
2301 typedef void (APIENTRY * glGetObjectBufferivATIPROC) (GLuint buffer, GLenum pname, GLint *params);
2302 typedef void (APIENTRY * glFreeObjectBufferATIPROC) (GLuint buffer);
2303 typedef void (APIENTRY * glArrayObjectATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
2304 typedef void (APIENTRY * glGetArrayObjectfvATIPROC) (GLenum array, GLenum pname, GLfloat *params);
2305 typedef void (APIENTRY * glGetArrayObjectivATIPROC) (GLenum array, GLenum pname, GLint *params);
2306 typedef void (APIENTRY * glVariantArrayObjectATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
2307 typedef void (APIENTRY * glGetVariantArrayObjectfvATIPROC) (GLuint id, GLenum pname, GLfloat *params);
2308 typedef void (APIENTRY * glGetVariantArrayObjectivATIPROC) (GLuint id, GLenum pname, GLint *params);
2309
2310 extern glNewObjectBufferATIPROC glNewObjectBufferATI;
2311 extern glIsObjectBufferATIPROC glIsObjectBufferATI;
2312 extern glUpdateObjectBufferATIPROC glUpdateObjectBufferATI;
2313 extern glGetObjectBufferfvATIPROC glGetObjectBufferfvATI;
2314 extern glGetObjectBufferivATIPROC glGetObjectBufferivATI;
2315 extern glFreeObjectBufferATIPROC glFreeObjectBufferATI;
2316 extern glArrayObjectATIPROC glArrayObjectATI;
2317 extern glGetArrayObjectfvATIPROC glGetArrayObjectfvATI;
2318 extern glGetArrayObjectivATIPROC glGetArrayObjectivATI;
2319 extern glVariantArrayObjectATIPROC glVariantArrayObjectATI;
2320 extern glGetVariantArrayObjectfvATIPROC glGetVariantArrayObjectfvATI;
2321 extern glGetVariantArrayObjectivATIPROC glGetVariantArrayObjectivATI;
2322
2323 #endif /* GL_ATI_vertex_array_object */
2324
2325 /*-------------------------------------------------------------------*/
2326 /*------------HP_OCCLUSION_TEST--------------------------------------*/
2327 /*-------------------------------------------------------------------*/
2328
2329 #ifndef GL_HP_occlusion_test
2330 #define GL_HP_occlusion_test 1
2331
2332 #define GL_OCCLUSION_TEST_HP                                    0x8165;
2333 #define GL_OCCLUSION_TEST_RESULT_HP                             0x8166;
2334
2335 #endif /* GL_HP_occlusion_test */
2336
2337 /*-------------------------------------------------------------------*/
2338 /*------------ATIX_POINT_SPRITES-------------------------------------*/
2339 /*-------------------------------------------------------------------*/
2340
2341 #ifndef GL_ATIX_point_sprites
2342 #define GL_ATIX_point_sprites 1
2343
2344 #define GL_TEXTURE_POINT_MODE_ATIX                              0x60b0
2345 #define GL_TEXTURE_POINT_ONE_COORD_ATIX                         0x60b1
2346 #define GL_TEXTURE_POINT_SPRITE_ATIX                            0x60b2
2347 #define GL_POINT_SPRITE_CULL_MODE_ATIX                          0x60b3
2348 #define GL_POINT_SPRITE_CULL_CENTER_ATIX                        0x60b4
2349 #define GL_POINT_SPRITE_CULL_CLIP_ATIX                          0x60b5
2350
2351 #endif /* GL_ATIX_point_sprites */
2352
2353 /*-------------------------------------------------------------------*/
2354 /*------------ATIX_TEXTURE_ENV_ROUTE---------------------------------*/
2355 /*-------------------------------------------------------------------*/
2356
2357 #ifndef GL_ATIX_texture_env_route
2358 #define GL_ATIX_texture_env_route 1
2359
2360 #define GL_SECONDARY_COLOR_ATIX                                 0x8747
2361 #define GL_TEXTURE_OUTPUT_RGB_ATIX                              0x8748
2362 #define GL_TEXTURE_OUTPUT_ALPHA_ATIX                            0x8749
2363
2364 #endif /* GL_ATIX_texture_env_route */
2365
2366 /*-------------------------------------------------------------------*/
2367 /*------------NV_DEPTH_CLAMP-----------------------------------------*/
2368 /*-------------------------------------------------------------------*/
2369
2370 #ifndef GL_NV_depth_clamp
2371 #define GL_NV_depth_clamp 1
2372
2373 #define GL_DEPTH_CLAMP_NV                                       0x864F
2374
2375 #endif /* GL_NV_depth_clamp */
2376
2377 /*-------------------------------------------------------------------*/
2378 /*------------NV_OCCLUSION_QUERY-------------------------------------*/
2379 /*-------------------------------------------------------------------*/
2380
2381 #ifndef GL_NV_occlusion_query
2382 #define GL_NV_occlusion_query 1
2383
2384 #ifndef GL_HP_occlusion_test
2385 #define GL_OCCLUSION_TEST_HP                                    0x8165
2386 #define GL_OCCLUSION_TEST_RESULT_HP                             0x8166
2387 #endif /* GL_HP_occlusion_test */
2388 #define GL_PIXEL_COUNTER_BITS_NV                                0x8864
2389 #define GL_CURRENT_OCCLUSION_QUERY_ID_NV                        0x8865
2390 #define GL_PIXEL_COUNT_NV                                       0x8866
2391 #define GL_PIXEL_COUNT_AVAILABLE_NV                             0x8867
2392
2393 typedef void (APIENTRY * glGenOcclusionQueriesNVPROC) (GLsizei n, GLuint *ids);
2394 typedef void (APIENTRY * glDeleteOcclusionQueriesNVPROC) (GLsizei n, const GLuint *ids);
2395 typedef GLboolean (APIENTRY * glIsOcclusionQueryNVPROC) (GLuint id);
2396 typedef void (APIENTRY * glBeginOcclusionQueryNVPROC) (GLuint id);
2397 typedef void (APIENTRY * glEndOcclusionQueryNVPROC) (void);
2398 typedef void (APIENTRY * glGetOcclusionQueryivNVPROC) (GLuint id, GLenum pname, GLint *params);
2399 typedef void (APIENTRY * glGetOcclusionQueryuivNVPROC) (GLuint id, GLenum pname, GLuint *params);
2400
2401 extern glGenOcclusionQueriesNVPROC glGenOcclusionQueriesNV;
2402 extern glDeleteOcclusionQueriesNVPROC glDeleteOcclusionQueriesNV;
2403 extern glIsOcclusionQueryNVPROC glIsOcclusionQueryNV;
2404 extern glBeginOcclusionQueryNVPROC glBeginOcclusionQueryNV;
2405 extern glEndOcclusionQueryNVPROC glEndOcclusionQueryNV;
2406 extern glGetOcclusionQueryivNVPROC glGetOcclusionQueryivNV;
2407 extern glGetOcclusionQueryuivNVPROC glGetOcclusionQueryuivNV;
2408
2409 #endif /* GL_NV_occlusion_query */
2410
2411 /*-------------------------------------------------------------------*/
2412 /*------------NV_POINT_SPRITE----------------------------------------*/
2413 /*-------------------------------------------------------------------*/
2414
2415 #ifndef GL_NV_point_sprite
2416 #define GL_NV_point_sprite 1
2417
2418 #define GL_POINT_SPRITE_NV                                      0x8861
2419 #define GL_COORD_REPLACE_NV                                     0x8862
2420 #define GL_POINT_SPRITE_R_MODE_NV                               0x8863
2421
2422 typedef void (APIENTRY * glPointParameteriNVPROC) (GLenum pname, GLint param);
2423 typedef void (APIENTRY * glPointParameterivNVPROC) (GLenum pname, const GLint *params);
2424
2425 extern glPointParameteriNVPROC glPointParameteriNV;
2426 extern glPointParameterivNVPROC glPointParameterivNV;
2427
2428 #endif /* GL_NV_point_sprite */
2429
2430 /*-------------------------------------------------------------------*/
2431 /*------------NV_TEXTURE_SHADER3-------------------------------------*/
2432 /*-------------------------------------------------------------------*/
2433
2434 #ifndef GL_NV_texture_shader3
2435 #define GL_NV_texture_shader3 1
2436
2437 #define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV                      0x8850
2438 #define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV                0x8851
2439 #define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV               0x8852
2440 #define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV         0x8853
2441 #define GL_OFFSET_HILO_TEXTURE_2D_NV                            0x8854
2442 #define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV                     0x8855
2443 #define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV                 0x8856
2444 #define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV          0x8857
2445 #define GL_DEPENDENT_HILO_TEXTURE_2D_NV                         0x8858
2446 #define GL_DEPENDENT_RGB_TEXTURE_3D_NV                          0x8859
2447 #define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV                    0x885A
2448 #define GL_DOT_PRODUCT_PASS_THROUGH_NV                          0x885B
2449 #define GL_DOT_PRODUCT_TEXTURE_1D_NV                            0x885C
2450 #define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV                  0x885D
2451 #define GL_HILO8_NV                                             0x885E
2452 #define GL_SIGNED_HILO8_NV                                      0x885F
2453 #define GL_FORCE_BLUE_TO_ONE_NV                                 0x8860
2454
2455 #endif /* GL_NV_texture_shader3 */
2456
2457 /*-------------------------------------------------------------------*/
2458 /*------------NV_VERTEX_PROGRAM1_1-----------------------------------*/
2459 /*-------------------------------------------------------------------*/
2460
2461 #ifndef GL_NV_vertex_program1_1
2462 #define GL_NV_vertex_program1_1
2463
2464 #endif /* GL_NV_vertex_program1_1 */
2465
2466 /*-------------------------------------------------------------------*/
2467 /*------------ARB_TEXTURE_MIRRORED_REPEAT----------------------------*/
2468 /*-------------------------------------------------------------------*/
2469
2470 #ifndef GL_ARB_texture_mirrored_repeat
2471 #define GL_ARB_texture_mirrored_repeat 1
2472
2473 #define GL_GL_MIRRORED_REPEAT_ARB                               0x8370
2474
2475 #endif /* GL_ARB_texture_mirrored_repeat */
2476
2477 /*-------------------------------------------------------------------*/
2478 /*------------ARB_SHADOW---------------------------------------------*/
2479 /*-------------------------------------------------------------------*/
2480
2481 #ifndef GL_ARB_shadow
2482 #define GL_ARB_shadow 1
2483
2484 #define GL_TEXTURE_COMPARE_MODE_ARB                             0x884C
2485 #define GL_TEXTURE_COMPARE_FUNC_ARB                             0x884D
2486 #define GL_COMPARE_R_TO_TEXTURE_ARB                             0x884E
2487
2488 #endif /* GL_ARB_shadow */
2489
2490 /*-------------------------------------------------------------------*/
2491 /*------------ARB_SHADOW_AMBIENT-------------------------------------*/
2492 /*-------------------------------------------------------------------*/
2493
2494 #ifndef GL_ARB_shadow_ambient
2495 #define GL_ARB_shadow_ambient 1
2496
2497 #define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB                       0x80BF 
2498
2499 #endif /* GL_ARB_shadow_ambient */
2500
2501 /*-------------------------------------------------------------------*/
2502 /*------------ARB_DEPTH_TEXTURE--------------------------------------*/
2503 /*-------------------------------------------------------------------*/
2504
2505 #ifndef GL_ARB_depth_texture
2506 #define GL_ARB_depth_texture 1
2507
2508 #define GL_DEPTH_COMPONENT16_ARB                                0x81A5
2509 #define GL_DEPTH_COMPONENT24_ARB                                0x81A6
2510 #define GL_DEPTH_COMPONENT32_ARB                                0x81A7
2511 #define GL_TEXTURE_DEPTH_SIZE_ARB                               0x884A
2512 #define GL_DEPTH_TEXTURE_MODE_ARB                               0x884B
2513
2514 #endif /* GL_ARB_depth_texture */
2515
2516 /*-------------------------------------------------------------------*/
2517 /*------------ARB_WINDOW_POS-----------------------------------------*/
2518 /*-------------------------------------------------------------------*/
2519
2520 #ifndef GL_ARB_window_pos
2521 #define GL_ARB_window_pos 1
2522
2523 typedef void (APIENTRY * glWindowPos2dARBPROC) (GLdouble x, GLdouble y);
2524 typedef void (APIENTRY * glWindowPos2fARBPROC) (GLfloat x, GLfloat y);
2525 typedef void (APIENTRY * glWindowPos2iARBPROC) (GLint x, GLint y);
2526 typedef void (APIENTRY * glWindowPos2sARBPROC) (GLshort x, GLshort y);
2527 typedef void (APIENTRY * glWindowPos2dvARBPROC) (const GLdouble *p);
2528 typedef void (APIENTRY * glWindowPos2fvARBPROC) (const GLfloat *p);
2529 typedef void (APIENTRY * glWindowPos2ivARBPROC) (const GLint *p);
2530 typedef void (APIENTRY * glWindowPos2svARBPROC) (const GLshort *p);
2531 typedef void (APIENTRY * glWindowPos3dARBPROC) (GLdouble x, GLdouble y, GLdouble z);
2532 typedef void (APIENTRY * glWindowPos3fARBPROC) (GLfloat x, GLfloat y, GLfloat z);
2533 typedef void (APIENTRY * glWindowPos3iARBPROC) (GLint x, GLint y, GLint z);
2534 typedef void (APIENTRY * glWindowPos3sARBPROC) (GLshort x, GLshort y, GLshort z);
2535 typedef void (APIENTRY * glWindowPos3dvARBPROC) (const GLdouble *p);
2536 typedef void (APIENTRY * glWindowPos3fvARBPROC) (const GLfloat *p);
2537 typedef void (APIENTRY * glWindowPos3ivARBPROC) (const GLint *p);
2538 typedef void (APIENTRY * glWindowPos3svARBPROC) (const GLshort *p);
2539
2540 extern glWindowPos2dARBPROC glWindowPos2dARB;
2541 extern glWindowPos2fARBPROC glWindowPos2fARB;
2542 extern glWindowPos2iARBPROC glWindowPos2iARB;
2543 extern glWindowPos2sARBPROC glWindowPos2sARB;
2544 extern glWindowPos2dvARBPROC glWindowPos2dvARB;
2545 extern glWindowPos2fvARBPROC glWindowPos2fvARB;
2546 extern glWindowPos2ivARBPROC glWindowPos2ivARB;
2547 extern glWindowPos2svARBPROC glWindowPos2svARB;
2548 extern glWindowPos3dARBPROC glWindowPos3dARB;
2549 extern glWindowPos3fARBPROC glWindowPos3fARB;
2550 extern glWindowPos3iARBPROC glWindowPos3iARB;
2551 extern glWindowPos3sARBPROC glWindowPos3sARB;
2552 extern glWindowPos3dvARBPROC glWindowPos3dvARB;
2553 extern glWindowPos3fvARBPROC glWindowPos3fvARB;
2554 extern glWindowPos3ivARBPROC glWindowPos3ivARB;
2555 extern glWindowPos3svARBPROC glWindowPos3svARB;
2556
2557 #endif /* GL_ARB_window_pos */
2558
2559 /*-------------------------------------------------------------------*/
2560 /*------------EXT_SHADOW_FUNCS---------------------------------------*/
2561 /*-------------------------------------------------------------------*/
2562
2563 #ifndef GL_EXT_shadow_funcs
2564 #define GL_EXT_shadow_funcs 1
2565
2566 #endif /* GL_EXT_shadow_funcs */
2567
2568 /*-------------------------------------------------------------------*/
2569 /*------------END GL EXTENSIONS--------------------------------------*/
2570 /*-------------------------------------------------------------------*/
2571
2572 /*-------------------------------------------------------------------*/
2573 /*------------WGL EXTENSIONS HERE------------------------------------*/
2574 /*-------------------------------------------------------------------*/
2575
2576 #ifdef WIN32
2577
2578 /*-------------------------------------------------------------------*/
2579 /*------------WGL_EXT_EXTENSION_STRING-------------------------------*/
2580 /*-------------------------------------------------------------------*/
2581
2582 #ifndef WGL_EXT_extensions_string
2583 #define WGL_EXT_extensions_string 1
2584
2585 typedef const char* (APIENTRY * wglGetExtensionsStringEXTPROC) ();
2586
2587 extern wglGetExtensionsStringEXTPROC wglGetExtensionsStringEXT;
2588
2589 #endif /* WGL_EXT_extensions_string */
2590
2591 /*-------------------------------------------------------------------*/
2592 /*------------WGL_ARB_BUFFER_REGION----------------------------------*/
2593 /*-------------------------------------------------------------------*/
2594
2595 #ifndef WGL_ARB_buffer_region
2596 #define WGL_ARB_buffer_region 1
2597
2598 #define WGL_FRONT_COLOR_BUFFER_BIT_ARB                          0x00000001
2599 #define WGL_BACK_COLOR_BUFFER_BIT_ARB                           0x00000002
2600 #define WGL_DEPTH_BUFFER_BIT_ARB                                0x00000004
2601 #define WGL_STENCIL_BUFFER_BIT_ARB                              0x00000008
2602
2603 typedef HANDLE (APIENTRY * wglCreateBufferRegionARBPROC) (HDC hDC, int iLayerPlane, UINT uType);
2604 typedef VOID (APIENTRY * wglDeleteBufferRegionARBPROC) (HANDLE hRegion);
2605 typedef BOOL (APIENTRY * wglSaveBufferRegionARBPROC) (HANDLE hRegion, int x, int y, int width, int height);
2606 typedef BOOL (APIENTRY * wglRestoreBufferRegionARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
2607
2608 extern wglCreateBufferRegionARBPROC wglCreateBufferRegionARB;
2609 extern wglDeleteBufferRegionARBPROC wglDeleteBufferRegionARB;
2610 extern wglSaveBufferRegionARBPROC wglSaveBufferRegionARB;
2611 extern wglRestoreBufferRegionARBPROC wglRestoreBufferRegionARB;
2612
2613 #endif /* WGL_ARB_buffer_region */
2614
2615 /*-------------------------------------------------------------------*/
2616 /*------------WGL_ARB_EXTENSION_STRING-------------------------------*/
2617 /*-------------------------------------------------------------------*/
2618
2619 #ifndef WGL_ARB_extensions_string
2620 #define WGL_ARB_extensions_string 1
2621
2622 typedef const char* (APIENTRY * wglGetExtensionsStringARBPROC) (HDC hdc);
2623
2624 extern wglGetExtensionsStringARBPROC wglGetExtensionsStringARB;
2625
2626 #endif /* WGL_ARB_extensions_string */
2627
2628 /*-------------------------------------------------------------------*/
2629 /*------------WGL_ARB_PBUFFER----------------------------------------*/
2630 /*-------------------------------------------------------------------*/
2631
2632 #ifndef WGL_ARB_pbuffer
2633 #define WGL_ARB_pbuffer 1
2634
2635 #define WGL_DRAW_TO_PBUFFER_ARB                                 0x202D
2636 #define WGL_DRAW_TO_PBUFFER_ARB                                 0x202D
2637 #define WGL_MAX_PBUFFER_PIXELS_ARB                              0x202E
2638 #define WGL_MAX_PBUFFER_WIDTH_ARB                               0x202F
2639 #define WGL_MAX_PBUFFER_HEIGHT_ARB                              0x2030
2640 #define WGL_PBUFFER_LARGEST_ARB                                 0x2033
2641 #define WGL_PBUFFER_WIDTH_ARB                                   0x2034
2642 #define WGL_PBUFFER_HEIGHT_ARB                                  0x2035
2643 #define WGL_PBUFFER_LOST_ARB                                    0x2036
2644
2645 DECLARE_HANDLE(HPBUFFERARB);
2646
2647 typedef HPBUFFERARB (APIENTRY * wglCreatePbufferARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
2648 typedef HDC (APIENTRY * wglGetPbufferDCARBPROC) (HPBUFFERARB hPbuffer);
2649 typedef int (APIENTRY * wglReleasePbufferDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
2650 typedef BOOL (APIENTRY * wglDestroyPbufferARBPROC) (HPBUFFERARB hPbuffer);
2651 typedef BOOL (APIENTRY * wglQueryPbufferARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
2652
2653 extern wglCreatePbufferARBPROC wglCreatePbufferARB;
2654 extern wglGetPbufferDCARBPROC wglGetPbufferDCARB;
2655 extern wglReleasePbufferDCARBPROC wglReleasePbufferDCARB;
2656 extern wglDestroyPbufferARBPROC wglDestroyPbufferARB;
2657 extern wglQueryPbufferARBPROC wglQueryPbufferARB;
2658
2659 #endif /* WGL_ARB_pbuffer */
2660
2661 /*-------------------------------------------------------------------*/
2662 /*------------WGL_ARB_PIXEL_FORMAT-----------------------------------*/
2663 /*-------------------------------------------------------------------*/
2664
2665 #ifndef WGL_ARB_pixel_format
2666 #define WGL_ARB_pixel_format 1
2667
2668 #define WGL_NUMBER_PIXEL_FORMATS_ARB                            0x2000
2669 #define WGL_DRAW_TO_WINDOW_ARB                                  0x2001
2670 #define WGL_DRAW_TO_BITMAP_ARB                                  0x2002
2671 #define WGL_ACCELERATION_ARB                                    0x2003
2672 #define WGL_NEED_PALETTE_ARB                                    0x2004
2673 #define WGL_NEED_SYSTEM_PALETTE_ARB                             0x2005
2674 #define WGL_SWAP_LAYER_BUFFERS_ARB                              0x2006
2675 #define WGL_SWAP_METHOD_ARB                                     0x2007
2676 #define WGL_NUMBER_OVERLAYS_ARB                                 0x2008
2677 #define WGL_NUMBER_UNDERLAYS_ARB                                0x2009
2678 #define WGL_TRANSPARENT_ARB                                     0x200A
2679 #define WGL_TRANSPARENT_RED_VALUE_ARB                           0x2037
2680 #define WGL_TRANSPARENT_GREEN_VALUE_ARB                         0x2038
2681 #define WGL_TRANSPARENT_BLUE_VALUE_ARB                          0x2039
2682 #define WGL_TRANSPARENT_ALPHA_VALUE_ARB                         0x203A
2683 #define WGL_TRANSPARENT_INDEX_VALUE_ARB                         0x203B
2684 #define WGL_SHARE_DEPTH_ARB                                     0x200C
2685 #define WGL_SHARE_STENCIL_ARB                                   0x200D
2686 #define WGL_SHARE_ACCUM_ARB                                     0x200E
2687 #define WGL_SUPPORT_GDI_ARB                                     0x200F
2688 #define WGL_SUPPORT_OPENGL_ARB                                  0x2010
2689 #define WGL_DOUBLE_BUFFER_ARB                                   0x2011
2690 #define WGL_STEREO_ARB                                          0x2012
2691 #define WGL_PIXEL_TYPE_ARB                                      0x2013
2692 #define WGL_COLOR_BITS_ARB                                      0x2014
2693 #define WGL_RED_BITS_ARB                                        0x2015
2694 #define WGL_RED_SHIFT_ARB                                       0x2016
2695 #define WGL_GREEN_BITS_ARB                                      0x2017
2696 #define WGL_GREEN_SHIFT_ARB                                     0x2018
2697 #define WGL_BLUE_BITS_ARB                                       0x2019
2698 #define WGL_BLUE_SHIFT_ARB                                      0x201A
2699 #define WGL_ALPHA_BITS_ARB                                      0x201B
2700 #define WGL_ALPHA_SHIFT_ARB                                     0x201C
2701 #define WGL_ACCUM_BITS_ARB                                      0x201D
2702 #define WGL_ACCUM_RED_BITS_ARB                                  0x201E
2703 #define WGL_ACCUM_GREEN_BITS_ARB                                0x201F
2704 #define WGL_ACCUM_BLUE_BITS_ARB                                 0x2020
2705 #define WGL_ACCUM_ALPHA_BITS_ARB                                0x2021
2706 #define WGL_DEPTH_BITS_ARB                                      0x2022
2707 #define WGL_STENCIL_BITS_ARB                                    0x2023
2708 #define WGL_AUX_BUFFERS_ARB                                     0x2024
2709 #define WGL_NO_ACCELERATION_ARB                                 0x2025
2710 #define WGL_GENERIC_ACCELERATION_ARB                            0x2026
2711 #define WGL_FULL_ACCELERATION_ARB                               0x2027
2712 #define WGL_SWAP_EXCHANGE_ARB                                   0x2028
2713 #define WGL_SWAP_COPY_ARB                                       0x2029
2714 #define WGL_SWAP_UNDEFINED_ARB                                  0x202A
2715 #define WGL_TYPE_RGBA_ARB                                       0x202B
2716 #define WGL_TYPE_COLORINDEX_ARB                                 0x202C
2717
2718 typedef BOOL (APIENTRY * wglGetPixelFormatAttribivARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
2719 typedef BOOL (APIENTRY * wglGetPixelFormatAttribfvARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
2720 typedef BOOL (APIENTRY * wglChoosePixelFormatARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
2721
2722 extern wglGetPixelFormatAttribivARBPROC wglGetPixelFormatAttribivARB;
2723 extern wglGetPixelFormatAttribfvARBPROC wglGetPixelFormatAttribfvARB;
2724 extern wglChoosePixelFormatARBPROC wglChoosePixelFormatARB;
2725
2726 #endif /* WGL_ARB_pixel_format */
2727
2728 /*-------------------------------------------------------------------*/
2729 /*------------WGL_ARB_RENDER_TEXTURE---------------------------------*/
2730 /*-------------------------------------------------------------------*/
2731
2732 #ifndef WGL_ARB_render_texture
2733 #define WGL_ARB_render_texture 1
2734
2735 #define WGL_BIND_TO_TEXTURE_RGB_ARB                             0x2070
2736 #define WGL_BIND_TO_TEXTURE_RGBA_ARB                            0x2071
2737 #define WGL_TEXTURE_FORMAT_ARB                                  0x2072
2738 #define WGL_TEXTURE_TARGET_ARB                                  0x2073
2739 #define WGL_MIPMAP_TEXTURE_ARB                                  0x2074
2740 #define WGL_TEXTURE_RGB_ARB                                     0x2075
2741 #define WGL_TEXTURE_RGBA_ARB                                    0x2076
2742 #define WGL_NO_TEXTURE_ARB                                      0x2077
2743 #define WGL_TEXTURE_CUBE_MAP_ARB                                0x2078
2744 #define WGL_TEXTURE_1D_ARB                                      0x2079
2745 #define WGL_TEXTURE_2D_ARB                                      0x207A
2746 #define WGL_NO_TEXTURE_ARB                                      0x2077
2747 #define WGL_MIPMAP_LEVEL_ARB                                    0x207B
2748 #define WGL_CUBE_MAP_FACE_ARB                                   0x207C
2749 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB                     0x207D
2750 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB                     0x207E
2751 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB                     0x207F
2752 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB                     0x2080
2753 #define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB                     0x2081
2754 #define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB                     0x2082
2755 #define WGL_FRONT_LEFT_ARB                                      0x2083
2756 #define WGL_FRONT_RIGHT_ARB                                     0x2084
2757 #define WGL_BACK_LEFT_ARB                                       0x2085
2758 #define WGL_BACK_RIGHT_ARB                                      0x2086
2759 #define WGL_AUX0_ARB                                            0x2087
2760 #define WGL_AUX1_ARB                                            0x2088
2761 #define WGL_AUX2_ARB                                            0x2089
2762 #define WGL_AUX3_ARB                                            0x208A
2763 #define WGL_AUX4_ARB                                            0x208B
2764 #define WGL_AUX5_ARB                                            0x208C
2765 #define WGL_AUX6_ARB                                            0x208D
2766 #define WGL_AUX7_ARB                                            0x208E
2767 #define WGL_AUX8_ARB                                            0x208F
2768 #define WGL_AUX9_ARB                                            0x2090
2769
2770 typedef BOOL (APIENTRY * wglBindTexImageARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
2771 typedef BOOL (APIENTRY * wglReleaseTexImageARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
2772 typedef BOOL (APIENTRY * wglSetPbufferAttribARBPROC) (HPBUFFERARB hPbuffer, const int *piAttribList);
2773
2774 extern wglBindTexImageARBPROC wglBindTexImageARB;
2775 extern wglReleaseTexImageARBPROC wglReleaseTexImageARB;
2776 extern wglSetPbufferAttribARBPROC wglSetPbufferAttribARB;
2777
2778 #endif /*WGL_ARB_render_texture */
2779
2780 /*-------------------------------------------------------------------*/
2781 /*------------WGL_EXT_SWAP_CONTROL-----------------------------------*/
2782 /*-------------------------------------------------------------------*/
2783
2784 #ifndef WGL_EXT_swap_control
2785 #define WGL_EXT_swap_control 1
2786
2787 typedef BOOL (APIENTRY * wglSwapIntervalEXTPROC) (int interval);
2788 typedef int (APIENTRY * wglGetSwapIntervalEXTPROC) (void);
2789
2790 extern wglSwapIntervalEXTPROC wglSwapIntervalEXT;
2791 extern wglGetSwapIntervalEXTPROC wglGetSwapIntervalEXT;
2792
2793 #endif /* WGL_EXT_swap_control */
2794
2795 /*-------------------------------------------------------------------*/
2796 /*------------WGL_ARB_MAKE_CURRENT_READ------------------------------*/
2797 /*-------------------------------------------------------------------*/
2798
2799 #ifndef WGL_ARB_make_current_read
2800 #define WGL_ARB_make_current_read 1
2801
2802 #define ERROR_INVALID_PIXEL_TYPE_ARB                            0x2043
2803 #define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB                  0x2054
2804
2805 typedef BOOL (APIENTRY * wglMakeContextCurrentARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
2806 typedef HDC (APIENTRY * wglGetCurrentReadDCARBPROC) (void);
2807
2808 extern wglMakeContextCurrentARBPROC wglMakeContextCurrentARB;
2809 extern wglGetCurrentReadDCARBPROC wglGetCurrentReadDCARB;
2810
2811 #endif /* WGL_ARB_make_current_read */
2812
2813 /*-------------------------------------------------------------------*/
2814 /*------------WGL_ARB_MULTISAMPLE------------------------------------*/
2815 /*-------------------------------------------------------------------*/
2816
2817 #ifndef WGL_ARB_multisample
2818 #define WGL_ARB_multisample 1
2819
2820 #define WGL_SAMPLE_BUFFERS_ARB                                  0x2041
2821 #define WGL_SAMPLES_ARB                                         0x2042
2822
2823 #endif /* WGL_ARB_multisample */
2824
2825 /*-------------------------------------------------------------------*/
2826 /*------------END WGL EXTENSIONS-------------------------------------*/
2827 /*-------------------------------------------------------------------*/
2828
2829 #endif /* WIN32 */
2830
2831 /* helper stuff */
2832
2833 /* I use int here because C does not know bool */
2834
2835 #ifdef WIN32
2836
2837 struct WGLExtensionTypes
2838 {
2839     int EXT_extensions_string;
2840     int ARB_buffer_region;
2841     int ARB_extensions_string;
2842     int ARB_pbuffer;
2843     int ARB_pixel_format;
2844     int ARB_render_texture;
2845     int EXT_swap_control;
2846     int ARB_make_current_read;
2847     int ARB_multisample;
2848 };
2849
2850 #endif /* WIN32 */
2851
2852 struct ExtensionTypes
2853 {
2854 #ifdef WIN32 /* WGL extensions */   
2855     struct WGLExtensionTypes wgl;
2856 #endif /* WIN32 */
2857     int ARB_imaging;
2858     int ARB_matrix_palette;
2859     int ARB_multisample;
2860     int ARB_multitexture;
2861     int ARB_point_parameters;
2862     int ARB_texture_compression;
2863     int ARB_texture_env_add;
2864     int ARB_texture_env_dot3;
2865     int ARB_texture_env_combine;
2866     int ARB_texture_env_crossbar;
2867     int ARB_texture_border_clamp;
2868     int ARB_texture_cube_map;
2869     int ARB_transpose_matrix;
2870     int ARB_vertex_blend;
2871     int EXT_abgr;
2872     int EXT_compiled_vertex_array;
2873     int EXT_fog_coord;
2874     int EXT_multi_draw_arrays;
2875     int EXT_point_parameters;
2876     int EXT_secondary_color;
2877     int EXT_stencil_wrap;
2878     int EXT_texture_filter_anisotropic;
2879     int EXT_texture_lod_bias;
2880     int EXT_vertex_shader;
2881     int EXT_vertex_weighting;
2882     int ATI_element_array;
2883     int ATI_envmap_bumpmap;
2884     int ATI_fragment_shader;
2885     int ATI_pn_triangles;
2886     int ATI_texture_mirror_once;
2887     int ATI_vertex_array_object;
2888     int ATI_vertex_streams;
2889     int ATIX_point_sprites;
2890     int ATIX_texture_env_route;
2891     int HP_occlusion_test;
2892     int NV_blend_square;
2893     int NV_copy_depth_to_color;
2894     int NV_depth_clamp;
2895     int NV_evaluators;
2896     int NV_fence;
2897     int NV_fog_distance;
2898     int NV_light_max_exponent;
2899     int NV_occlusion_query;
2900     int NV_packed_depth_stencil;
2901     int NV_point_sprite;
2902     int NV_register_combiners;
2903     int NV_register_combiners2;
2904     int NV_texgen_reflection;
2905     int NV_texture_env_combine4;
2906     int NV_texture_rectangle;
2907     int NV_texture_shader;
2908     int NV_texture_shader2;
2909     int NV_texture_shader3;
2910     int NV_vertex_array_range;
2911     int NV_vertex_array_range2;
2912     int NV_vertex_program;
2913     int NV_vertex_program1_1;
2914     int SGIS_generate_mipmap;
2915     int SGIX_shadow;
2916     int SGIX_depth_texture;
2917     int OpenGL12;
2918     int OpenGL13;
2919     int ARB_texture_mirrored_repeat;
2920     int ARB_depth_texture;
2921     int ARB_shadow_ambient;
2922     int ARB_shadow;
2923     int ARB_window_pos;
2924     int EXT_shadow_funcs;
2925 };
2926
2927 extern struct ExtensionTypes SupportedExtensions;
2928
2929 /* initializes everything, call this right after the rc is created. the function returns 0 if successful */
2930 int glInitialize();
2931
2932 int QueryExtension(const char *name);
2933
2934 /* WGL stuff */
2935
2936 #ifdef WIN32
2937
2938 /* sets the DC */
2939
2940 void _wglSetDC(HDC dc);
2941
2942 #endif /* WIN32 */
2943
2944 /* helpers end */
2945
2946 #ifdef __cplusplus
2947 }
2948 #endif
2949
2950 #endif /* __EXTGL_H__ */