2 Copyright (c) 2001-2002 Lev Povalahev
6 http://www.uni-karlsruhe.de/~uli2/
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.
15 # include <simgear_config.h>
18 /*-----------------------------------------*/
19 /*-----------------------------------------*/
21 //#if defined(WIN32) && !defined(APIENTRY)
22 //#define WIN32_LEAN_AND_MEAN 1
43 #define GL_VERSION_1_2 1
44 #define GL_VERSION_1_3 1
45 #define GL_ARB_imaging 1
47 /* 1.2 and 1.3 enumerants */
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
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
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
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
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
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
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
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
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
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
267 #define GL_DOT3_RGB 0x86AE
268 #define GL_DOT3_RGBA 0x86AF
270 #define GL_CLAMP_TO_BORDER 0x812D
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 );
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 );
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;
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;
451 /*-------------------------------------------------------------------*/
452 /*------------EXTENSIONS---------------------------------------------*/
453 /*-------------------------------------------------------------------*/
455 /*-------------------------------------------------------------------*/
456 /*------------ARB_MULTITEXTURE---------------------------------------*/
457 /*-------------------------------------------------------------------*/
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
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;
532 #endif /* GL_ARB_multitexture */
534 /*-------------------------------------------------------------------*/
535 /*------------ARB_TRANSPOSE_MATRIX-----------------------------------*/
536 /*-------------------------------------------------------------------*/
538 #ifndef GL_ARB_transpose_matrix
539 #define GL_ARB_transpose_matrix 1
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
546 extern glLoadTransposeMatrixfPROC glLoadTransposeMatrixfARB;
547 extern glLoadTransposeMatrixdPROC glLoadTransposeMatrixdARB;
548 extern glMultTransposeMatrixfPROC glMultTransposeMatrixfARB;
549 extern glMultTransposeMatrixdPROC glMultTransposeMatrixdARB;
551 #endif /* GL_ARB_transpose_matrix */
553 /*-------------------------------------------------------------------*/
554 /*------------ARB_TEXTURE_COMPRESSION--------------------------------*/
555 /*-------------------------------------------------------------------*/
557 #ifndef GL_ARB_texture_compression
558 #define GL_ARB_texture_compression 1
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
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;
580 #endif /* GL_ARB_texture_compression */
582 /*-------------------------------------------------------------------*/
583 /*------------ARB_CUBE_MAP-------------------------------------------*/
584 /*-------------------------------------------------------------------*/
586 #ifndef GL_ARB_texture_cube_map
587 #define GL_ARB_texture_cube_map 1
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
602 #endif /* GL_ARB_texture_cube_map */
604 /*-------------------------------------------------------------------*/
605 /*------------SGIX_SHADOW--------------------------------------------*/
606 /*-------------------------------------------------------------------*/
608 #ifndef GL_SGIX_shadow
609 #define GL_SGIX_shadow 1
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
616 #endif /* GL_SGIX_shadow */
618 /*-------------------------------------------------------------------*/
619 /*------------SGIX_DEPTH_TEXTURE-------------------------------------*/
620 /*-------------------------------------------------------------------*/
622 #ifndef GL_SGIX_depth_texture
623 #define GL_SGIX_depth_texture 1
625 #define GL_DEPTH_COMPONENT16_SGIX 0x81A5
626 #define GL_DEPTH_COMPONENT24_SGIX 0x81A6
627 #define GL_DEPTH_COMPONENT32_SGIX 0x81A7
629 #endif /* GL_SGIX_depth_texture */
631 /*-------------------------------------------------------------------*/
632 /*------------EXT_COMPILED_VERTEX_ARRAY------------------------------*/
633 /*-------------------------------------------------------------------*/
635 #ifndef GL_EXT_compiled_vertex_array
636 #define GL_EXT_compiled_vertex_array 1
638 #define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8
639 #define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9
641 typedef void (APIENTRY * glLockArraysEXTPROC) (GLint first, GLsizei count);
642 typedef void (APIENTRY * glUnlockArraysEXTPROC) ();
644 extern glLockArraysEXTPROC glLockArraysEXT;
645 extern glUnlockArraysEXTPROC glUnlockArraysEXT;
647 #endif /* GL_EXT_compiled_vertex_array */
649 /*-------------------------------------------------------------------*/
650 /*------------ARB_TEXTURE_ENV_COMBINE--------------------------------*/
651 /*-------------------------------------------------------------------*/
653 #ifndef GL_ARB_texture_env_combine
654 #define GL_ARB_texture_env_combine 1
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
678 #endif /* GL_ARB_texture_env_combine */
680 /*-------------------------------------------------------------------*/
681 /*------------ARB_TEXTURE_ENV_DOT3-----------------------------------*/
682 /*-------------------------------------------------------------------*/
684 #ifndef GL_ARB_texture_env_dot3
685 #define GL_ARB_texture_env_dot3 1
687 #define GL_DOT3_RGB_ARB 0x86AE
688 #define GL_DOT3_RGBA_ARB 0x86AF
690 #endif /* GL_ARB_texture_env_dot3 */
692 /*-------------------------------------------------------------------*/
693 /*------------ARB_TEXTURE_BORDER_CLAMP-------------------------------*/
694 /*-------------------------------------------------------------------*/
696 #ifndef GL_ARB_texture_border_clamp
697 #define GL_ARB_texture_border_clamp 1
699 #define GL_CLAMP_TO_BORDER_ARB 0x812D
701 #endif /* GL_ARB_texture_border_clamp */
703 /*-------------------------------------------------------------------*/
704 /*------------ARB_TEXTURE_ENV_ADD------------------------------------*/
705 /*-------------------------------------------------------------------*/
707 #ifndef GL_ARB_texture_env_add
708 #define GL_ARB_texture_env_add 1
711 #endif /* GL_ARB_texture_env_add */
713 /*-------------------------------------------------------------------*/
714 /*------------EXT_SECONDARY_COLOR------------------------------------*/
715 /*-------------------------------------------------------------------*/
717 #ifndef GL_EXT_secondary_color
718 #define GL_EXT_secondary_color 1
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
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);
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;
764 #endif /* GL_EXT_secondary_color */
766 /*-------------------------------------------------------------------*/
767 /*------------EXT_FOG_COORD------------------------------------------*/
768 /*-------------------------------------------------------------------*/
770 #ifndef GL_EXT_fog_coord
771 #define GL_EXT_fog_coord 1
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
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);
788 extern glFogCoordfEXTPROC glFogCoordfEXT;
789 extern glFogCoordfvEXTPROC glFogCoordfvEXT;
790 extern glFogCoorddEXTPROC glFogCoorddEXT;
791 extern glFogCoorddvEXTPROC glFogCoorddvEXT;
792 extern glFogCoordPointerEXTPROC glFogCoordPointerEXT;
794 #endif /* GL_EXT_fog_coord */
796 /*-------------------------------------------------------------------*/
797 /*------------NV_VERTEX_ARRAY_RANGE----------------------------------*/
798 /*-------------------------------------------------------------------*/
800 #ifndef GL_NV_vertex_array_range
801 #define GL_NV_vertex_array_range 1
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
809 typedef void (APIENTRY * glFlushVertexArrayRangeNVPROC) (void);
810 typedef void (APIENTRY * glVertexArrayRangeNVPROC) (GLsizei size, const GLvoid *pointer);
812 extern glFlushVertexArrayRangeNVPROC glFlushVertexArrayRangeNV;
813 extern glVertexArrayRangeNVPROC glVertexArrayRangeNV;
817 typedef void * (APIENTRY * wglAllocateMemoryNVPROC) (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority);
818 typedef void (APIENTRY * wglFreeMemoryNVPROC) (void *pointer);
820 extern wglAllocateMemoryNVPROC wglAllocateMemoryNV;
821 extern wglFreeMemoryNVPROC wglFreeMemoryNV;
825 #endif /* GL_NV_vertex_array_range */
827 /*-------------------------------------------------------------------*/
828 /*------------NV_VERTEX_ARRAY_RANGE2---------------------------------*/
829 /*-------------------------------------------------------------------*/
831 #ifndef GL_NV_vertex_array_range2
832 #define GL_NV_vertex_array_range2 1
834 #define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533
836 #endif /* GL_NV_vertex_array_range2 */
838 /*-------------------------------------------------------------------*/
839 /*------------EXT_POINT_PARAMETERS-----------------------------------*/
840 /*-------------------------------------------------------------------*/
842 #ifndef GL_EXT_point_parameters
843 #define GL_EXT_point_parameters 1
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
850 typedef void (APIENTRY * glPointParameterfEXTPROC) (GLenum pname, GLfloat param);
851 typedef void (APIENTRY * glPointParameterfvEXTPROC) (GLenum pname, const GLfloat *params);
853 extern glPointParameterfEXTPROC glPointParameterfEXT;
854 extern glPointParameterfvEXTPROC glPointParameterfvEXT;
856 #endif /* GL_EXT_point_parameters */
858 /*-------------------------------------------------------------------*/
859 /*------------NV_REGISTER_COMBINERS----------------------------------*/
860 /*-------------------------------------------------------------------*/
862 #ifndef GL_NV_register_combiners
863 #define GL_NV_register_combiners 1
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
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);
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;
945 #endif /* GL_NV_register_combiners */
947 /*-------------------------------------------------------------------*/
948 /*------------ARB_MULTISAMPLE----------------------------------------*/
949 /*-------------------------------------------------------------------*/
951 #ifndef GL_ARB_multisample
952 #define GL_ARB_multisample 1
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
964 extern glSampleCoveragePROC glSampleCoverageARB;
966 #endif /* GL_ARB_multisample */
968 /*-------------------------------------------------------------------*/
969 /*------------NV_TEXTURE_SHADER--------------------------------------*/
970 /*-------------------------------------------------------------------*/
972 #ifndef GL_NV_texture_shader
973 #define GL_NV_texture_shader 1
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
1046 #endif /* GL_NV_texture_shader */
1048 /*-------------------------------------------------------------------*/
1049 /*------------GL_NV_TEXTURE_RECTANGLE--------------------------------*/
1050 /*-------------------------------------------------------------------*/
1052 #ifndef GL_NV_texture_rectangle
1053 #define GL_NV_texture_rectangle 1
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
1060 #endif /* GL_NV_texture_recrangle */
1062 /*-------------------------------------------------------------------*/
1063 /*------------NV_TEXTURE_ENV_COMBINE4--------------------------------*/
1064 /*-------------------------------------------------------------------*/
1066 #ifndef GL_NV_texture_env_combine4
1067 #define GL_NV_texture_env_combine4 1
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
1075 #endif /* GL_NV_texture_env_combine */
1077 /*-------------------------------------------------------------------*/
1078 /*------------NV_FOG_DISTANCE----------------------------------------*/
1079 /*-------------------------------------------------------------------*/
1081 #ifndef GL_NV_fog_distance
1082 #define GL_NV_fog_distance 1
1084 #define GL_FOG_DISTANCE_MODE_NV 0x855A
1085 #define GL_EYE_RADIAL_NV 0x855B
1086 #define GL_EYE_PLANE_ABSOLUTE_NV 0x855C
1088 #endif /* GL_NV_fog_distance */
1090 /*-------------------------------------------------------------------*/
1091 /*------------EXT_TEXTURE_FILTER_ANISOTROPIC-------------------------*/
1092 /*-------------------------------------------------------------------*/
1094 #ifndef GL_EXT_texture_filter_anisotropic
1095 #define GL_EXT_texture_filter_anisotropic 1
1097 #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
1098 #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
1100 #endif /* GL_EXT_texture_filter_anisotropic */
1102 /*-------------------------------------------------------------------*/
1103 /*------------SGIS_GENERATE_MIPMAP-----------------------------------*/
1104 /*-------------------------------------------------------------------*/
1106 #ifndef GL_SGIS_generate_mipmap
1107 #define GL_SGIS_generate_mipmap 1
1109 #define GL_GENERATE_MIPMAP_SGIS 0x8191
1110 #define GL_GENERATE_MIPMAP_HINT_SGIS 0x8192
1112 #endif /* GL_SGIS_generate_mipmap */
1114 /*-------------------------------------------------------------------*/
1115 /*------------NV_TEXGEN_REFLECTION-----------------------------------*/
1116 /*-------------------------------------------------------------------*/
1118 #ifndef GL_NV_texgen_reflection
1119 #define GL_NV_texgen_reflection 1
1121 #define GL_NORMAL_MAP_NV 0x8511
1122 #define GL_REFLECTION_MAP_NV 0x8512
1124 #endif /* GL_NV_texgen_reflection */
1126 /*-------------------------------------------------------------------*/
1127 /*------------EXT_VERTEX_WEIGHTING-----------------------------------*/
1128 /*-------------------------------------------------------------------*/
1130 #ifndef GL_EXT_vertex_weighting
1131 #define GL_EXT_vertex_weighting 1
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
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);
1151 extern glVertexWeightfEXTPROC glVertexWeightfEXT;
1152 extern glVertexWeightfvEXTPROC glVertexWeightfvEXT;
1153 extern glVertexWeightPointerEXTPROC glVertexWeightPointerEXT;
1155 #endif /* GL_EXT_vertex_weighting */
1157 /*-------------------------------------------------------------------*/
1158 /*------------NV_VERTEX_PROGRAM--------------------------------------*/
1159 /*-------------------------------------------------------------------*/
1161 #ifndef GL_NV_vertex_program
1162 #define GL_NV_vertex_program 1
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
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);
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;
1378 #endif /* GL_NV_vertex_program */
1380 /*-------------------------------------------------------------------*/
1381 /*------------NV_FENCE-----------------------------------------------*/
1382 /*-------------------------------------------------------------------*/
1385 #define GL_NV_fance 1
1387 #define GL_ALL_COMPLETED_NV 0x84F2
1388 #define GL_FENCE_STATUS_NV 0x84F3
1389 #define GL_FENCE_CONDITION_NV 0x84F4
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);
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;
1407 #endif /* GL_NV_fence */
1409 /*-------------------------------------------------------------------*/
1410 /*------------NV_TEXTURE_SHADER2-------------------------------------*/
1411 /*-------------------------------------------------------------------*/
1413 #ifndef GL_NV_texture_shader2
1414 #define GL_NV_texture_shader2
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
1445 #endif /* GL_NV_texture_shader2 */
1447 /*-------------------------------------------------------------------*/
1448 /*------------NV_BLEND_SQUARE----------------------------------------*/
1449 /*-------------------------------------------------------------------*/
1451 #ifndef GL_NV_blend_square
1452 #define GL_NV_blend_square 1
1454 #endif /* GL_NV_blend_square */
1456 /*-------------------------------------------------------------------*/
1457 /*------------NV_LIGHT_MAX_EXPONENT----------------------------------*/
1458 /*-------------------------------------------------------------------*/
1460 #ifndef GL_NV_light_max_exponent
1461 #define GL_NV_light_max_exponent 1
1463 #define GL_MAX_SHININESS_NV 0x8504
1464 #define GL_MAX_SPOT_EXPONENT_NV 0x8505
1466 #endif /* GL_NV_light_max_exponent */
1468 /*-------------------------------------------------------------------*/
1469 /*------------NV_PACKED_DEPTH_STENCIL--------------------------------*/
1470 /*-------------------------------------------------------------------*/
1472 #ifndef GL_NV_packed_depth_stencil
1473 #define GL_NV_packed_depth_stencil 1
1475 #define GL_DEPTH_STENCIL_NV 0x84F9
1476 #define GL_UNSIGNED_INT_24_8_NV 0x84FA
1478 #endif /* GL_NV_packed_depth_stencil */
1480 /*-------------------------------------------------------------------*/
1481 /*------------NV_REGISTER_COMBINERS2---------------------------------*/
1482 /*-------------------------------------------------------------------*/
1484 #ifndef GL_NV_register_combiners2
1485 #define GL_NV_register_combiners2
1487 #define GL_PER_STAGE_CONSTANTS_NV 0x8535
1489 typedef void (APIENTRY * glCombinerStageParameterfvNVPROC) (GLenum stage, GLenum pname, const GLfloat *params);
1490 typedef void (APIENTRY * glGetCombinerStageParameterfvNVPROC) (GLenum stage, GLenum pname, GLfloat *params);
1492 extern glCombinerStageParameterfvNVPROC glCombinerStageParameterfvNV;
1493 extern glGetCombinerStageParameterfvNVPROC glGetCombinerStageParameterfvNV;
1495 #endif /* GL_NV_register_combiners2 */
1497 /*-------------------------------------------------------------------*/
1498 /*------------EXT_ABGR-----------------------------------------------*/
1499 /*-------------------------------------------------------------------*/
1502 #define GL_EXT_abgr 1
1504 #define GL_ABGR_EXT 0x8000
1506 #endif /* GL_EXT_abgr */
1508 /*-------------------------------------------------------------------*/
1509 /*------------EXT_STENCIL_WRAP---------------------------------------*/
1510 /*-------------------------------------------------------------------*/
1512 #ifndef GL_EXT_stencil_wrap
1513 #define GL_EXT_stencil_wrap 1
1515 #define GL_INCR_WRAP_EXT 0x8507
1516 #define GL_DECR_WRAP_EXT 0x8508
1518 #endif /* GL_EXT_stencil_wrap */
1520 /*-------------------------------------------------------------------*/
1521 /*------------EXT_TEXTURE_LOD_BIAS-----------------------------------*/
1522 /*-------------------------------------------------------------------*/
1524 #ifndef GL_EXT_texture_lod_bias
1525 #define GL_EXT_texture_lod_bias 1
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
1531 #endif /* GL_EXT_texture_lod_bias */
1533 /*-------------------------------------------------------------------*/
1534 /*------------NV_EVALUATORS------------------------------------------*/
1535 /*-------------------------------------------------------------------*/
1537 #ifndef GL_NV_evaluators
1538 #define GL_NV_evaluators 1
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
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);
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;
1585 #endif /* GL_NV_evaluators */
1587 /*-------------------------------------------------------------------*/
1588 /*------------NV_COPY_DEPTH_TO_COLOR---------------------------------*/
1589 /*-------------------------------------------------------------------*/
1591 #ifndef GL_NV_copy_depth_to_color
1592 #define GL_NV_copy_depth_to_color 1
1594 #define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E
1595 #define GL_DEPTH_STENCIL_TO_BGRA_NV 0x886F
1597 #endif /* GL_NV_copy_depth_to_color */
1599 /*-------------------------------------------------------------------*/
1600 /*------------ATI_PN_TRIANGLES---------------------------------------*/
1601 /*-------------------------------------------------------------------*/
1603 #ifndef GL_ATI_pn_triangles
1604 #define GL_ATI_pn_triangles 1
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
1616 typedef void (APIENTRY * glPNTrianglesiATIPROC) (GLenum pname, GLint param);
1617 typedef void (APIENTRY * glPNTrianglesfATIPROC) (GLenum pname, GLfloat param);
1619 extern glPNTrianglesiATIPROC glPNTrianglesiATI;
1620 extern glPNTrianglesfATIPROC glPNTrianglesfATI;
1622 #endif /* GL_ATI_pn_triangles */
1624 /*-------------------------------------------------------------------*/
1625 /*------------ARB_POINT_PARAMETERS-----------------------------------*/
1626 /*-------------------------------------------------------------------*/
1628 #ifndef GL_ARB_point_parameters
1629 #define GL_ARB_point_parameters 1
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
1636 typedef void (APIENTRY * glPointParameterfARBPROC) (GLenum pname, GLfloat param);
1637 typedef void (APIENTRY * glPointParameterfvARBPROC) (GLenum pname, GLfloat *params);
1639 extern glPointParameterfARBPROC glPointParameterfARB;
1640 extern glPointParameterfvARBPROC glPointParameterfvARB;
1642 #endif /* GL_ARB_point_parameters */
1644 /*-------------------------------------------------------------------*/
1645 /*------------ARB_TEXTURE_ENV_CROSSBAR-------------------------------*/
1646 /*-------------------------------------------------------------------*/
1648 #ifndef GL_ARB_texture_env_crossbar
1649 #define GL_ARB_texture_env_crossbar 1
1653 /*-------------------------------------------------------------------*/
1654 /*------------ARB_VERTEX_BLEND---------------------------------------*/
1655 /*-------------------------------------------------------------------*/
1657 #ifndef GL_ARB_vertex_blend
1658 #define GL_ARB_vertex_blend 1
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
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);
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;
1725 #endif /* GL_ARB_vertex_blend */
1727 /*-------------------------------------------------------------------*/
1728 /*------------EXT_MULTI_DRAW_ARRAYS----------------------------------*/
1729 /*-------------------------------------------------------------------*/
1731 #ifndef GL_EXT_multi_draw_arrays
1732 #define GL_EXT_multi_draw_arrays 1
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);
1737 extern glMultiDrawArraysEXTPROC glMultiDrawArraysEXT;
1738 extern glMultiDrawElementsEXTPROC glMultiDrawElementsEXT;
1740 #endif /* GL_EXT_multi_draw_arrays */
1742 /*-------------------------------------------------------------------*/
1743 /*------------ARB_MATRIX_PALETTE-------------------------------------*/
1744 /*-------------------------------------------------------------------*/
1746 #ifndef GL_ARB_matrix_palette
1747 #define GL_ARB_matrix_palette 1
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
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);
1766 extern glCurrentPaletteMatrixARBPROC glCurrentPaletteMatrixARB;
1767 extern glMatrixIndexubvARBPROC glMatrixIndexubvARB;
1768 extern glMatrixIndexusvARBPROC glMatrixIndexusvARB;
1769 extern glMatrixIndexuivARBPROC glMatrixIndexuivARB;
1770 extern glMatrixIndexPointerARBPROC glMatrixIndexPointerARB;
1772 #endif /* GL_ARB_matrix_palette */
1774 /*-------------------------------------------------------------------*/
1775 /*------------EXT_VERTEX_SHADER--------------------------------------*/
1776 /*-------------------------------------------------------------------*/
1778 #ifndef GL_EXT_vertex_shader
1779 #define GL_EXT_vertex_shader 1
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
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);
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;
1978 #endif /* GL_EXT_vertex_shader */
1980 /*-------------------------------------------------------------------*/
1981 /*------------ATI_ENVMAP_BUMPMAP-------------------------------------*/
1982 /*-------------------------------------------------------------------*/
1984 #ifndef GL_ATI_envmap_bumpmap
1985 #define GL_ATI_envmap_bumpmap 1
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
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);
2001 extern glTexBumpParameterivATIPROC glTexBumpParameterivATI;
2002 extern glTexBumpParameterfvATIPROC glTexBumpParameterfvATI;
2003 extern glGetTexBumpParameterivATIPROC glGetTexBumpParameterivATI;
2004 extern glGetTexBumpParameterfvATIPROC glGetTexBumpParameterfvATI;
2006 #endif /* GL_ATI_envmap_bumpmap */
2008 /*-------------------------------------------------------------------*/
2009 /*------------ATI_FRAGMENT_SHADER------------------------------------*/
2010 /*-------------------------------------------------------------------*/
2012 #ifndef GL_ATI_fragment_shader
2013 #define GL_ATI_fragment_shader 1
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
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);
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;
2150 #endif /* GL_ATI_fragment_shader */
2152 /*-------------------------------------------------------------------*/
2153 /*------------ATI_TEXTURE_MIRROR_ONCE--------------------------------*/
2154 /*-------------------------------------------------------------------*/
2156 #ifndef GL_ATI_texture_mirror_once
2157 #define GL_ATI_texture_mirror_once 1
2159 #define GL_MIRROR_CLAMP_ATI 0x8742
2160 #define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743
2164 /*-------------------------------------------------------------------*/
2165 /*------------ATI_ELEMENT_ARRAY--------------------------------------*/
2166 /*-------------------------------------------------------------------*/
2168 #ifndef GL_ATI_element_array
2169 #define GL_ATI_element_array 1
2171 #define GL_ELEMENT_ARRAY_ATI 0x8768
2172 #define GL_ELEMENT_ARRAY_TYPE_ATI 0x8769
2173 #define GL_ELEMENT_ARRAY_POINTER_ATI 0x876A
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);
2179 extern glElementPointerATIPROC glElementPointerATI;
2180 extern glDrawElementArrayATIPROC glDrawElementArrayATI;
2181 extern glDrawRangeElementArrayATIPROC glDrawRangeElementArrayATI;
2183 #endif /* GL_ATI_element_array */
2185 /*-------------------------------------------------------------------*/
2186 /*------------ATI_VERTEX_STREAMS-------------------------------------*/
2187 /*-------------------------------------------------------------------*/
2189 #ifndef GL_ATI_vertex_streams
2190 #define GL_ATI_vertex_streams 1
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
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);
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;
2279 #endif /* GL_ATI_vertex_streams */
2281 /*-------------------------------------------------------------------*/
2282 /*------------ATI_VERTEX_ARRAY_OBJECT--------------------------------*/
2283 /*-------------------------------------------------------------------*/
2285 #ifndef GL_ATI_vertex_array_object
2286 #define GL_ATI_vertex_array_object 1
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
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);
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;
2323 #endif /* GL_ATI_vertex_array_object */
2325 /*-------------------------------------------------------------------*/
2326 /*------------HP_OCCLUSION_TEST--------------------------------------*/
2327 /*-------------------------------------------------------------------*/
2329 #ifndef GL_HP_occlusion_test
2330 #define GL_HP_occlusion_test 1
2332 #define GL_OCCLUSION_TEST_HP 0x8165;
2333 #define GL_OCCLUSION_TEST_RESULT_HP 0x8166;
2335 #endif /* GL_HP_occlusion_test */
2337 /*-------------------------------------------------------------------*/
2338 /*------------ATIX_POINT_SPRITES-------------------------------------*/
2339 /*-------------------------------------------------------------------*/
2341 #ifndef GL_ATIX_point_sprites
2342 #define GL_ATIX_point_sprites 1
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
2351 #endif /* GL_ATIX_point_sprites */
2353 /*-------------------------------------------------------------------*/
2354 /*------------ATIX_TEXTURE_ENV_ROUTE---------------------------------*/
2355 /*-------------------------------------------------------------------*/
2357 #ifndef GL_ATIX_texture_env_route
2358 #define GL_ATIX_texture_env_route 1
2360 #define GL_SECONDARY_COLOR_ATIX 0x8747
2361 #define GL_TEXTURE_OUTPUT_RGB_ATIX 0x8748
2362 #define GL_TEXTURE_OUTPUT_ALPHA_ATIX 0x8749
2364 #endif /* GL_ATIX_texture_env_route */
2366 /*-------------------------------------------------------------------*/
2367 /*------------NV_DEPTH_CLAMP-----------------------------------------*/
2368 /*-------------------------------------------------------------------*/
2370 #ifndef GL_NV_depth_clamp
2371 #define GL_NV_depth_clamp 1
2373 #define GL_DEPTH_CLAMP_NV 0x864F
2375 #endif /* GL_NV_depth_clamp */
2377 /*-------------------------------------------------------------------*/
2378 /*------------NV_OCCLUSION_QUERY-------------------------------------*/
2379 /*-------------------------------------------------------------------*/
2381 #ifndef GL_NV_occlusion_query
2382 #define GL_NV_occlusion_query 1
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
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);
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;
2409 #endif /* GL_NV_occlusion_query */
2411 /*-------------------------------------------------------------------*/
2412 /*------------NV_POINT_SPRITE----------------------------------------*/
2413 /*-------------------------------------------------------------------*/
2415 #ifndef GL_NV_point_sprite
2416 #define GL_NV_point_sprite 1
2418 #define GL_POINT_SPRITE_NV 0x8861
2419 #define GL_COORD_REPLACE_NV 0x8862
2420 #define GL_POINT_SPRITE_R_MODE_NV 0x8863
2422 typedef void (APIENTRY * glPointParameteriNVPROC) (GLenum pname, GLint param);
2423 typedef void (APIENTRY * glPointParameterivNVPROC) (GLenum pname, const GLint *params);
2425 extern glPointParameteriNVPROC glPointParameteriNV;
2426 extern glPointParameterivNVPROC glPointParameterivNV;
2428 #endif /* GL_NV_point_sprite */
2430 /*-------------------------------------------------------------------*/
2431 /*------------NV_TEXTURE_SHADER3-------------------------------------*/
2432 /*-------------------------------------------------------------------*/
2434 #ifndef GL_NV_texture_shader3
2435 #define GL_NV_texture_shader3 1
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
2455 #endif /* GL_NV_texture_shader3 */
2457 /*-------------------------------------------------------------------*/
2458 /*------------NV_VERTEX_PROGRAM1_1-----------------------------------*/
2459 /*-------------------------------------------------------------------*/
2461 #ifndef GL_NV_vertex_program1_1
2462 #define GL_NV_vertex_program1_1
2464 #endif /* GL_NV_vertex_program1_1 */
2466 /*-------------------------------------------------------------------*/
2467 /*------------ARB_TEXTURE_MIRRORED_REPEAT----------------------------*/
2468 /*-------------------------------------------------------------------*/
2470 #ifndef GL_ARB_texture_mirrored_repeat
2471 #define GL_ARB_texture_mirrored_repeat 1
2473 #define GL_GL_MIRRORED_REPEAT_ARB 0x8370
2475 #endif /* GL_ARB_texture_mirrored_repeat */
2477 /*-------------------------------------------------------------------*/
2478 /*------------ARB_SHADOW---------------------------------------------*/
2479 /*-------------------------------------------------------------------*/
2481 #ifndef GL_ARB_shadow
2482 #define GL_ARB_shadow 1
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
2488 #endif /* GL_ARB_shadow */
2490 /*-------------------------------------------------------------------*/
2491 /*------------ARB_SHADOW_AMBIENT-------------------------------------*/
2492 /*-------------------------------------------------------------------*/
2494 #ifndef GL_ARB_shadow_ambient
2495 #define GL_ARB_shadow_ambient 1
2497 #define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF
2499 #endif /* GL_ARB_shadow_ambient */
2501 /*-------------------------------------------------------------------*/
2502 /*------------ARB_DEPTH_TEXTURE--------------------------------------*/
2503 /*-------------------------------------------------------------------*/
2505 #ifndef GL_ARB_depth_texture
2506 #define GL_ARB_depth_texture 1
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
2514 #endif /* GL_ARB_depth_texture */
2516 /*-------------------------------------------------------------------*/
2517 /*------------ARB_WINDOW_POS-----------------------------------------*/
2518 /*-------------------------------------------------------------------*/
2520 #ifndef GL_ARB_window_pos
2521 #define GL_ARB_window_pos 1
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);
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;
2557 #endif /* GL_ARB_window_pos */
2559 /*-------------------------------------------------------------------*/
2560 /*------------EXT_SHADOW_FUNCS---------------------------------------*/
2561 /*-------------------------------------------------------------------*/
2563 #ifndef GL_EXT_shadow_funcs
2564 #define GL_EXT_shadow_funcs 1
2566 #endif /* GL_EXT_shadow_funcs */
2568 /*-------------------------------------------------------------------*/
2569 /*------------END GL EXTENSIONS--------------------------------------*/
2570 /*-------------------------------------------------------------------*/
2572 /*-------------------------------------------------------------------*/
2573 /*------------WGL EXTENSIONS HERE------------------------------------*/
2574 /*-------------------------------------------------------------------*/
2578 /*-------------------------------------------------------------------*/
2579 /*------------WGL_EXT_EXTENSION_STRING-------------------------------*/
2580 /*-------------------------------------------------------------------*/
2582 #ifndef WGL_EXT_extensions_string
2583 #define WGL_EXT_extensions_string 1
2585 typedef const char* (APIENTRY * wglGetExtensionsStringEXTPROC) ();
2587 extern wglGetExtensionsStringEXTPROC wglGetExtensionsStringEXT;
2589 #endif /* WGL_EXT_extensions_string */
2591 /*-------------------------------------------------------------------*/
2592 /*------------WGL_ARB_BUFFER_REGION----------------------------------*/
2593 /*-------------------------------------------------------------------*/
2595 #ifndef WGL_ARB_buffer_region
2596 #define WGL_ARB_buffer_region 1
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
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);
2608 extern wglCreateBufferRegionARBPROC wglCreateBufferRegionARB;
2609 extern wglDeleteBufferRegionARBPROC wglDeleteBufferRegionARB;
2610 extern wglSaveBufferRegionARBPROC wglSaveBufferRegionARB;
2611 extern wglRestoreBufferRegionARBPROC wglRestoreBufferRegionARB;
2613 #endif /* WGL_ARB_buffer_region */
2615 /*-------------------------------------------------------------------*/
2616 /*------------WGL_ARB_EXTENSION_STRING-------------------------------*/
2617 /*-------------------------------------------------------------------*/
2619 #ifndef WGL_ARB_extensions_string
2620 #define WGL_ARB_extensions_string 1
2622 typedef const char* (APIENTRY * wglGetExtensionsStringARBPROC) (HDC hdc);
2624 extern wglGetExtensionsStringARBPROC wglGetExtensionsStringARB;
2626 #endif /* WGL_ARB_extensions_string */
2628 /*-------------------------------------------------------------------*/
2629 /*------------WGL_ARB_PBUFFER----------------------------------------*/
2630 /*-------------------------------------------------------------------*/
2632 #ifndef WGL_ARB_pbuffer
2633 #define WGL_ARB_pbuffer 1
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
2645 DECLARE_HANDLE(HPBUFFERARB);
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);
2653 extern wglCreatePbufferARBPROC wglCreatePbufferARB;
2654 extern wglGetPbufferDCARBPROC wglGetPbufferDCARB;
2655 extern wglReleasePbufferDCARBPROC wglReleasePbufferDCARB;
2656 extern wglDestroyPbufferARBPROC wglDestroyPbufferARB;
2657 extern wglQueryPbufferARBPROC wglQueryPbufferARB;
2659 #endif /* WGL_ARB_pbuffer */
2661 /*-------------------------------------------------------------------*/
2662 /*------------WGL_ARB_PIXEL_FORMAT-----------------------------------*/
2663 /*-------------------------------------------------------------------*/
2665 #ifndef WGL_ARB_pixel_format
2666 #define WGL_ARB_pixel_format 1
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
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);
2722 extern wglGetPixelFormatAttribivARBPROC wglGetPixelFormatAttribivARB;
2723 extern wglGetPixelFormatAttribfvARBPROC wglGetPixelFormatAttribfvARB;
2724 extern wglChoosePixelFormatARBPROC wglChoosePixelFormatARB;
2726 #endif /* WGL_ARB_pixel_format */
2728 /*-------------------------------------------------------------------*/
2729 /*------------WGL_ARB_RENDER_TEXTURE---------------------------------*/
2730 /*-------------------------------------------------------------------*/
2732 #ifndef WGL_ARB_render_texture
2733 #define WGL_ARB_render_texture 1
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
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);
2774 extern wglBindTexImageARBPROC wglBindTexImageARB;
2775 extern wglReleaseTexImageARBPROC wglReleaseTexImageARB;
2776 extern wglSetPbufferAttribARBPROC wglSetPbufferAttribARB;
2778 #endif /*WGL_ARB_render_texture */
2780 /*-------------------------------------------------------------------*/
2781 /*------------WGL_EXT_SWAP_CONTROL-----------------------------------*/
2782 /*-------------------------------------------------------------------*/
2784 #ifndef WGL_EXT_swap_control
2785 #define WGL_EXT_swap_control 1
2787 typedef BOOL (APIENTRY * wglSwapIntervalEXTPROC) (int interval);
2788 typedef int (APIENTRY * wglGetSwapIntervalEXTPROC) (void);
2790 extern wglSwapIntervalEXTPROC wglSwapIntervalEXT;
2791 extern wglGetSwapIntervalEXTPROC wglGetSwapIntervalEXT;
2793 #endif /* WGL_EXT_swap_control */
2795 /*-------------------------------------------------------------------*/
2796 /*------------WGL_ARB_MAKE_CURRENT_READ------------------------------*/
2797 /*-------------------------------------------------------------------*/
2799 #ifndef WGL_ARB_make_current_read
2800 #define WGL_ARB_make_current_read 1
2802 #define ERROR_INVALID_PIXEL_TYPE_ARB 0x2043
2803 #define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
2805 typedef BOOL (APIENTRY * wglMakeContextCurrentARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
2806 typedef HDC (APIENTRY * wglGetCurrentReadDCARBPROC) (void);
2808 extern wglMakeContextCurrentARBPROC wglMakeContextCurrentARB;
2809 extern wglGetCurrentReadDCARBPROC wglGetCurrentReadDCARB;
2811 #endif /* WGL_ARB_make_current_read */
2813 /*-------------------------------------------------------------------*/
2814 /*------------WGL_ARB_MULTISAMPLE------------------------------------*/
2815 /*-------------------------------------------------------------------*/
2817 #ifndef WGL_ARB_multisample
2818 #define WGL_ARB_multisample 1
2820 #define WGL_SAMPLE_BUFFERS_ARB 0x2041
2821 #define WGL_SAMPLES_ARB 0x2042
2823 #endif /* WGL_ARB_multisample */
2825 /*-------------------------------------------------------------------*/
2826 /*------------END WGL EXTENSIONS-------------------------------------*/
2827 /*-------------------------------------------------------------------*/
2833 /* I use int here because C does not know bool */
2837 struct WGLExtensionTypes
2839 int EXT_extensions_string;
2840 int ARB_buffer_region;
2841 int ARB_extensions_string;
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;
2852 struct ExtensionTypes
2854 #ifdef WIN32 /* WGL extensions */
2855 struct WGLExtensionTypes wgl;
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;
2872 int EXT_compiled_vertex_array;
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;
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;
2916 int SGIX_depth_texture;
2919 int ARB_texture_mirrored_repeat;
2920 int ARB_depth_texture;
2921 int ARB_shadow_ambient;
2924 int EXT_shadow_funcs;
2927 extern struct ExtensionTypes SupportedExtensions;
2929 /* initializes everything, call this right after the rc is created. the function returns 0 if successful */
2932 int QueryExtension(const char *name);
2940 void _wglSetDC(HDC dc);
2950 #endif /* __EXTGL_H__ */