1/*
2 Simple DirectMedia Layer
3 Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org>
4
5 This software is provided 'as-is', without any express or implied
6 warranty. In no event will the authors be held liable for any damages
7 arising from the use of this software.
8
9 Permission is granted to anyone to use this software for any purpose,
10 including commercial applications, and to alter it and redistribute it
11 freely, subject to the following restrictions:
12
13 1. The origin of this software must not be misrepresented; you must not
14 claim that you wrote the original software. If you use this software
15 in a product, an acknowledgment in the product documentation would be
16 appreciated but is not required.
17 2. Altered source versions must be plainly marked as such, and must not be
18 misrepresented as being the original software.
19 3. This notice may not be removed or altered from any source distribution.
20*/
21
22/*
23 * This is a simple file to encapsulate the OpenGL API headers.
24 *
25 * Define NO_SDL_GLEXT if you have your own version of glext.h and want
26 * to disable the version included in SDL_opengl.h.
27 */
28
29#ifndef SDL_opengl_h_
30#define SDL_opengl_h_
31
32#include <SDL3/SDL_platform.h>
33
34#ifndef SDL_PLATFORM_IOS /* No OpenGL on iOS. */
35
36/*
37 * Mesa 3-D graphics library
38 *
39 * Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
40 * Copyright (C) 2009 VMware, Inc. All Rights Reserved.
41 *
42 * Permission is hereby granted, free of charge, to any person obtaining a
43 * copy of this software and associated documentation files (the "Software"),
44 * to deal in the Software without restriction, including without limitation
45 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
46 * and/or sell copies of the Software, and to permit persons to whom the
47 * Software is furnished to do so, subject to the following conditions:
48 *
49 * The above copyright notice and this permission notice shall be included
50 * in all copies or substantial portions of the Software.
51 *
52 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
53 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
54 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
55 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
56 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
57 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
58 * OTHER DEALINGS IN THE SOFTWARE.
59 */
60
61
62#ifndef __gl_h_
63#define __gl_h_
64
65#ifdef USE_MGL_NAMESPACE
66#include <SDL3/gl_mangle.h>
67#endif
68
69
70/**********************************************************************
71 * Begin system-specific stuff.
72 */
73
74#if defined(_WIN32) && !defined(__CYGWIN__)
75# if (defined(_MSC_VER) || defined(__MINGW32__)) && defined(BUILD_GL32) /* tag specify we're building mesa as a DLL */
76# define GLAPI __declspec(dllexport)
77# elif (defined(_MSC_VER) || defined(__MINGW32__)) && defined(_DLL) /* tag specifying we're building for DLL runtime support */
78# define GLAPI __declspec(dllimport)
79# else /* for use with static link lib build of Win32 edition only */
80# define GLAPI extern
81# endif /* _STATIC_MESA support */
82# if defined(__MINGW32__) && defined(GL_NO_STDCALL) || defined(UNDER_CE) /* The generated DLLs by MingW with STDCALL are not compatible with the ones done by Microsoft's compilers */
83# define GLAPIENTRY
84# else
85# define GLAPIENTRY __stdcall
86# endif
87#elif defined(__CYGWIN__) && defined(USE_OPENGL32) /* use native windows opengl32 */
88# define GLAPI extern
89# define GLAPIENTRY __stdcall
90#elif (defined(__GNUC__) && __GNUC__ >= 4) || (defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590))
91# define GLAPI __attribute__((visibility("default")))
92# define GLAPIENTRY
93#endif /* WIN32 && !CYGWIN */
94
95/*
96 * WINDOWS: Include windows.h here to define APIENTRY.
97 * It is also useful when applications include this file by
98 * including only glut.h, since glut.h depends on windows.h.
99 * Applications needing to include windows.h with parms other
100 * than "WIN32_LEAN_AND_MEAN" may include windows.h before
101 * glut.h or gl.h.
102 */
103#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__)
104#ifndef WIN32_LEAN_AND_MEAN
105#define WIN32_LEAN_AND_MEAN 1
106#endif
107#ifndef NOMINMAX /* don't define min() and max(). */
108#define NOMINMAX
109#endif
110#include <windows.h>
111#endif
112
113#ifndef GLAPI
114#define GLAPI extern
115#endif
116
117#ifndef GLAPIENTRY
118#define GLAPIENTRY
119#endif
120
121#ifndef APIENTRY
122#define APIENTRY GLAPIENTRY
123#endif
124
125/* "P" suffix to be used for a pointer to a function */
126#ifndef APIENTRYP
127#define APIENTRYP APIENTRY *
128#endif
129
130#ifndef GLAPIENTRYP
131#define GLAPIENTRYP GLAPIENTRY *
132#endif
133
134#if defined(PRAGMA_EXPORT_SUPPORTED)
135#pragma export on
136#endif
137
138/*
139 * End system-specific stuff.
140 **********************************************************************/
141
142
143
144#ifdef __cplusplus
145extern "C" {
146#endif
147
148
149
150#define GL_VERSION_1_1 1
151#define GL_VERSION_1_2 1
152#define GL_VERSION_1_3 1
153#define GL_ARB_imaging 1
154
155
156/*
157 * Datatypes
158 */
159typedef unsigned int GLenum;
160typedef unsigned char GLboolean;
161typedef unsigned int GLbitfield;
162typedef void GLvoid;
163typedef signed char GLbyte; /* 1-byte signed */
164typedef short GLshort; /* 2-byte signed */
165typedef int GLint; /* 4-byte signed */
166typedef unsigned char GLubyte; /* 1-byte unsigned */
167typedef unsigned short GLushort; /* 2-byte unsigned */
168typedef unsigned int GLuint; /* 4-byte unsigned */
169typedef int GLsizei; /* 4-byte signed */
170typedef float GLfloat; /* single precision float */
171typedef float GLclampf; /* single precision float in [0,1] */
172typedef double GLdouble; /* double precision float */
173typedef double GLclampd; /* double precision float in [0,1] */
174
175
176
177/*
178 * Constants
179 */
180
181/* Boolean values */
182#define GL_FALSE 0
183#define GL_TRUE 1
184
185/* Data types */
186#define GL_BYTE 0x1400
187#define GL_UNSIGNED_BYTE 0x1401
188#define GL_SHORT 0x1402
189#define GL_UNSIGNED_SHORT 0x1403
190#define GL_INT 0x1404
191#define GL_UNSIGNED_INT 0x1405
192#define GL_FLOAT 0x1406
193#define GL_2_BYTES 0x1407
194#define GL_3_BYTES 0x1408
195#define GL_4_BYTES 0x1409
196#define GL_DOUBLE 0x140A
197
198/* Primitives */
199#define GL_POINTS 0x0000
200#define GL_LINES 0x0001
201#define GL_LINE_LOOP 0x0002
202#define GL_LINE_STRIP 0x0003
203#define GL_TRIANGLES 0x0004
204#define GL_TRIANGLE_STRIP 0x0005
205#define GL_TRIANGLE_FAN 0x0006
206#define GL_QUADS 0x0007
207#define GL_QUAD_STRIP 0x0008
208#define GL_POLYGON 0x0009
209
210/* Vertex Arrays */
211#define GL_VERTEX_ARRAY 0x8074
212#define GL_NORMAL_ARRAY 0x8075
213#define GL_COLOR_ARRAY 0x8076
214#define GL_INDEX_ARRAY 0x8077
215#define GL_TEXTURE_COORD_ARRAY 0x8078
216#define GL_EDGE_FLAG_ARRAY 0x8079
217#define GL_VERTEX_ARRAY_SIZE 0x807A
218#define GL_VERTEX_ARRAY_TYPE 0x807B
219#define GL_VERTEX_ARRAY_STRIDE 0x807C
220#define GL_NORMAL_ARRAY_TYPE 0x807E
221#define GL_NORMAL_ARRAY_STRIDE 0x807F
222#define GL_COLOR_ARRAY_SIZE 0x8081
223#define GL_COLOR_ARRAY_TYPE 0x8082
224#define GL_COLOR_ARRAY_STRIDE 0x8083
225#define GL_INDEX_ARRAY_TYPE 0x8085
226#define GL_INDEX_ARRAY_STRIDE 0x8086
227#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
228#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
229#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
230#define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C
231#define GL_VERTEX_ARRAY_POINTER 0x808E
232#define GL_NORMAL_ARRAY_POINTER 0x808F
233#define GL_COLOR_ARRAY_POINTER 0x8090
234#define GL_INDEX_ARRAY_POINTER 0x8091
235#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
236#define GL_EDGE_FLAG_ARRAY_POINTER 0x8093
237#define GL_V2F 0x2A20
238#define GL_V3F 0x2A21
239#define GL_C4UB_V2F 0x2A22
240#define GL_C4UB_V3F 0x2A23
241#define GL_C3F_V3F 0x2A24
242#define GL_N3F_V3F 0x2A25
243#define GL_C4F_N3F_V3F 0x2A26
244#define GL_T2F_V3F 0x2A27
245#define GL_T4F_V4F 0x2A28
246#define GL_T2F_C4UB_V3F 0x2A29
247#define GL_T2F_C3F_V3F 0x2A2A
248#define GL_T2F_N3F_V3F 0x2A2B
249#define GL_T2F_C4F_N3F_V3F 0x2A2C
250#define GL_T4F_C4F_N3F_V4F 0x2A2D
251
252/* Matrix Mode */
253#define GL_MATRIX_MODE 0x0BA0
254#define GL_MODELVIEW 0x1700
255#define GL_PROJECTION 0x1701
256#define GL_TEXTURE 0x1702
257
258/* Points */
259#define GL_POINT_SMOOTH 0x0B10
260#define GL_POINT_SIZE 0x0B11
261#define GL_POINT_SIZE_GRANULARITY 0x0B13
262#define GL_POINT_SIZE_RANGE 0x0B12
263
264/* Lines */
265#define GL_LINE_SMOOTH 0x0B20
266#define GL_LINE_STIPPLE 0x0B24
267#define GL_LINE_STIPPLE_PATTERN 0x0B25
268#define GL_LINE_STIPPLE_REPEAT 0x0B26
269#define GL_LINE_WIDTH 0x0B21
270#define GL_LINE_WIDTH_GRANULARITY 0x0B23
271#define GL_LINE_WIDTH_RANGE 0x0B22
272
273/* Polygons */
274#define GL_POINT 0x1B00
275#define GL_LINE 0x1B01
276#define GL_FILL 0x1B02
277#define GL_CW 0x0900
278#define GL_CCW 0x0901
279#define GL_FRONT 0x0404
280#define GL_BACK 0x0405
281#define GL_POLYGON_MODE 0x0B40
282#define GL_POLYGON_SMOOTH 0x0B41
283#define GL_POLYGON_STIPPLE 0x0B42
284#define GL_EDGE_FLAG 0x0B43
285#define GL_CULL_FACE 0x0B44
286#define GL_CULL_FACE_MODE 0x0B45
287#define GL_FRONT_FACE 0x0B46
288#define GL_POLYGON_OFFSET_FACTOR 0x8038
289#define GL_POLYGON_OFFSET_UNITS 0x2A00
290#define GL_POLYGON_OFFSET_POINT 0x2A01
291#define GL_POLYGON_OFFSET_LINE 0x2A02
292#define GL_POLYGON_OFFSET_FILL 0x8037
293
294/* Display Lists */
295#define GL_COMPILE 0x1300
296#define GL_COMPILE_AND_EXECUTE 0x1301
297#define GL_LIST_BASE 0x0B32
298#define GL_LIST_INDEX 0x0B33
299#define GL_LIST_MODE 0x0B30
300
301/* Depth buffer */
302#define GL_NEVER 0x0200
303#define GL_LESS 0x0201
304#define GL_EQUAL 0x0202
305#define GL_LEQUAL 0x0203
306#define GL_GREATER 0x0204
307#define GL_NOTEQUAL 0x0205
308#define GL_GEQUAL 0x0206
309#define GL_ALWAYS 0x0207
310#define GL_DEPTH_TEST 0x0B71
311#define GL_DEPTH_BITS 0x0D56
312#define GL_DEPTH_CLEAR_VALUE 0x0B73
313#define GL_DEPTH_FUNC 0x0B74
314#define GL_DEPTH_RANGE 0x0B70
315#define GL_DEPTH_WRITEMASK 0x0B72
316#define GL_DEPTH_COMPONENT 0x1902
317
318/* Lighting */
319#define GL_LIGHTING 0x0B50
320#define GL_LIGHT0 0x4000
321#define GL_LIGHT1 0x4001
322#define GL_LIGHT2 0x4002
323#define GL_LIGHT3 0x4003
324#define GL_LIGHT4 0x4004
325#define GL_LIGHT5 0x4005
326#define GL_LIGHT6 0x4006
327#define GL_LIGHT7 0x4007
328#define GL_SPOT_EXPONENT 0x1205
329#define GL_SPOT_CUTOFF 0x1206
330#define GL_CONSTANT_ATTENUATION 0x1207
331#define GL_LINEAR_ATTENUATION 0x1208
332#define GL_QUADRATIC_ATTENUATION 0x1209
333#define GL_AMBIENT 0x1200
334#define GL_DIFFUSE 0x1201
335#define GL_SPECULAR 0x1202
336#define GL_SHININESS 0x1601
337#define GL_EMISSION 0x1600
338#define GL_POSITION 0x1203
339#define GL_SPOT_DIRECTION 0x1204
340#define GL_AMBIENT_AND_DIFFUSE 0x1602
341#define GL_COLOR_INDEXES 0x1603
342#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
343#define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51
344#define GL_LIGHT_MODEL_AMBIENT 0x0B53
345#define GL_FRONT_AND_BACK 0x0408
346#define GL_SHADE_MODEL 0x0B54
347#define GL_FLAT 0x1D00
348#define GL_SMOOTH 0x1D01
349#define GL_COLOR_MATERIAL 0x0B57
350#define GL_COLOR_MATERIAL_FACE 0x0B55
351#define GL_COLOR_MATERIAL_PARAMETER 0x0B56
352#define GL_NORMALIZE 0x0BA1
353
354/* User clipping planes */
355#define GL_CLIP_PLANE0 0x3000
356#define GL_CLIP_PLANE1 0x3001
357#define GL_CLIP_PLANE2 0x3002
358#define GL_CLIP_PLANE3 0x3003
359#define GL_CLIP_PLANE4 0x3004
360#define GL_CLIP_PLANE5 0x3005
361
362/* Accumulation buffer */
363#define GL_ACCUM_RED_BITS 0x0D58
364#define GL_ACCUM_GREEN_BITS 0x0D59
365#define GL_ACCUM_BLUE_BITS 0x0D5A
366#define GL_ACCUM_ALPHA_BITS 0x0D5B
367#define GL_ACCUM_CLEAR_VALUE 0x0B80
368#define GL_ACCUM 0x0100
369#define GL_ADD 0x0104
370#define GL_LOAD 0x0101
371#define GL_MULT 0x0103
372#define GL_RETURN 0x0102
373
374/* Alpha testing */
375#define GL_ALPHA_TEST 0x0BC0
376#define GL_ALPHA_TEST_REF 0x0BC2
377#define GL_ALPHA_TEST_FUNC 0x0BC1
378
379/* Blending */
380#define GL_BLEND 0x0BE2
381#define GL_BLEND_SRC 0x0BE1
382#define GL_BLEND_DST 0x0BE0
383#define GL_ZERO 0
384#define GL_ONE 1
385#define GL_SRC_COLOR 0x0300
386#define GL_ONE_MINUS_SRC_COLOR 0x0301
387#define GL_SRC_ALPHA 0x0302
388#define GL_ONE_MINUS_SRC_ALPHA 0x0303
389#define GL_DST_ALPHA 0x0304
390#define GL_ONE_MINUS_DST_ALPHA 0x0305
391#define GL_DST_COLOR 0x0306
392#define GL_ONE_MINUS_DST_COLOR 0x0307
393#define GL_SRC_ALPHA_SATURATE 0x0308
394
395/* Render Mode */
396#define GL_FEEDBACK 0x1C01
397#define GL_RENDER 0x1C00
398#define GL_SELECT 0x1C02
399
400/* Feedback */
401#define GL_2D 0x0600
402#define GL_3D 0x0601
403#define GL_3D_COLOR 0x0602
404#define GL_3D_COLOR_TEXTURE 0x0603
405#define GL_4D_COLOR_TEXTURE 0x0604
406#define GL_POINT_TOKEN 0x0701
407#define GL_LINE_TOKEN 0x0702
408#define GL_LINE_RESET_TOKEN 0x0707
409#define GL_POLYGON_TOKEN 0x0703
410#define GL_BITMAP_TOKEN 0x0704
411#define GL_DRAW_PIXEL_TOKEN 0x0705
412#define GL_COPY_PIXEL_TOKEN 0x0706
413#define GL_PASS_THROUGH_TOKEN 0x0700
414#define GL_FEEDBACK_BUFFER_POINTER 0x0DF0
415#define GL_FEEDBACK_BUFFER_SIZE 0x0DF1
416#define GL_FEEDBACK_BUFFER_TYPE 0x0DF2
417
418/* Selection */
419#define GL_SELECTION_BUFFER_POINTER 0x0DF3
420#define GL_SELECTION_BUFFER_SIZE 0x0DF4
421
422/* Fog */
423#define GL_FOG 0x0B60
424#define GL_FOG_MODE 0x0B65
425#define GL_FOG_DENSITY 0x0B62
426#define GL_FOG_COLOR 0x0B66
427#define GL_FOG_INDEX 0x0B61
428#define GL_FOG_START 0x0B63
429#define GL_FOG_END 0x0B64
430#define GL_LINEAR 0x2601
431#define GL_EXP 0x0800
432#define GL_EXP2 0x0801
433
434/* Logic Ops */
435#define GL_LOGIC_OP 0x0BF1
436#define GL_INDEX_LOGIC_OP 0x0BF1
437#define GL_COLOR_LOGIC_OP 0x0BF2
438#define GL_LOGIC_OP_MODE 0x0BF0
439#define GL_CLEAR 0x1500
440#define GL_SET 0x150F
441#define GL_COPY 0x1503
442#define GL_COPY_INVERTED 0x150C
443#define GL_NOOP 0x1505
444#define GL_INVERT 0x150A
445#define GL_AND 0x1501
446#define GL_NAND 0x150E
447#define GL_OR 0x1507
448#define GL_NOR 0x1508
449#define GL_XOR 0x1506
450#define GL_EQUIV 0x1509
451#define GL_AND_REVERSE 0x1502
452#define GL_AND_INVERTED 0x1504
453#define GL_OR_REVERSE 0x150B
454#define GL_OR_INVERTED 0x150D
455
456/* Stencil */
457#define GL_STENCIL_BITS 0x0D57
458#define GL_STENCIL_TEST 0x0B90
459#define GL_STENCIL_CLEAR_VALUE 0x0B91
460#define GL_STENCIL_FUNC 0x0B92
461#define GL_STENCIL_VALUE_MASK 0x0B93
462#define GL_STENCIL_FAIL 0x0B94
463#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
464#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
465#define GL_STENCIL_REF 0x0B97
466#define GL_STENCIL_WRITEMASK 0x0B98
467#define GL_STENCIL_INDEX 0x1901
468#define GL_KEEP 0x1E00
469#define GL_REPLACE 0x1E01
470#define GL_INCR 0x1E02
471#define GL_DECR 0x1E03
472
473/* Buffers, Pixel Drawing/Reading */
474#define GL_NONE 0
475#define GL_LEFT 0x0406
476#define GL_RIGHT 0x0407
477/*GL_FRONT 0x0404 */
478/*GL_BACK 0x0405 */
479/*GL_FRONT_AND_BACK 0x0408 */
480#define GL_FRONT_LEFT 0x0400
481#define GL_FRONT_RIGHT 0x0401
482#define GL_BACK_LEFT 0x0402
483#define GL_BACK_RIGHT 0x0403
484#define GL_AUX0 0x0409
485#define GL_AUX1 0x040A
486#define GL_AUX2 0x040B
487#define GL_AUX3 0x040C
488#define GL_COLOR_INDEX 0x1900
489#define GL_RED 0x1903
490#define GL_GREEN 0x1904
491#define GL_BLUE 0x1905
492#define GL_ALPHA 0x1906
493#define GL_LUMINANCE 0x1909
494#define GL_LUMINANCE_ALPHA 0x190A
495#define GL_ALPHA_BITS 0x0D55
496#define GL_RED_BITS 0x0D52
497#define GL_GREEN_BITS 0x0D53
498#define GL_BLUE_BITS 0x0D54
499#define GL_INDEX_BITS 0x0D51
500#define GL_SUBPIXEL_BITS 0x0D50
501#define GL_AUX_BUFFERS 0x0C00
502#define GL_READ_BUFFER 0x0C02
503#define GL_DRAW_BUFFER 0x0C01
504#define GL_DOUBLEBUFFER 0x0C32
505#define GL_STEREO 0x0C33
506#define GL_BITMAP 0x1A00
507#define GL_COLOR 0x1800
508#define GL_DEPTH 0x1801
509#define GL_STENCIL 0x1802
510#define GL_DITHER 0x0BD0
511#define GL_RGB 0x1907
512#define GL_RGBA 0x1908
513
514/* Implementation limits */
515#define GL_MAX_LIST_NESTING 0x0B31
516#define GL_MAX_EVAL_ORDER 0x0D30
517#define GL_MAX_LIGHTS 0x0D31
518#define GL_MAX_CLIP_PLANES 0x0D32
519#define GL_MAX_TEXTURE_SIZE 0x0D33
520#define GL_MAX_PIXEL_MAP_TABLE 0x0D34
521#define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35
522#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
523#define GL_MAX_NAME_STACK_DEPTH 0x0D37
524#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
525#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
526#define GL_MAX_VIEWPORT_DIMS 0x0D3A
527#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B
528
529/* Gets */
530#define GL_ATTRIB_STACK_DEPTH 0x0BB0
531#define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1
532#define GL_COLOR_CLEAR_VALUE 0x0C22
533#define GL_COLOR_WRITEMASK 0x0C23
534#define GL_CURRENT_INDEX 0x0B01
535#define GL_CURRENT_COLOR 0x0B00
536#define GL_CURRENT_NORMAL 0x0B02
537#define GL_CURRENT_RASTER_COLOR 0x0B04
538#define GL_CURRENT_RASTER_DISTANCE 0x0B09
539#define GL_CURRENT_RASTER_INDEX 0x0B05
540#define GL_CURRENT_RASTER_POSITION 0x0B07
541#define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06
542#define GL_CURRENT_RASTER_POSITION_VALID 0x0B08
543#define GL_CURRENT_TEXTURE_COORDS 0x0B03
544#define GL_INDEX_CLEAR_VALUE 0x0C20
545#define GL_INDEX_MODE 0x0C30
546#define GL_INDEX_WRITEMASK 0x0C21
547#define GL_MODELVIEW_MATRIX 0x0BA6
548#define GL_MODELVIEW_STACK_DEPTH 0x0BA3
549#define GL_NAME_STACK_DEPTH 0x0D70
550#define GL_PROJECTION_MATRIX 0x0BA7
551#define GL_PROJECTION_STACK_DEPTH 0x0BA4
552#define GL_RENDER_MODE 0x0C40
553#define GL_RGBA_MODE 0x0C31
554#define GL_TEXTURE_MATRIX 0x0BA8
555#define GL_TEXTURE_STACK_DEPTH 0x0BA5
556#define GL_VIEWPORT 0x0BA2
557
558/* Evaluators */
559#define GL_AUTO_NORMAL 0x0D80
560#define GL_MAP1_COLOR_4 0x0D90
561#define GL_MAP1_INDEX 0x0D91
562#define GL_MAP1_NORMAL 0x0D92
563#define GL_MAP1_TEXTURE_COORD_1 0x0D93
564#define GL_MAP1_TEXTURE_COORD_2 0x0D94
565#define GL_MAP1_TEXTURE_COORD_3 0x0D95
566#define GL_MAP1_TEXTURE_COORD_4 0x0D96
567#define GL_MAP1_VERTEX_3 0x0D97
568#define GL_MAP1_VERTEX_4 0x0D98
569#define GL_MAP2_COLOR_4 0x0DB0
570#define GL_MAP2_INDEX 0x0DB1
571#define GL_MAP2_NORMAL 0x0DB2
572#define GL_MAP2_TEXTURE_COORD_1 0x0DB3
573#define GL_MAP2_TEXTURE_COORD_2 0x0DB4
574#define GL_MAP2_TEXTURE_COORD_3 0x0DB5
575#define GL_MAP2_TEXTURE_COORD_4 0x0DB6
576#define GL_MAP2_VERTEX_3 0x0DB7
577#define GL_MAP2_VERTEX_4 0x0DB8
578#define GL_MAP1_GRID_DOMAIN 0x0DD0
579#define GL_MAP1_GRID_SEGMENTS 0x0DD1
580#define GL_MAP2_GRID_DOMAIN 0x0DD2
581#define GL_MAP2_GRID_SEGMENTS 0x0DD3
582#define GL_COEFF 0x0A00
583#define GL_ORDER 0x0A01
584#define GL_DOMAIN 0x0A02
585
586/* Hints */
587#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
588#define GL_POINT_SMOOTH_HINT 0x0C51
589#define GL_LINE_SMOOTH_HINT 0x0C52
590#define GL_POLYGON_SMOOTH_HINT 0x0C53
591#define GL_FOG_HINT 0x0C54
592#define GL_DONT_CARE 0x1100
593#define GL_FASTEST 0x1101
594#define GL_NICEST 0x1102
595
596/* Scissor box */
597#define GL_SCISSOR_BOX 0x0C10
598#define GL_SCISSOR_TEST 0x0C11
599
600/* Pixel Mode / Transfer */
601#define GL_MAP_COLOR 0x0D10
602#define GL_MAP_STENCIL 0x0D11
603#define GL_INDEX_SHIFT 0x0D12
604#define GL_INDEX_OFFSET 0x0D13
605#define GL_RED_SCALE 0x0D14
606#define GL_RED_BIAS 0x0D15
607#define GL_GREEN_SCALE 0x0D18
608#define GL_GREEN_BIAS 0x0D19
609#define GL_BLUE_SCALE 0x0D1A
610#define GL_BLUE_BIAS 0x0D1B
611#define GL_ALPHA_SCALE 0x0D1C
612#define GL_ALPHA_BIAS 0x0D1D
613#define GL_DEPTH_SCALE 0x0D1E
614#define GL_DEPTH_BIAS 0x0D1F
615#define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1
616#define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0
617#define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2
618#define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3
619#define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4
620#define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5
621#define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6
622#define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7
623#define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8
624#define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9
625#define GL_PIXEL_MAP_S_TO_S 0x0C71
626#define GL_PIXEL_MAP_I_TO_I 0x0C70
627#define GL_PIXEL_MAP_I_TO_R 0x0C72
628#define GL_PIXEL_MAP_I_TO_G 0x0C73
629#define GL_PIXEL_MAP_I_TO_B 0x0C74
630#define GL_PIXEL_MAP_I_TO_A 0x0C75
631#define GL_PIXEL_MAP_R_TO_R 0x0C76
632#define GL_PIXEL_MAP_G_TO_G 0x0C77
633#define GL_PIXEL_MAP_B_TO_B 0x0C78
634#define GL_PIXEL_MAP_A_TO_A 0x0C79
635#define GL_PACK_ALIGNMENT 0x0D05
636#define GL_PACK_LSB_FIRST 0x0D01
637#define GL_PACK_ROW_LENGTH 0x0D02
638#define GL_PACK_SKIP_PIXELS 0x0D04
639#define GL_PACK_SKIP_ROWS 0x0D03
640#define GL_PACK_SWAP_BYTES 0x0D00
641#define GL_UNPACK_ALIGNMENT 0x0CF5
642#define GL_UNPACK_LSB_FIRST 0x0CF1
643#define GL_UNPACK_ROW_LENGTH 0x0CF2
644#define GL_UNPACK_SKIP_PIXELS 0x0CF4
645#define GL_UNPACK_SKIP_ROWS 0x0CF3
646#define GL_UNPACK_SWAP_BYTES 0x0CF0
647#define GL_ZOOM_X 0x0D16
648#define GL_ZOOM_Y 0x0D17
649
650/* Texture mapping */
651#define GL_TEXTURE_ENV 0x2300
652#define GL_TEXTURE_ENV_MODE 0x2200
653#define GL_TEXTURE_1D 0x0DE0
654#define GL_TEXTURE_2D 0x0DE1
655#define GL_TEXTURE_WRAP_S 0x2802
656#define GL_TEXTURE_WRAP_T 0x2803
657#define GL_TEXTURE_MAG_FILTER 0x2800
658#define GL_TEXTURE_MIN_FILTER 0x2801
659#define GL_TEXTURE_ENV_COLOR 0x2201
660#define GL_TEXTURE_GEN_S 0x0C60
661#define GL_TEXTURE_GEN_T 0x0C61
662#define GL_TEXTURE_GEN_R 0x0C62
663#define GL_TEXTURE_GEN_Q 0x0C63
664#define GL_TEXTURE_GEN_MODE 0x2500
665#define GL_TEXTURE_BORDER_COLOR 0x1004
666#define GL_TEXTURE_WIDTH 0x1000
667#define GL_TEXTURE_HEIGHT 0x1001
668#define GL_TEXTURE_BORDER 0x1005
669#define GL_TEXTURE_COMPONENTS 0x1003
670#define GL_TEXTURE_RED_SIZE 0x805C
671#define GL_TEXTURE_GREEN_SIZE 0x805D
672#define GL_TEXTURE_BLUE_SIZE 0x805E
673#define GL_TEXTURE_ALPHA_SIZE 0x805F
674#define GL_TEXTURE_LUMINANCE_SIZE 0x8060
675#define GL_TEXTURE_INTENSITY_SIZE 0x8061
676#define GL_NEAREST_MIPMAP_NEAREST 0x2700
677#define GL_NEAREST_MIPMAP_LINEAR 0x2702
678#define GL_LINEAR_MIPMAP_NEAREST 0x2701
679#define GL_LINEAR_MIPMAP_LINEAR 0x2703
680#define GL_OBJECT_LINEAR 0x2401
681#define GL_OBJECT_PLANE 0x2501
682#define GL_EYE_LINEAR 0x2400
683#define GL_EYE_PLANE 0x2502
684#define GL_SPHERE_MAP 0x2402
685#define GL_DECAL 0x2101
686#define GL_MODULATE 0x2100
687#define GL_NEAREST 0x2600
688#define GL_REPEAT 0x2901
689#define GL_CLAMP 0x2900
690#define GL_S 0x2000
691#define GL_T 0x2001
692#define GL_R 0x2002
693#define GL_Q 0x2003
694
695/* Utility */
696#define GL_VENDOR 0x1F00
697#define GL_RENDERER 0x1F01
698#define GL_VERSION 0x1F02
699#define GL_EXTENSIONS 0x1F03
700
701/* Errors */
702#define GL_NO_ERROR 0
703#define GL_INVALID_ENUM 0x0500
704#define GL_INVALID_VALUE 0x0501
705#define GL_INVALID_OPERATION 0x0502
706#define GL_STACK_OVERFLOW 0x0503
707#define GL_STACK_UNDERFLOW 0x0504
708#define GL_OUT_OF_MEMORY 0x0505
709
710/* glPush/PopAttrib bits */
711#define GL_CURRENT_BIT 0x00000001
712#define GL_POINT_BIT 0x00000002
713#define GL_LINE_BIT 0x00000004
714#define GL_POLYGON_BIT 0x00000008
715#define GL_POLYGON_STIPPLE_BIT 0x00000010
716#define GL_PIXEL_MODE_BIT 0x00000020
717#define GL_LIGHTING_BIT 0x00000040
718#define GL_FOG_BIT 0x00000080
719#define GL_DEPTH_BUFFER_BIT 0x00000100
720#define GL_ACCUM_BUFFER_BIT 0x00000200
721#define GL_STENCIL_BUFFER_BIT 0x00000400
722#define GL_VIEWPORT_BIT 0x00000800
723#define GL_TRANSFORM_BIT 0x00001000
724#define GL_ENABLE_BIT 0x00002000
725#define GL_COLOR_BUFFER_BIT 0x00004000
726#define GL_HINT_BIT 0x00008000
727#define GL_EVAL_BIT 0x00010000
728#define GL_LIST_BIT 0x00020000
729#define GL_TEXTURE_BIT 0x00040000
730#define GL_SCISSOR_BIT 0x00080000
731#define GL_ALL_ATTRIB_BITS 0x000FFFFF
732
733
734/* OpenGL 1.1 */
735#define GL_PROXY_TEXTURE_1D 0x8063
736#define GL_PROXY_TEXTURE_2D 0x8064
737#define GL_TEXTURE_PRIORITY 0x8066
738#define GL_TEXTURE_RESIDENT 0x8067
739#define GL_TEXTURE_BINDING_1D 0x8068
740#define GL_TEXTURE_BINDING_2D 0x8069
741#define GL_TEXTURE_INTERNAL_FORMAT 0x1003
742#define GL_ALPHA4 0x803B
743#define GL_ALPHA8 0x803C
744#define GL_ALPHA12 0x803D
745#define GL_ALPHA16 0x803E
746#define GL_LUMINANCE4 0x803F
747#define GL_LUMINANCE8 0x8040
748#define GL_LUMINANCE12 0x8041
749#define GL_LUMINANCE16 0x8042
750#define GL_LUMINANCE4_ALPHA4 0x8043
751#define GL_LUMINANCE6_ALPHA2 0x8044
752#define GL_LUMINANCE8_ALPHA8 0x8045
753#define GL_LUMINANCE12_ALPHA4 0x8046
754#define GL_LUMINANCE12_ALPHA12 0x8047
755#define GL_LUMINANCE16_ALPHA16 0x8048
756#define GL_INTENSITY 0x8049
757#define GL_INTENSITY4 0x804A
758#define GL_INTENSITY8 0x804B
759#define GL_INTENSITY12 0x804C
760#define GL_INTENSITY16 0x804D
761#define GL_R3_G3_B2 0x2A10
762#define GL_RGB4 0x804F
763#define GL_RGB5 0x8050
764#define GL_RGB8 0x8051
765#define GL_RGB10 0x8052
766#define GL_RGB12 0x8053
767#define GL_RGB16 0x8054
768#define GL_RGBA2 0x8055
769#define GL_RGBA4 0x8056
770#define GL_RGB5_A1 0x8057
771#define GL_RGBA8 0x8058
772#define GL_RGB10_A2 0x8059
773#define GL_RGBA12 0x805A
774#define GL_RGBA16 0x805B
775#define GL_CLIENT_PIXEL_STORE_BIT 0x00000001
776#define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002
777#define GL_ALL_CLIENT_ATTRIB_BITS 0xFFFFFFFF
778#define GL_CLIENT_ALL_ATTRIB_BITS 0xFFFFFFFF
779
780
781
782/*
783 * Miscellaneous
784 */
785
786#ifndef SDL_OPENGL_1_NO_PROTOTYPES
787GLAPI void GLAPIENTRY glClearIndex( GLfloat c );
788
789GLAPI void GLAPIENTRY glClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
790
791GLAPI void GLAPIENTRY glClear( GLbitfield mask );
792
793GLAPI void GLAPIENTRY glIndexMask( GLuint mask );
794
795GLAPI void GLAPIENTRY glColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha );
796
797GLAPI void GLAPIENTRY glAlphaFunc( GLenum func, GLclampf ref );
798
799GLAPI void GLAPIENTRY glBlendFunc( GLenum sfactor, GLenum dfactor );
800
801GLAPI void GLAPIENTRY glLogicOp( GLenum opcode );
802
803GLAPI void GLAPIENTRY glCullFace( GLenum mode );
804
805GLAPI void GLAPIENTRY glFrontFace( GLenum mode );
806
807GLAPI void GLAPIENTRY glPointSize( GLfloat size );
808
809GLAPI void GLAPIENTRY glLineWidth( GLfloat width );
810
811GLAPI void GLAPIENTRY glLineStipple( GLint factor, GLushort pattern );
812
813GLAPI void GLAPIENTRY glPolygonMode( GLenum face, GLenum mode );
814
815GLAPI void GLAPIENTRY glPolygonOffset( GLfloat factor, GLfloat units );
816
817GLAPI void GLAPIENTRY glPolygonStipple( const GLubyte *mask );
818
819GLAPI void GLAPIENTRY glGetPolygonStipple( GLubyte *mask );
820
821GLAPI void GLAPIENTRY glEdgeFlag( GLboolean flag );
822
823GLAPI void GLAPIENTRY glEdgeFlagv( const GLboolean *flag );
824
825GLAPI void GLAPIENTRY glScissor( GLint x, GLint y, GLsizei width, GLsizei height);
826
827GLAPI void GLAPIENTRY glClipPlane( GLenum plane, const GLdouble *equation );
828
829GLAPI void GLAPIENTRY glGetClipPlane( GLenum plane, GLdouble *equation );
830
831GLAPI void GLAPIENTRY glDrawBuffer( GLenum mode );
832
833GLAPI void GLAPIENTRY glReadBuffer( GLenum mode );
834
835GLAPI void GLAPIENTRY glEnable( GLenum cap );
836
837GLAPI void GLAPIENTRY glDisable( GLenum cap );
838
839GLAPI GLboolean GLAPIENTRY glIsEnabled( GLenum cap );
840
841
842GLAPI void GLAPIENTRY glEnableClientState( GLenum cap ); /* 1.1 */
843
844GLAPI void GLAPIENTRY glDisableClientState( GLenum cap ); /* 1.1 */
845
846
847GLAPI void GLAPIENTRY glGetBooleanv( GLenum pname, GLboolean *params );
848
849GLAPI void GLAPIENTRY glGetDoublev( GLenum pname, GLdouble *params );
850
851GLAPI void GLAPIENTRY glGetFloatv( GLenum pname, GLfloat *params );
852
853GLAPI void GLAPIENTRY glGetIntegerv( GLenum pname, GLint *params );
854
855
856GLAPI void GLAPIENTRY glPushAttrib( GLbitfield mask );
857
858GLAPI void GLAPIENTRY glPopAttrib( void );
859
860
861GLAPI void GLAPIENTRY glPushClientAttrib( GLbitfield mask ); /* 1.1 */
862
863GLAPI void GLAPIENTRY glPopClientAttrib( void ); /* 1.1 */
864
865
866GLAPI GLint GLAPIENTRY glRenderMode( GLenum mode );
867
868GLAPI GLenum GLAPIENTRY glGetError( void );
869
870GLAPI const GLubyte * GLAPIENTRY glGetString( GLenum name );
871
872GLAPI void GLAPIENTRY glFinish( void );
873
874GLAPI void GLAPIENTRY glFlush( void );
875
876GLAPI void GLAPIENTRY glHint( GLenum target, GLenum mode );
877
878
879/*
880 * Depth Buffer
881 */
882
883GLAPI void GLAPIENTRY glClearDepth( GLclampd depth );
884
885GLAPI void GLAPIENTRY glDepthFunc( GLenum func );
886
887GLAPI void GLAPIENTRY glDepthMask( GLboolean flag );
888
889GLAPI void GLAPIENTRY glDepthRange( GLclampd near_val, GLclampd far_val );
890
891
892/*
893 * Accumulation Buffer
894 */
895
896GLAPI void GLAPIENTRY glClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
897
898GLAPI void GLAPIENTRY glAccum( GLenum op, GLfloat value );
899
900
901/*
902 * Transformation
903 */
904
905GLAPI void GLAPIENTRY glMatrixMode( GLenum mode );
906
907GLAPI void GLAPIENTRY glOrtho( GLdouble left, GLdouble right,
908 GLdouble bottom, GLdouble top,
909 GLdouble near_val, GLdouble far_val );
910
911GLAPI void GLAPIENTRY glFrustum( GLdouble left, GLdouble right,
912 GLdouble bottom, GLdouble top,
913 GLdouble near_val, GLdouble far_val );
914
915GLAPI void GLAPIENTRY glViewport( GLint x, GLint y,
916 GLsizei width, GLsizei height );
917
918GLAPI void GLAPIENTRY glPushMatrix( void );
919
920GLAPI void GLAPIENTRY glPopMatrix( void );
921
922GLAPI void GLAPIENTRY glLoadIdentity( void );
923
924GLAPI void GLAPIENTRY glLoadMatrixd( const GLdouble *m );
925GLAPI void GLAPIENTRY glLoadMatrixf( const GLfloat *m );
926
927GLAPI void GLAPIENTRY glMultMatrixd( const GLdouble *m );
928GLAPI void GLAPIENTRY glMultMatrixf( const GLfloat *m );
929
930GLAPI void GLAPIENTRY glRotated( GLdouble angle,
931 GLdouble x, GLdouble y, GLdouble z );
932GLAPI void GLAPIENTRY glRotatef( GLfloat angle,
933 GLfloat x, GLfloat y, GLfloat z );
934
935GLAPI void GLAPIENTRY glScaled( GLdouble x, GLdouble y, GLdouble z );
936GLAPI void GLAPIENTRY glScalef( GLfloat x, GLfloat y, GLfloat z );
937
938GLAPI void GLAPIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble z );
939GLAPI void GLAPIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z );
940
941
942/*
943 * Display Lists
944 */
945
946GLAPI GLboolean GLAPIENTRY glIsList( GLuint list );
947
948GLAPI void GLAPIENTRY glDeleteLists( GLuint list, GLsizei range );
949
950GLAPI GLuint GLAPIENTRY glGenLists( GLsizei range );
951
952GLAPI void GLAPIENTRY glNewList( GLuint list, GLenum mode );
953
954GLAPI void GLAPIENTRY glEndList( void );
955
956GLAPI void GLAPIENTRY glCallList( GLuint list );
957
958GLAPI void GLAPIENTRY glCallLists( GLsizei n, GLenum type,
959 const GLvoid *lists );
960
961GLAPI void GLAPIENTRY glListBase( GLuint base );
962
963
964/*
965 * Drawing Functions
966 */
967
968GLAPI void GLAPIENTRY glBegin( GLenum mode );
969
970GLAPI void GLAPIENTRY glEnd( void );
971
972
973GLAPI void GLAPIENTRY glVertex2d( GLdouble x, GLdouble y );
974GLAPI void GLAPIENTRY glVertex2f( GLfloat x, GLfloat y );
975GLAPI void GLAPIENTRY glVertex2i( GLint x, GLint y );
976GLAPI void GLAPIENTRY glVertex2s( GLshort x, GLshort y );
977
978GLAPI void GLAPIENTRY glVertex3d( GLdouble x, GLdouble y, GLdouble z );
979GLAPI void GLAPIENTRY glVertex3f( GLfloat x, GLfloat y, GLfloat z );
980GLAPI void GLAPIENTRY glVertex3i( GLint x, GLint y, GLint z );
981GLAPI void GLAPIENTRY glVertex3s( GLshort x, GLshort y, GLshort z );
982
983GLAPI void GLAPIENTRY glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
984GLAPI void GLAPIENTRY glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
985GLAPI void GLAPIENTRY glVertex4i( GLint x, GLint y, GLint z, GLint w );
986GLAPI void GLAPIENTRY glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
987
988GLAPI void GLAPIENTRY glVertex2dv( const GLdouble *v );
989GLAPI void GLAPIENTRY glVertex2fv( const GLfloat *v );
990GLAPI void GLAPIENTRY glVertex2iv( const GLint *v );
991GLAPI void GLAPIENTRY glVertex2sv( const GLshort *v );
992
993GLAPI void GLAPIENTRY glVertex3dv( const GLdouble *v );
994GLAPI void GLAPIENTRY glVertex3fv( const GLfloat *v );
995GLAPI void GLAPIENTRY glVertex3iv( const GLint *v );
996GLAPI void GLAPIENTRY glVertex3sv( const GLshort *v );
997
998GLAPI void GLAPIENTRY glVertex4dv( const GLdouble *v );
999GLAPI void GLAPIENTRY glVertex4fv( const GLfloat *v );
1000GLAPI void GLAPIENTRY glVertex4iv( const GLint *v );
1001GLAPI void GLAPIENTRY glVertex4sv( const GLshort *v );
1002
1003
1004GLAPI void GLAPIENTRY glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );
1005GLAPI void GLAPIENTRY glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );
1006GLAPI void GLAPIENTRY glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz );
1007GLAPI void GLAPIENTRY glNormal3i( GLint nx, GLint ny, GLint nz );
1008GLAPI void GLAPIENTRY glNormal3s( GLshort nx, GLshort ny, GLshort nz );
1009
1010GLAPI void GLAPIENTRY glNormal3bv( const GLbyte *v );
1011GLAPI void GLAPIENTRY glNormal3dv( const GLdouble *v );
1012GLAPI void GLAPIENTRY glNormal3fv( const GLfloat *v );
1013GLAPI void GLAPIENTRY glNormal3iv( const GLint *v );
1014GLAPI void GLAPIENTRY glNormal3sv( const GLshort *v );
1015
1016
1017GLAPI void GLAPIENTRY glIndexd( GLdouble c );
1018GLAPI void GLAPIENTRY glIndexf( GLfloat c );
1019GLAPI void GLAPIENTRY glIndexi( GLint c );
1020GLAPI void GLAPIENTRY glIndexs( GLshort c );
1021GLAPI void GLAPIENTRY glIndexub( GLubyte c ); /* 1.1 */
1022
1023GLAPI void GLAPIENTRY glIndexdv( const GLdouble *c );
1024GLAPI void GLAPIENTRY glIndexfv( const GLfloat *c );
1025GLAPI void GLAPIENTRY glIndexiv( const GLint *c );
1026GLAPI void GLAPIENTRY glIndexsv( const GLshort *c );
1027GLAPI void GLAPIENTRY glIndexubv( const GLubyte *c ); /* 1.1 */
1028
1029GLAPI void GLAPIENTRY glColor3b( GLbyte red, GLbyte green, GLbyte blue );
1030GLAPI void GLAPIENTRY glColor3d( GLdouble red, GLdouble green, GLdouble blue );
1031GLAPI void GLAPIENTRY glColor3f( GLfloat red, GLfloat green, GLfloat blue );
1032GLAPI void GLAPIENTRY glColor3i( GLint red, GLint green, GLint blue );
1033GLAPI void GLAPIENTRY glColor3s( GLshort red, GLshort green, GLshort blue );
1034GLAPI void GLAPIENTRY glColor3ub( GLubyte red, GLubyte green, GLubyte blue );
1035GLAPI void GLAPIENTRY glColor3ui( GLuint red, GLuint green, GLuint blue );
1036GLAPI void GLAPIENTRY glColor3us( GLushort red, GLushort green, GLushort blue );
1037
1038GLAPI void GLAPIENTRY glColor4b( GLbyte red, GLbyte green,
1039 GLbyte blue, GLbyte alpha );
1040GLAPI void GLAPIENTRY glColor4d( GLdouble red, GLdouble green,
1041 GLdouble blue, GLdouble alpha );
1042GLAPI void GLAPIENTRY glColor4f( GLfloat red, GLfloat green,
1043 GLfloat blue, GLfloat alpha );
1044GLAPI void GLAPIENTRY glColor4i( GLint red, GLint green,
1045 GLint blue, GLint alpha );
1046GLAPI void GLAPIENTRY glColor4s( GLshort red, GLshort green,
1047 GLshort blue, GLshort alpha );
1048GLAPI void GLAPIENTRY glColor4ub( GLubyte red, GLubyte green,
1049 GLubyte blue, GLubyte alpha );
1050GLAPI void GLAPIENTRY glColor4ui( GLuint red, GLuint green,
1051 GLuint blue, GLuint alpha );
1052GLAPI void GLAPIENTRY glColor4us( GLushort red, GLushort green,
1053 GLushort blue, GLushort alpha );
1054
1055
1056GLAPI void GLAPIENTRY glColor3bv( const GLbyte *v );
1057GLAPI void GLAPIENTRY glColor3dv( const GLdouble *v );
1058GLAPI void GLAPIENTRY glColor3fv( const GLfloat *v );
1059GLAPI void GLAPIENTRY glColor3iv( const GLint *v );
1060GLAPI void GLAPIENTRY glColor3sv( const GLshort *v );
1061GLAPI void GLAPIENTRY glColor3ubv( const GLubyte *v );
1062GLAPI void GLAPIENTRY glColor3uiv( const GLuint *v );
1063GLAPI void GLAPIENTRY glColor3usv( const GLushort *v );
1064
1065GLAPI void GLAPIENTRY glColor4bv( const GLbyte *v );
1066GLAPI void GLAPIENTRY glColor4dv( const GLdouble *v );
1067GLAPI void GLAPIENTRY glColor4fv( const GLfloat *v );
1068GLAPI void GLAPIENTRY glColor4iv( const GLint *v );
1069GLAPI void GLAPIENTRY glColor4sv( const GLshort *v );
1070GLAPI void GLAPIENTRY glColor4ubv( const GLubyte *v );
1071GLAPI void GLAPIENTRY glColor4uiv( const GLuint *v );
1072GLAPI void GLAPIENTRY glColor4usv( const GLushort *v );
1073
1074
1075GLAPI void GLAPIENTRY glTexCoord1d( GLdouble s );
1076GLAPI void GLAPIENTRY glTexCoord1f( GLfloat s );
1077GLAPI void GLAPIENTRY glTexCoord1i( GLint s );
1078GLAPI void GLAPIENTRY glTexCoord1s( GLshort s );
1079
1080GLAPI void GLAPIENTRY glTexCoord2d( GLdouble s, GLdouble t );
1081GLAPI void GLAPIENTRY glTexCoord2f( GLfloat s, GLfloat t );
1082GLAPI void GLAPIENTRY glTexCoord2i( GLint s, GLint t );
1083GLAPI void GLAPIENTRY glTexCoord2s( GLshort s, GLshort t );
1084
1085GLAPI void GLAPIENTRY glTexCoord3d( GLdouble s, GLdouble t, GLdouble r );
1086GLAPI void GLAPIENTRY glTexCoord3f( GLfloat s, GLfloat t, GLfloat r );
1087GLAPI void GLAPIENTRY glTexCoord3i( GLint s, GLint t, GLint r );
1088GLAPI void GLAPIENTRY glTexCoord3s( GLshort s, GLshort t, GLshort r );
1089
1090GLAPI void GLAPIENTRY glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
1091GLAPI void GLAPIENTRY glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
1092GLAPI void GLAPIENTRY glTexCoord4i( GLint s, GLint t, GLint r, GLint q );
1093GLAPI void GLAPIENTRY glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q );
1094
1095GLAPI void GLAPIENTRY glTexCoord1dv( const GLdouble *v );
1096GLAPI void GLAPIENTRY glTexCoord1fv( const GLfloat *v );
1097GLAPI void GLAPIENTRY glTexCoord1iv( const GLint *v );
1098GLAPI void GLAPIENTRY glTexCoord1sv( const GLshort *v );
1099
1100GLAPI void GLAPIENTRY glTexCoord2dv( const GLdouble *v );
1101GLAPI void GLAPIENTRY glTexCoord2fv( const GLfloat *v );
1102GLAPI void GLAPIENTRY glTexCoord2iv( const GLint *v );
1103GLAPI void GLAPIENTRY glTexCoord2sv( const GLshort *v );
1104
1105GLAPI void GLAPIENTRY glTexCoord3dv( const GLdouble *v );
1106GLAPI void GLAPIENTRY glTexCoord3fv( const GLfloat *v );
1107GLAPI void GLAPIENTRY glTexCoord3iv( const GLint *v );
1108GLAPI void GLAPIENTRY glTexCoord3sv( const GLshort *v );
1109
1110GLAPI void GLAPIENTRY glTexCoord4dv( const GLdouble *v );
1111GLAPI void GLAPIENTRY glTexCoord4fv( const GLfloat *v );
1112GLAPI void GLAPIENTRY glTexCoord4iv( const GLint *v );
1113GLAPI void GLAPIENTRY glTexCoord4sv( const GLshort *v );
1114
1115
1116GLAPI void GLAPIENTRY glRasterPos2d( GLdouble x, GLdouble y );
1117GLAPI void GLAPIENTRY glRasterPos2f( GLfloat x, GLfloat y );
1118GLAPI void GLAPIENTRY glRasterPos2i( GLint x, GLint y );
1119GLAPI void GLAPIENTRY glRasterPos2s( GLshort x, GLshort y );
1120
1121GLAPI void GLAPIENTRY glRasterPos3d( GLdouble x, GLdouble y, GLdouble z );
1122GLAPI void GLAPIENTRY glRasterPos3f( GLfloat x, GLfloat y, GLfloat z );
1123GLAPI void GLAPIENTRY glRasterPos3i( GLint x, GLint y, GLint z );
1124GLAPI void GLAPIENTRY glRasterPos3s( GLshort x, GLshort y, GLshort z );
1125
1126GLAPI void GLAPIENTRY glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
1127GLAPI void GLAPIENTRY glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
1128GLAPI void GLAPIENTRY glRasterPos4i( GLint x, GLint y, GLint z, GLint w );
1129GLAPI void GLAPIENTRY glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w );
1130
1131GLAPI void GLAPIENTRY glRasterPos2dv( const GLdouble *v );
1132GLAPI void GLAPIENTRY glRasterPos2fv( const GLfloat *v );
1133GLAPI void GLAPIENTRY glRasterPos2iv( const GLint *v );
1134GLAPI void GLAPIENTRY glRasterPos2sv( const GLshort *v );
1135
1136GLAPI void GLAPIENTRY glRasterPos3dv( const GLdouble *v );
1137GLAPI void GLAPIENTRY glRasterPos3fv( const GLfloat *v );
1138GLAPI void GLAPIENTRY glRasterPos3iv( const GLint *v );
1139GLAPI void GLAPIENTRY glRasterPos3sv( const GLshort *v );
1140
1141GLAPI void GLAPIENTRY glRasterPos4dv( const GLdouble *v );
1142GLAPI void GLAPIENTRY glRasterPos4fv( const GLfloat *v );
1143GLAPI void GLAPIENTRY glRasterPos4iv( const GLint *v );
1144GLAPI void GLAPIENTRY glRasterPos4sv( const GLshort *v );
1145
1146
1147GLAPI void GLAPIENTRY glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
1148GLAPI void GLAPIENTRY glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
1149GLAPI void GLAPIENTRY glRecti( GLint x1, GLint y1, GLint x2, GLint y2 );
1150GLAPI void GLAPIENTRY glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
1151
1152
1153GLAPI void GLAPIENTRY glRectdv( const GLdouble *v1, const GLdouble *v2 );
1154GLAPI void GLAPIENTRY glRectfv( const GLfloat *v1, const GLfloat *v2 );
1155GLAPI void GLAPIENTRY glRectiv( const GLint *v1, const GLint *v2 );
1156GLAPI void GLAPIENTRY glRectsv( const GLshort *v1, const GLshort *v2 );
1157
1158
1159/*
1160 * Vertex Arrays (1.1)
1161 */
1162
1163GLAPI void GLAPIENTRY glVertexPointer( GLint size, GLenum type,
1164 GLsizei stride, const GLvoid *ptr );
1165
1166GLAPI void GLAPIENTRY glNormalPointer( GLenum type, GLsizei stride,
1167 const GLvoid *ptr );
1168
1169GLAPI void GLAPIENTRY glColorPointer( GLint size, GLenum type,
1170 GLsizei stride, const GLvoid *ptr );
1171
1172GLAPI void GLAPIENTRY glIndexPointer( GLenum type, GLsizei stride,
1173 const GLvoid *ptr );
1174
1175GLAPI void GLAPIENTRY glTexCoordPointer( GLint size, GLenum type,
1176 GLsizei stride, const GLvoid *ptr );
1177
1178GLAPI void GLAPIENTRY glEdgeFlagPointer( GLsizei stride, const GLvoid *ptr );
1179
1180GLAPI void GLAPIENTRY glGetPointerv( GLenum pname, GLvoid **params );
1181
1182GLAPI void GLAPIENTRY glArrayElement( GLint i );
1183
1184GLAPI void GLAPIENTRY glDrawArrays( GLenum mode, GLint first, GLsizei count );
1185
1186GLAPI void GLAPIENTRY glDrawElements( GLenum mode, GLsizei count,
1187 GLenum type, const GLvoid *indices );
1188
1189GLAPI void GLAPIENTRY glInterleavedArrays( GLenum format, GLsizei stride,
1190 const GLvoid *pointer );
1191
1192/*
1193 * Lighting
1194 */
1195
1196GLAPI void GLAPIENTRY glShadeModel( GLenum mode );
1197
1198GLAPI void GLAPIENTRY glLightf( GLenum light, GLenum pname, GLfloat param );
1199GLAPI void GLAPIENTRY glLighti( GLenum light, GLenum pname, GLint param );
1200GLAPI void GLAPIENTRY glLightfv( GLenum light, GLenum pname,
1201 const GLfloat *params );
1202GLAPI void GLAPIENTRY glLightiv( GLenum light, GLenum pname,
1203 const GLint *params );
1204
1205GLAPI void GLAPIENTRY glGetLightfv( GLenum light, GLenum pname,
1206 GLfloat *params );
1207GLAPI void GLAPIENTRY glGetLightiv( GLenum light, GLenum pname,
1208 GLint *params );
1209
1210GLAPI void GLAPIENTRY glLightModelf( GLenum pname, GLfloat param );
1211GLAPI void GLAPIENTRY glLightModeli( GLenum pname, GLint param );
1212GLAPI void GLAPIENTRY glLightModelfv( GLenum pname, const GLfloat *params );
1213GLAPI void GLAPIENTRY glLightModeliv( GLenum pname, const GLint *params );
1214
1215GLAPI void GLAPIENTRY glMaterialf( GLenum face, GLenum pname, GLfloat param );
1216GLAPI void GLAPIENTRY glMateriali( GLenum face, GLenum pname, GLint param );
1217GLAPI void GLAPIENTRY glMaterialfv( GLenum face, GLenum pname, const GLfloat *params );
1218GLAPI void GLAPIENTRY glMaterialiv( GLenum face, GLenum pname, const GLint *params );
1219
1220GLAPI void GLAPIENTRY glGetMaterialfv( GLenum face, GLenum pname, GLfloat *params );
1221GLAPI void GLAPIENTRY glGetMaterialiv( GLenum face, GLenum pname, GLint *params );
1222
1223GLAPI void GLAPIENTRY glColorMaterial( GLenum face, GLenum mode );
1224
1225
1226/*
1227 * Raster functions
1228 */
1229
1230GLAPI void GLAPIENTRY glPixelZoom( GLfloat xfactor, GLfloat yfactor );
1231
1232GLAPI void GLAPIENTRY glPixelStoref( GLenum pname, GLfloat param );
1233GLAPI void GLAPIENTRY glPixelStorei( GLenum pname, GLint param );
1234
1235GLAPI void GLAPIENTRY glPixelTransferf( GLenum pname, GLfloat param );
1236GLAPI void GLAPIENTRY glPixelTransferi( GLenum pname, GLint param );
1237
1238GLAPI void GLAPIENTRY glPixelMapfv( GLenum map, GLsizei mapsize,
1239 const GLfloat *values );
1240GLAPI void GLAPIENTRY glPixelMapuiv( GLenum map, GLsizei mapsize,
1241 const GLuint *values );
1242GLAPI void GLAPIENTRY glPixelMapusv( GLenum map, GLsizei mapsize,
1243 const GLushort *values );
1244
1245GLAPI void GLAPIENTRY glGetPixelMapfv( GLenum map, GLfloat *values );
1246GLAPI void GLAPIENTRY glGetPixelMapuiv( GLenum map, GLuint *values );
1247GLAPI void GLAPIENTRY glGetPixelMapusv( GLenum map, GLushort *values );
1248
1249GLAPI void GLAPIENTRY glBitmap( GLsizei width, GLsizei height,
1250 GLfloat xorig, GLfloat yorig,
1251 GLfloat xmove, GLfloat ymove,
1252 const GLubyte *bitmap );
1253
1254GLAPI void GLAPIENTRY glReadPixels( GLint x, GLint y,
1255 GLsizei width, GLsizei height,
1256 GLenum format, GLenum type,
1257 GLvoid *pixels );
1258
1259GLAPI void GLAPIENTRY glDrawPixels( GLsizei width, GLsizei height,
1260 GLenum format, GLenum type,
1261 const GLvoid *pixels );
1262
1263GLAPI void GLAPIENTRY glCopyPixels( GLint x, GLint y,
1264 GLsizei width, GLsizei height,
1265 GLenum type );
1266
1267/*
1268 * Stenciling
1269 */
1270
1271GLAPI void GLAPIENTRY glStencilFunc( GLenum func, GLint ref, GLuint mask );
1272
1273GLAPI void GLAPIENTRY glStencilMask( GLuint mask );
1274
1275GLAPI void GLAPIENTRY glStencilOp( GLenum fail, GLenum zfail, GLenum zpass );
1276
1277GLAPI void GLAPIENTRY glClearStencil( GLint s );
1278
1279
1280
1281/*
1282 * Texture mapping
1283 */
1284
1285GLAPI void GLAPIENTRY glTexGend( GLenum coord, GLenum pname, GLdouble param );
1286GLAPI void GLAPIENTRY glTexGenf( GLenum coord, GLenum pname, GLfloat param );
1287GLAPI void GLAPIENTRY glTexGeni( GLenum coord, GLenum pname, GLint param );
1288
1289GLAPI void GLAPIENTRY glTexGendv( GLenum coord, GLenum pname, const GLdouble *params );
1290GLAPI void GLAPIENTRY glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params );
1291GLAPI void GLAPIENTRY glTexGeniv( GLenum coord, GLenum pname, const GLint *params );
1292
1293GLAPI void GLAPIENTRY glGetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
1294GLAPI void GLAPIENTRY glGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
1295GLAPI void GLAPIENTRY glGetTexGeniv( GLenum coord, GLenum pname, GLint *params );
1296
1297
1298GLAPI void GLAPIENTRY glTexEnvf( GLenum target, GLenum pname, GLfloat param );
1299GLAPI void GLAPIENTRY glTexEnvi( GLenum target, GLenum pname, GLint param );
1300
1301GLAPI void GLAPIENTRY glTexEnvfv( GLenum target, GLenum pname, const GLfloat *params );
1302GLAPI void GLAPIENTRY glTexEnviv( GLenum target, GLenum pname, const GLint *params );
1303
1304GLAPI void GLAPIENTRY glGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );
1305GLAPI void GLAPIENTRY glGetTexEnviv( GLenum target, GLenum pname, GLint *params );
1306
1307
1308GLAPI void GLAPIENTRY glTexParameterf( GLenum target, GLenum pname, GLfloat param );
1309GLAPI void GLAPIENTRY glTexParameteri( GLenum target, GLenum pname, GLint param );
1310
1311GLAPI void GLAPIENTRY glTexParameterfv( GLenum target, GLenum pname,
1312 const GLfloat *params );
1313GLAPI void GLAPIENTRY glTexParameteriv( GLenum target, GLenum pname,
1314 const GLint *params );
1315
1316GLAPI void GLAPIENTRY glGetTexParameterfv( GLenum target,
1317 GLenum pname, GLfloat *params);
1318GLAPI void GLAPIENTRY glGetTexParameteriv( GLenum target,
1319 GLenum pname, GLint *params );
1320
1321GLAPI void GLAPIENTRY glGetTexLevelParameterfv( GLenum target, GLint level,
1322 GLenum pname, GLfloat *params );
1323GLAPI void GLAPIENTRY glGetTexLevelParameteriv( GLenum target, GLint level,
1324 GLenum pname, GLint *params );
1325
1326
1327GLAPI void GLAPIENTRY glTexImage1D( GLenum target, GLint level,
1328 GLint internalFormat,
1329 GLsizei width, GLint border,
1330 GLenum format, GLenum type,
1331 const GLvoid *pixels );
1332
1333GLAPI void GLAPIENTRY glTexImage2D( GLenum target, GLint level,
1334 GLint internalFormat,
1335 GLsizei width, GLsizei height,
1336 GLint border, GLenum format, GLenum type,
1337 const GLvoid *pixels );
1338
1339GLAPI void GLAPIENTRY glGetTexImage( GLenum target, GLint level,
1340 GLenum format, GLenum type,
1341 GLvoid *pixels );
1342
1343
1344/* 1.1 functions */
1345
1346GLAPI void GLAPIENTRY glGenTextures( GLsizei n, GLuint *textures );
1347
1348GLAPI void GLAPIENTRY glDeleteTextures( GLsizei n, const GLuint *textures);
1349
1350GLAPI void GLAPIENTRY glBindTexture( GLenum target, GLuint texture );
1351
1352GLAPI void GLAPIENTRY glPrioritizeTextures( GLsizei n,
1353 const GLuint *textures,
1354 const GLclampf *priorities );
1355
1356GLAPI GLboolean GLAPIENTRY glAreTexturesResident( GLsizei n,
1357 const GLuint *textures,
1358 GLboolean *residences );
1359
1360GLAPI GLboolean GLAPIENTRY glIsTexture( GLuint texture );
1361
1362
1363GLAPI void GLAPIENTRY glTexSubImage1D( GLenum target, GLint level,
1364 GLint xoffset,
1365 GLsizei width, GLenum format,
1366 GLenum type, const GLvoid *pixels );
1367
1368
1369GLAPI void GLAPIENTRY glTexSubImage2D( GLenum target, GLint level,
1370 GLint xoffset, GLint yoffset,
1371 GLsizei width, GLsizei height,
1372 GLenum format, GLenum type,
1373 const GLvoid *pixels );
1374
1375
1376GLAPI void GLAPIENTRY glCopyTexImage1D( GLenum target, GLint level,
1377 GLenum internalformat,
1378 GLint x, GLint y,
1379 GLsizei width, GLint border );
1380
1381
1382GLAPI void GLAPIENTRY glCopyTexImage2D( GLenum target, GLint level,
1383 GLenum internalformat,
1384 GLint x, GLint y,
1385 GLsizei width, GLsizei height,
1386 GLint border );
1387
1388
1389GLAPI void GLAPIENTRY glCopyTexSubImage1D( GLenum target, GLint level,
1390 GLint xoffset, GLint x, GLint y,
1391 GLsizei width );
1392
1393
1394GLAPI void GLAPIENTRY glCopyTexSubImage2D( GLenum target, GLint level,
1395 GLint xoffset, GLint yoffset,
1396 GLint x, GLint y,
1397 GLsizei width, GLsizei height );
1398
1399
1400/*
1401 * Evaluators
1402 */
1403
1404GLAPI void GLAPIENTRY glMap1d( GLenum target, GLdouble u1, GLdouble u2,
1405 GLint stride,
1406 GLint order, const GLdouble *points );
1407GLAPI void GLAPIENTRY glMap1f( GLenum target, GLfloat u1, GLfloat u2,
1408 GLint stride,
1409 GLint order, const GLfloat *points );
1410
1411GLAPI void GLAPIENTRY glMap2d( GLenum target,
1412 GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
1413 GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
1414 const GLdouble *points );
1415GLAPI void GLAPIENTRY glMap2f( GLenum target,
1416 GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
1417 GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
1418 const GLfloat *points );
1419
1420GLAPI void GLAPIENTRY glGetMapdv( GLenum target, GLenum query, GLdouble *v );
1421GLAPI void GLAPIENTRY glGetMapfv( GLenum target, GLenum query, GLfloat *v );
1422GLAPI void GLAPIENTRY glGetMapiv( GLenum target, GLenum query, GLint *v );
1423
1424GLAPI void GLAPIENTRY glEvalCoord1d( GLdouble u );
1425GLAPI void GLAPIENTRY glEvalCoord1f( GLfloat u );
1426
1427GLAPI void GLAPIENTRY glEvalCoord1dv( const GLdouble *u );
1428GLAPI void GLAPIENTRY glEvalCoord1fv( const GLfloat *u );
1429
1430GLAPI void GLAPIENTRY glEvalCoord2d( GLdouble u, GLdouble v );
1431GLAPI void GLAPIENTRY glEvalCoord2f( GLfloat u, GLfloat v );
1432
1433GLAPI void GLAPIENTRY glEvalCoord2dv( const GLdouble *u );
1434GLAPI void GLAPIENTRY glEvalCoord2fv( const GLfloat *u );
1435
1436GLAPI void GLAPIENTRY glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
1437GLAPI void GLAPIENTRY glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
1438
1439GLAPI void GLAPIENTRY glMapGrid2d( GLint un, GLdouble u1, GLdouble u2,
1440 GLint vn, GLdouble v1, GLdouble v2 );
1441GLAPI void GLAPIENTRY glMapGrid2f( GLint un, GLfloat u1, GLfloat u2,
1442 GLint vn, GLfloat v1, GLfloat v2 );
1443
1444GLAPI void GLAPIENTRY glEvalPoint1( GLint i );
1445
1446GLAPI void GLAPIENTRY glEvalPoint2( GLint i, GLint j );
1447
1448GLAPI void GLAPIENTRY glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
1449
1450GLAPI void GLAPIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
1451
1452
1453/*
1454 * Fog
1455 */
1456
1457GLAPI void GLAPIENTRY glFogf( GLenum pname, GLfloat param );
1458
1459GLAPI void GLAPIENTRY glFogi( GLenum pname, GLint param );
1460
1461GLAPI void GLAPIENTRY glFogfv( GLenum pname, const GLfloat *params );
1462
1463GLAPI void GLAPIENTRY glFogiv( GLenum pname, const GLint *params );
1464
1465
1466/*
1467 * Selection and Feedback
1468 */
1469
1470GLAPI void GLAPIENTRY glFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );
1471
1472GLAPI void GLAPIENTRY glPassThrough( GLfloat token );
1473
1474GLAPI void GLAPIENTRY glSelectBuffer( GLsizei size, GLuint *buffer );
1475
1476GLAPI void GLAPIENTRY glInitNames( void );
1477
1478GLAPI void GLAPIENTRY glLoadName( GLuint name );
1479
1480GLAPI void GLAPIENTRY glPushName( GLuint name );
1481
1482GLAPI void GLAPIENTRY glPopName( void );
1483
1484#endif
1485#ifdef SDL_OPENGL_1_FUNCTION_TYPEDEFS
1486
1487typedef void (APIENTRYP PFNGLCLEARINDEXPROC) ( GLfloat c );
1488
1489typedef void (APIENTRYP PFNGLCLEARCOLORPROC) ( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha );
1490
1491typedef void (APIENTRYP PFNGLCLEARPROC) ( GLbitfield mask );
1492
1493typedef void (APIENTRYP PFNGLINDEXMASKPROC) ( GLuint mask );
1494
1495typedef void (APIENTRYP PFNGLCOLORMASKPROC) ( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha );
1496
1497typedef void (APIENTRYP PFNGLALPHAFUNCPROC) ( GLenum func, GLclampf ref );
1498
1499typedef void (APIENTRYP PFNGLBLENDFUNCPROC) ( GLenum sfactor, GLenum dfactor );
1500
1501typedef void (APIENTRYP PFNGLLOGICOPPROC) ( GLenum opcode );
1502
1503typedef void (APIENTRYP PFNGLCULLFACEPROC) ( GLenum mode );
1504
1505typedef void (APIENTRYP PFNGLFRONTFACEPROC) ( GLenum mode );
1506
1507typedef void (APIENTRYP PFNGLPOINTSIZEPROC) ( GLfloat size );
1508
1509typedef void (APIENTRYP PFNGLLINEWIDTHPROC) ( GLfloat width );
1510
1511typedef void (APIENTRYP PFNGLLINESTIPPLEPROC) ( GLint factor, GLushort pattern );
1512
1513typedef void (APIENTRYP PFNGLPOLYGONMODEPROC) ( GLenum face, GLenum mode );
1514
1515typedef void (APIENTRYP PFNGLPOLYGONOFFSETPROC) ( GLfloat factor, GLfloat units );
1516
1517typedef void (APIENTRYP PFNGLPOLYGONSTIPPLEPROC) ( const GLubyte *mask );
1518
1519typedef void (APIENTRYP PFNGLGETPOLYGONSTIPPLEPROC) ( GLubyte *mask );
1520
1521typedef void (APIENTRYP PFNGLEDGEFLAGPROC) ( GLboolean flag );
1522
1523typedef void (APIENTRYP PFNGLEDGEFLAGVPROC) ( const GLboolean *flag );
1524
1525typedef void (APIENTRYP PFNGLSCISSORPROC) ( GLint x, GLint y, GLsizei width, GLsizei height);
1526
1527typedef void (APIENTRYP PFNGLCLIPPLANEPROC) ( GLenum plane, const GLdouble *equation );
1528
1529typedef void (APIENTRYP PFNGLGETCLIPPLANEPROC) ( GLenum plane, GLdouble *equation );
1530
1531typedef void (APIENTRYP PFNGLDRAWBUFFERPROC) ( GLenum mode );
1532
1533typedef void (APIENTRYP PFNGLREADBUFFERPROC) ( GLenum mode );
1534
1535typedef void (APIENTRYP PFNGLENABLEPROC) ( GLenum cap );
1536
1537typedef void (APIENTRYP PFNGLDISABLEPROC) ( GLenum cap );
1538
1539typedef GLboolean (APIENTRYP PFNGLISENABLEDPROC) ( GLenum cap );
1540
1541
1542typedef void (APIENTRYP PFNGLENABLECLIENTSTATEPROC) ( GLenum cap ); /* 1.1 */
1543
1544typedef void (APIENTRYP PFNGLDISABLECLIENTSTATEPROC) ( GLenum cap ); /* 1.1 */
1545
1546
1547typedef void (APIENTRYP PFNGLGETBOOLEANVPROC) ( GLenum pname, GLboolean *params );
1548
1549typedef void (APIENTRYP PFNGLGETDOUBLEVPROC) ( GLenum pname, GLdouble *params );
1550
1551typedef void (APIENTRYP PFNGLGETFLOATVPROC) ( GLenum pname, GLfloat *params );
1552
1553typedef void (APIENTRYP PFNGLGETINTEGERVPROC) ( GLenum pname, GLint *params );
1554
1555
1556typedef void (APIENTRYP PFNGLPUSHATTRIBPROC) ( GLbitfield mask );
1557
1558typedef void (APIENTRYP PFNGLPOPATTRIBPROC) ( void );
1559
1560
1561typedef void (APIENTRYP PFNGLPUSHCLIENTATTRIBPROC) ( GLbitfield mask ); /* 1.1 */
1562
1563typedef void (APIENTRYP PFNGLPOPCLIENTATTRIBPROC) ( void ); /* 1.1 */
1564
1565
1566typedef GLint (APIENTRYP PFNGLRENDERMODEPROC) ( GLenum mode );
1567
1568typedef GLenum (APIENTRYP PFNGLGETERRORPROC) ( void );
1569
1570typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGPROC) ( GLenum name );
1571
1572typedef void (APIENTRYP PFNGLFINISHPROC) ( void );
1573
1574typedef void (APIENTRYP PFNGLFLUSHPROC) ( void );
1575
1576typedef void (APIENTRYP PFNGLHINTPROC) ( GLenum target, GLenum mode );
1577
1578
1579/*
1580 * Depth Buffer
1581 */
1582
1583typedef void (APIENTRYP PFNGLCLEARDEPTHPROC) ( GLclampd depth );
1584
1585typedef void (APIENTRYP PFNGLDEPTHFUNCPROC) ( GLenum func );
1586
1587typedef void (APIENTRYP PFNGLDEPTHMASKPROC) ( GLboolean flag );
1588
1589typedef void (APIENTRYP PFNGLDEPTHRANGEPROC) ( GLclampd near_val, GLclampd far_val );
1590
1591
1592/*
1593 * Accumulation Buffer
1594 */
1595
1596typedef void (APIENTRYP PFNGLCLEARACCUMPROC) ( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
1597
1598typedef void (APIENTRYP PFNGLACCUMPROC) ( GLenum op, GLfloat value );
1599
1600
1601/*
1602 * Transformation
1603 */
1604
1605typedef void (APIENTRYP PFNGLMATRIXMODEPROC) ( GLenum mode );
1606
1607typedef void (APIENTRYP PFNGLORTHOPROC) ( GLdouble left, GLdouble right,
1608 GLdouble bottom, GLdouble top,
1609 GLdouble near_val, GLdouble far_val );
1610
1611typedef void (APIENTRYP PFNGLFRUSTUMPROC) ( GLdouble left, GLdouble right,
1612 GLdouble bottom, GLdouble top,
1613 GLdouble near_val, GLdouble far_val );
1614
1615typedef void (APIENTRYP PFNGLVIEWPORTPROC) ( GLint x, GLint y,
1616 GLsizei width, GLsizei height );
1617
1618typedef void (APIENTRYP PFNGLPUSHMATRIXPROC) ( void );
1619
1620typedef void (APIENTRYP PFNGLPOPMATRIXPROC) ( void );
1621
1622typedef void (APIENTRYP PFNGLLOADIDENTITYPROC) ( void );
1623
1624typedef void (APIENTRYP PFNGLLOADMATRIXDPROC) ( const GLdouble *m );
1625typedef void (APIENTRYP PFNGLLOADMATRIXFPROC) ( const GLfloat *m );
1626
1627typedef void (APIENTRYP PFNGLMULTMATRIXDPROC) ( const GLdouble *m );
1628typedef void (APIENTRYP PFNGLMULTMATRIXFPROC) ( const GLfloat *m );
1629
1630typedef void (APIENTRYP PFNGLROTATEDPROC) ( GLdouble angle,
1631 GLdouble x, GLdouble y, GLdouble z );
1632typedef void (APIENTRYP PFNGLROTATEFPROC) ( GLfloat angle,
1633 GLfloat x, GLfloat y, GLfloat z );
1634
1635typedef void (APIENTRYP PFNGLSCALEDPROC) ( GLdouble x, GLdouble y, GLdouble z );
1636typedef void (APIENTRYP PFNGLSCALEFPROC) ( GLfloat x, GLfloat y, GLfloat z );
1637
1638typedef void (APIENTRYP PFNGLTRANSLATEDPROC) ( GLdouble x, GLdouble y, GLdouble z );
1639typedef void (APIENTRYP PFNGLTRANSLATEFPROC) ( GLfloat x, GLfloat y, GLfloat z );
1640
1641
1642/*
1643 * Display Lists
1644 */
1645
1646typedef GLboolean (APIENTRYP PFNGLISLISTPROC) ( GLuint list );
1647
1648typedef void (APIENTRYP PFNGLDELETELISTSPROC) ( GLuint list, GLsizei range );
1649
1650typedef GLuint (APIENTRYP PFNGLGENLISTSPROC) ( GLsizei range );
1651
1652typedef void (APIENTRYP PFNGLNEWLISTPROC) ( GLuint list, GLenum mode );
1653
1654typedef void (APIENTRYP PFNGLENDLISTPROC) ( void );
1655
1656typedef void (APIENTRYP PFNGLCALLLISTPROC) ( GLuint list );
1657
1658typedef void (APIENTRYP PFNGLCALLLISTSPROC) ( GLsizei n, GLenum type,
1659 const GLvoid *lists );
1660
1661typedef void (APIENTRYP PFNGLLISTBASEPROC) ( GLuint base );
1662
1663
1664/*
1665 * Drawing Functions
1666 */
1667
1668typedef void (APIENTRYP PFNGLBEGINPROC) ( GLenum mode );
1669
1670typedef void (APIENTRYP PFNGLENDPROC) ( void );
1671
1672
1673typedef void (APIENTRYP PFNGLVERTEX2DPROC) ( GLdouble x, GLdouble y );
1674typedef void (APIENTRYP PFNGLVERTEX2FPROC) ( GLfloat x, GLfloat y );
1675typedef void (APIENTRYP PFNGLVERTEX2IPROC) ( GLint x, GLint y );
1676typedef void (APIENTRYP PFNGLVERTEX2SPROC) ( GLshort x, GLshort y );
1677
1678typedef void (APIENTRYP PFNGLVERTEX3DPROC) ( GLdouble x, GLdouble y, GLdouble z );
1679typedef void (APIENTRYP PFNGLVERTEX3FPROC) ( GLfloat x, GLfloat y, GLfloat z );
1680typedef void (APIENTRYP PFNGLVERTEX3IPROC) ( GLint x, GLint y, GLint z );
1681typedef void (APIENTRYP PFNGLVERTEX3SPROC) ( GLshort x, GLshort y, GLshort z );
1682
1683typedef void (APIENTRYP PFNGLVERTEX4DPROC) ( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
1684typedef void (APIENTRYP PFNGLVERTEX4FPROC) ( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
1685typedef void (APIENTRYP PFNGLVERTEX4IPROC) ( GLint x, GLint y, GLint z, GLint w );
1686typedef void (APIENTRYP PFNGLVERTEX4SPROC) ( GLshort x, GLshort y, GLshort z, GLshort w );
1687
1688typedef void (APIENTRYP PFNGLVERTEX2DVPROC) ( const GLdouble *v );
1689typedef void (APIENTRYP PFNGLVERTEX2FVPROC) ( const GLfloat *v );
1690typedef void (APIENTRYP PFNGLVERTEX2IVPROC) ( const GLint *v );
1691typedef void (APIENTRYP PFNGLVERTEX2SVPROC) ( const GLshort *v );
1692
1693typedef void (APIENTRYP PFNGLVERTEX3DVPROC) ( const GLdouble *v );
1694typedef void (APIENTRYP PFNGLVERTEX3FVPROC) ( const GLfloat *v );
1695typedef void (APIENTRYP PFNGLVERTEX3IVPROC) ( const GLint *v );
1696typedef void (APIENTRYP PFNGLVERTEX3SVPROC) ( const GLshort *v );
1697
1698typedef void (APIENTRYP PFNGLVERTEX4DVPROC) ( const GLdouble *v );
1699typedef void (APIENTRYP PFNGLVERTEX4FVPROC) ( const GLfloat *v );
1700typedef void (APIENTRYP PFNGLVERTEX4IVPROC) ( const GLint *v );
1701typedef void (APIENTRYP PFNGLVERTEX4SVPROC) ( const GLshort *v );
1702
1703
1704typedef void (APIENTRYP PFNGLNORMAL3BPROC) ( GLbyte nx, GLbyte ny, GLbyte nz );
1705typedef void (APIENTRYP PFNGLNORMAL3DPROC) ( GLdouble nx, GLdouble ny, GLdouble nz );
1706typedef void (APIENTRYP PFNGLNORMAL3FPROC) ( GLfloat nx, GLfloat ny, GLfloat nz );
1707typedef void (APIENTRYP PFNGLNORMAL3IPROC) ( GLint nx, GLint ny, GLint nz );
1708typedef void (APIENTRYP PFNGLNORMAL3SPROC) ( GLshort nx, GLshort ny, GLshort nz );
1709
1710typedef void (APIENTRYP PFNGLNORMAL3BVPROC) ( const GLbyte *v );
1711typedef void (APIENTRYP PFNGLNORMAL3DVPROC) ( const GLdouble *v );
1712typedef void (APIENTRYP PFNGLNORMAL3FVPROC) ( const GLfloat *v );
1713typedef void (APIENTRYP PFNGLNORMAL3IVPROC) ( const GLint *v );
1714typedef void (APIENTRYP PFNGLNORMAL3SVPROC) ( const GLshort *v );
1715
1716
1717typedef void (APIENTRYP PFNGLINDEXDPROC) ( GLdouble c );
1718typedef void (APIENTRYP PFNGLINDEXFPROC) ( GLfloat c );
1719typedef void (APIENTRYP PFNGLINDEXIPROC) ( GLint c );
1720typedef void (APIENTRYP PFNGLINDEXSPROC) ( GLshort c );
1721typedef void (APIENTRYP PFNGLINDEXUBPROC) ( GLubyte c ); /* 1.1 */
1722
1723typedef void (APIENTRYP PFNGLINDEXDVPROC) ( const GLdouble *c );
1724typedef void (APIENTRYP PFNGLINDEXFVPROC) ( const GLfloat *c );
1725typedef void (APIENTRYP PFNGLINDEXIVPROC) ( const GLint *c );
1726typedef void (APIENTRYP PFNGLINDEXSVPROC) ( const GLshort *c );
1727typedef void (APIENTRYP PFNGLINDEXUBVPROC) ( const GLubyte *c ); /* 1.1 */
1728
1729typedef void (APIENTRYP PFNGLCOLOR3BPROC) ( GLbyte red, GLbyte green, GLbyte blue );
1730typedef void (APIENTRYP PFNGLCOLOR3DPROC) ( GLdouble red, GLdouble green, GLdouble blue );
1731typedef void (APIENTRYP PFNGLCOLOR3FPROC) ( GLfloat red, GLfloat green, GLfloat blue );
1732typedef void (APIENTRYP PFNGLCOLOR3IPROC) ( GLint red, GLint green, GLint blue );
1733typedef void (APIENTRYP PFNGLCOLOR3SPROC) ( GLshort red, GLshort green, GLshort blue );
1734typedef void (APIENTRYP PFNGLCOLOR3UBPROC) ( GLubyte red, GLubyte green, GLubyte blue );
1735typedef void (APIENTRYP PFNGLCOLOR3UIPROC) ( GLuint red, GLuint green, GLuint blue );
1736typedef void (APIENTRYP PFNGLCOLOR3USPROC) ( GLushort red, GLushort green, GLushort blue );
1737
1738typedef void (APIENTRYP PFNGLCOLOR4BPROC) ( GLbyte red, GLbyte green,
1739 GLbyte blue, GLbyte alpha );
1740typedef void (APIENTRYP PFNGLCOLOR4DPROC) ( GLdouble red, GLdouble green,
1741 GLdouble blue, GLdouble alpha );
1742typedef void (APIENTRYP PFNGLCOLOR4FPROC) ( GLfloat red, GLfloat green,
1743 GLfloat blue, GLfloat alpha );
1744typedef void (APIENTRYP PFNGLCOLOR4IPROC) ( GLint red, GLint green,
1745 GLint blue, GLint alpha );
1746typedef void (APIENTRYP PFNGLCOLOR4SPROC) ( GLshort red, GLshort green,
1747 GLshort blue, GLshort alpha );
1748typedef void (APIENTRYP PFNGLCOLOR4UBPROC) ( GLubyte red, GLubyte green,
1749 GLubyte blue, GLubyte alpha );
1750typedef void (APIENTRYP PFNGLCOLOR4UIPROC) ( GLuint red, GLuint green,
1751 GLuint blue, GLuint alpha );
1752typedef void (APIENTRYP PFNGLCOLOR4USPROC) ( GLushort red, GLushort green,
1753 GLushort blue, GLushort alpha );
1754
1755
1756typedef void (APIENTRYP PFNGLCOLOR3BVPROC) ( const GLbyte *v );
1757typedef void (APIENTRYP PFNGLCOLOR3DVPROC) ( const GLdouble *v );
1758typedef void (APIENTRYP PFNGLCOLOR3FVPROC) ( const GLfloat *v );
1759typedef void (APIENTRYP PFNGLCOLOR3IVPROC) ( const GLint *v );
1760typedef void (APIENTRYP PFNGLCOLOR3SVPROC) ( const GLshort *v );
1761typedef void (APIENTRYP PFNGLCOLOR3UBVPROC) ( const GLubyte *v );
1762typedef void (APIENTRYP PFNGLCOLOR3UIVPROC) ( const GLuint *v );
1763typedef void (APIENTRYP PFNGLCOLOR3USVPROC) ( const GLushort *v );
1764
1765typedef void (APIENTRYP PFNGLCOLOR4BVPROC) ( const GLbyte *v );
1766typedef void (APIENTRYP PFNGLCOLOR4DVPROC) ( const GLdouble *v );
1767typedef void (APIENTRYP PFNGLCOLOR4FVPROC) ( const GLfloat *v );
1768typedef void (APIENTRYP PFNGLCOLOR4IVPROC) ( const GLint *v );
1769typedef void (APIENTRYP PFNGLCOLOR4SVPROC) ( const GLshort *v );
1770typedef void (APIENTRYP PFNGLCOLOR4UBVPROC) ( const GLubyte *v );
1771typedef void (APIENTRYP PFNGLCOLOR4UIVPROC) ( const GLuint *v );
1772typedef void (APIENTRYP PFNGLCOLOR4USVPROC) ( const GLushort *v );
1773
1774
1775typedef void (APIENTRYP PFNGLTEXCOORD1DPROC) ( GLdouble s );
1776typedef void (APIENTRYP PFNGLTEXCOORD1FPROC) ( GLfloat s );
1777typedef void (APIENTRYP PFNGLTEXCOORD1IPROC) ( GLint s );
1778typedef void (APIENTRYP PFNGLTEXCOORD1SPROC) ( GLshort s );
1779
1780typedef void (APIENTRYP PFNGLTEXCOORD2DPROC) ( GLdouble s, GLdouble t );
1781typedef void (APIENTRYP PFNGLTEXCOORD2FPROC) ( GLfloat s, GLfloat t );
1782typedef void (APIENTRYP PFNGLTEXCOORD2IPROC) ( GLint s, GLint t );
1783typedef void (APIENTRYP PFNGLTEXCOORD2SPROC) ( GLshort s, GLshort t );
1784
1785typedef void (APIENTRYP PFNGLTEXCOORD3DPROC) ( GLdouble s, GLdouble t, GLdouble r );
1786typedef void (APIENTRYP PFNGLTEXCOORD3FPROC) ( GLfloat s, GLfloat t, GLfloat r );
1787typedef void (APIENTRYP PFNGLTEXCOORD3IPROC) ( GLint s, GLint t, GLint r );
1788typedef void (APIENTRYP PFNGLTEXCOORD3SPROC) ( GLshort s, GLshort t, GLshort r );
1789
1790typedef void (APIENTRYP PFNGLTEXCOORD4DPROC) ( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
1791typedef void (APIENTRYP PFNGLTEXCOORD4FPROC) ( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
1792typedef void (APIENTRYP PFNGLTEXCOORD4IPROC) ( GLint s, GLint t, GLint r, GLint q );
1793typedef void (APIENTRYP PFNGLTEXCOORD4SPROC) ( GLshort s, GLshort t, GLshort r, GLshort q );
1794
1795typedef void (APIENTRYP PFNGLTEXCOORD1DVPROC) ( const GLdouble *v );
1796typedef void (APIENTRYP PFNGLTEXCOORD1FVPROC) ( const GLfloat *v );
1797typedef void (APIENTRYP PFNGLTEXCOORD1IVPROC) ( const GLint *v );
1798typedef void (APIENTRYP PFNGLTEXCOORD1SVPROC) ( const GLshort *v );
1799
1800typedef void (APIENTRYP PFNGLTEXCOORD2DVPROC) ( const GLdouble *v );
1801typedef void (APIENTRYP PFNGLTEXCOORD2FVPROC) ( const GLfloat *v );
1802typedef void (APIENTRYP PFNGLTEXCOORD2IVPROC) ( const GLint *v );
1803typedef void (APIENTRYP PFNGLTEXCOORD2SVPROC) ( const GLshort *v );
1804
1805typedef void (APIENTRYP PFNGLTEXCOORD3DVPROC) ( const GLdouble *v );
1806typedef void (APIENTRYP PFNGLTEXCOORD3FVPROC) ( const GLfloat *v );
1807typedef void (APIENTRYP PFNGLTEXCOORD3IVPROC) ( const GLint *v );
1808typedef void (APIENTRYP PFNGLTEXCOORD3SVPROC) ( const GLshort *v );
1809
1810typedef void (APIENTRYP PFNGLTEXCOORD4DVPROC) ( const GLdouble *v );
1811typedef void (APIENTRYP PFNGLTEXCOORD4FVPROC) ( const GLfloat *v );
1812typedef void (APIENTRYP PFNGLTEXCOORD4IVPROC) ( const GLint *v );
1813typedef void (APIENTRYP PFNGLTEXCOORD4SVPROC) ( const GLshort *v );
1814
1815
1816typedef void (APIENTRYP PFNGLRASTERPOS2DPROC) ( GLdouble x, GLdouble y );
1817typedef void (APIENTRYP PFNGLRASTERPOS2FPROC) ( GLfloat x, GLfloat y );
1818typedef void (APIENTRYP PFNGLRASTERPOS2IPROC) ( GLint x, GLint y );
1819typedef void (APIENTRYP PFNGLRASTERPOS2SPROC) ( GLshort x, GLshort y );
1820
1821typedef void (APIENTRYP PFNGLRASTERPOS3DPROC) ( GLdouble x, GLdouble y, GLdouble z );
1822typedef void (APIENTRYP PFNGLRASTERPOS3FPROC) ( GLfloat x, GLfloat y, GLfloat z );
1823typedef void (APIENTRYP PFNGLRASTERPOS3IPROC) ( GLint x, GLint y, GLint z );
1824typedef void (APIENTRYP PFNGLRASTERPOS3SPROC) ( GLshort x, GLshort y, GLshort z );
1825
1826typedef void (APIENTRYP PFNGLRASTERPOS4DPROC) ( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
1827typedef void (APIENTRYP PFNGLRASTERPOS4FPROC) ( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
1828typedef void (APIENTRYP PFNGLRASTERPOS4IPROC) ( GLint x, GLint y, GLint z, GLint w );
1829typedef void (APIENTRYP PFNGLRASTERPOS4SPROC) ( GLshort x, GLshort y, GLshort z, GLshort w );
1830
1831typedef void (APIENTRYP PFNGLRASTERPOS2DVPROC) ( const GLdouble *v );
1832typedef void (APIENTRYP PFNGLRASTERPOS2FVPROC) ( const GLfloat *v );
1833typedef void (APIENTRYP PFNGLRASTERPOS2IVPROC) ( const GLint *v );
1834typedef void (APIENTRYP PFNGLRASTERPOS2SVPROC) ( const GLshort *v );
1835
1836typedef void (APIENTRYP PFNGLRASTERPOS3DVPROC) ( const GLdouble *v );
1837typedef void (APIENTRYP PFNGLRASTERPOS3FVPROC) ( const GLfloat *v );
1838typedef void (APIENTRYP PFNGLRASTERPOS3IVPROC) ( const GLint *v );
1839typedef void (APIENTRYP PFNGLRASTERPOS3SVPROC) ( const GLshort *v );
1840
1841typedef void (APIENTRYP PFNGLRASTERPOS4DVPROC) ( const GLdouble *v );
1842typedef void (APIENTRYP PFNGLRASTERPOS4FVPROC) ( const GLfloat *v );
1843typedef void (APIENTRYP PFNGLRASTERPOS4IVPROC) ( const GLint *v );
1844typedef void (APIENTRYP PFNGLRASTERPOS4SVPROC) ( const GLshort *v );
1845
1846
1847typedef void (APIENTRYP PFNGLRECTDPROC) ( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
1848typedef void (APIENTRYP PFNGLRECTFPROC) ( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
1849typedef void (APIENTRYP PFNGLRECTIPROC) ( GLint x1, GLint y1, GLint x2, GLint y2 );
1850typedef void (APIENTRYP PFNGLRECTSPROC) ( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
1851
1852
1853typedef void (APIENTRYP PFNGLRECTDVPROC) ( const GLdouble *v1, const GLdouble *v2 );
1854typedef void (APIENTRYP PFNGLRECTFVPROC) ( const GLfloat *v1, const GLfloat *v2 );
1855typedef void (APIENTRYP PFNGLRECTIVPROC) ( const GLint *v1, const GLint *v2 );
1856typedef void (APIENTRYP PFNGLRECTSVPROC) ( const GLshort *v1, const GLshort *v2 );
1857
1858
1859/*
1860 * Vertex Arrays (1.1)
1861 */
1862
1863typedef void (APIENTRYP PFNGLVERTEXPOINTERPROC) ( GLint size, GLenum type,
1864 GLsizei stride, const GLvoid *ptr );
1865
1866typedef void (APIENTRYP PFNGLNORMALPOINTERPROC) ( GLenum type, GLsizei stride,
1867 const GLvoid *ptr );
1868
1869typedef void (APIENTRYP PFNGLCOLORPOINTERPROC) ( GLint size, GLenum type,
1870 GLsizei stride, const GLvoid *ptr );
1871
1872typedef void (APIENTRYP PFNGLINDEXPOINTERPROC) ( GLenum type, GLsizei stride,
1873 const GLvoid *ptr );
1874
1875typedef void (APIENTRYP PFNGLTEXCOORDPOINTERPROC) ( GLint size, GLenum type,
1876 GLsizei stride, const GLvoid *ptr );
1877
1878typedef void (APIENTRYP PFNGLEDGEFLAGPOINTERPROC) ( GLsizei stride, const GLvoid *ptr );
1879
1880typedef void (APIENTRYP PFNGLGETPOINTERVPROC) ( GLenum pname, GLvoid **params );
1881
1882typedef void (APIENTRYP PFNGLARRAYELEMENTPROC) ( GLint i );
1883
1884typedef void (APIENTRYP PFNGLDRAWARRAYSPROC) ( GLenum mode, GLint first, GLsizei count );
1885
1886typedef void (APIENTRYP PFNGLDRAWELEMENTSPROC) ( GLenum mode, GLsizei count,
1887 GLenum type, const GLvoid *indices );
1888
1889typedef void (APIENTRYP PFNGLINTERLEAVEDARRAYSPROC) ( GLenum format, GLsizei stride,
1890 const GLvoid *pointer );
1891
1892/*
1893 * Lighting
1894 */
1895
1896typedef void (APIENTRYP PFNGLSHADEMODELPROC) ( GLenum mode );
1897
1898typedef void (APIENTRYP PFNGLLIGHTFPROC) ( GLenum light, GLenum pname, GLfloat param );
1899typedef void (APIENTRYP PFNGLLIGHTIPROC) ( GLenum light, GLenum pname, GLint param );
1900typedef void (APIENTRYP PFNGLLIGHTFVPROC) ( GLenum light, GLenum pname,
1901 const GLfloat *params );
1902typedef void (APIENTRYP PFNGLLIGHTIVPROC) ( GLenum light, GLenum pname,
1903 const GLint *params );
1904
1905typedef void (APIENTRYP PFNGLGETLIGHTFVPROC) ( GLenum light, GLenum pname,
1906 GLfloat *params );
1907typedef void (APIENTRYP PFNGLGETLIGHTIVPROC) ( GLenum light, GLenum pname,
1908 GLint *params );
1909
1910typedef void (APIENTRYP PFNGLLIGHTMODELFPROC) ( GLenum pname, GLfloat param );
1911typedef void (APIENTRYP PFNGLLIGHTMODELIPROC) ( GLenum pname, GLint param );
1912typedef void (APIENTRYP PFNGLLIGHTMODELFVPROC) ( GLenum pname, const GLfloat *params );
1913typedef void (APIENTRYP PFNGLLIGHTMODELIVPROC) ( GLenum pname, const GLint *params );
1914
1915typedef void (APIENTRYP PFNGLMATERIALFPROC) ( GLenum face, GLenum pname, GLfloat param );
1916typedef void (APIENTRYP PFNGLMATERIALIPROC) ( GLenum face, GLenum pname, GLint param );
1917typedef void (APIENTRYP PFNGLMATERIALFVPROC) ( GLenum face, GLenum pname, const GLfloat *params );
1918typedef void (APIENTRYP PFNGLMATERIALIVPROC) ( GLenum face, GLenum pname, const GLint *params );
1919
1920typedef void (APIENTRYP PFNGLGETMATERIALFVPROC) ( GLenum face, GLenum pname, GLfloat *params );
1921typedef void (APIENTRYP PFNGLGETMATERIALIVPROC) ( GLenum face, GLenum pname, GLint *params );
1922
1923typedef void (APIENTRYP PFNGLCOLORMATERIALPROC) ( GLenum face, GLenum mode );
1924
1925
1926/*
1927 * Raster functions
1928 */
1929
1930typedef void (APIENTRYP PFNGLPIXELZOOMPROC) ( GLfloat xfactor, GLfloat yfactor );
1931
1932typedef void (APIENTRYP PFNGLPIXELSTOREFPROC) ( GLenum pname, GLfloat param );
1933typedef void (APIENTRYP PFNGLPIXELSTOREIPROC) ( GLenum pname, GLint param );
1934
1935typedef void (APIENTRYP PFNGLPIXELTRANSFERFPROC) ( GLenum pname, GLfloat param );
1936typedef void (APIENTRYP PFNGLPIXELTRANSFERIPROC) ( GLenum pname, GLint param );
1937
1938typedef void (APIENTRYP PFNGLPIXELMAPFVPROC) ( GLenum map, GLsizei mapsize,
1939 const GLfloat *values );
1940typedef void (APIENTRYP PFNGLPIXELMAPUIVPROC) ( GLenum map, GLsizei mapsize,
1941 const GLuint *values );
1942typedef void (APIENTRYP PFNGLPIXELMAPUSVPROC) ( GLenum map, GLsizei mapsize,
1943 const GLushort *values );
1944
1945typedef void (APIENTRYP PFNGLGETPIXELMAPFVPROC) ( GLenum map, GLfloat *values );
1946typedef void (APIENTRYP PFNGLGETPIXELMAPUIVPROC) ( GLenum map, GLuint *values );
1947typedef void (APIENTRYP PFNGLGETPIXELMAPUSVPROC) ( GLenum map, GLushort *values );
1948
1949typedef void (APIENTRYP PFNGLBITMAPPROC) ( GLsizei width, GLsizei height,
1950 GLfloat xorig, GLfloat yorig,
1951 GLfloat xmove, GLfloat ymove,
1952 const GLubyte *bitmap );
1953
1954typedef void (APIENTRYP PFNGLREADPIXELSPROC) ( GLint x, GLint y,
1955 GLsizei width, GLsizei height,
1956 GLenum format, GLenum type,
1957 GLvoid *pixels );
1958
1959typedef void (APIENTRYP PFNGLDRAWPIXELSPROC) ( GLsizei width, GLsizei height,
1960 GLenum format, GLenum type,
1961 const GLvoid *pixels );
1962
1963typedef void (APIENTRYP PFNGLCOPYPIXELSPROC) ( GLint x, GLint y,
1964 GLsizei width, GLsizei height,
1965 GLenum type );
1966
1967/*
1968 * Stenciling
1969 */
1970
1971typedef void (APIENTRYP PFNGLSTENCILFUNCPROC) ( GLenum func, GLint ref, GLuint mask );
1972
1973typedef void (APIENTRYP PFNGLSTENCILMASKPROC) ( GLuint mask );
1974
1975typedef void (APIENTRYP PFNGLSTENCILOPPROC) ( GLenum fail, GLenum zfail, GLenum zpass );
1976
1977typedef void (APIENTRYP PFNGLCLEARSTENCILPROC) ( GLint s );
1978
1979
1980
1981/*
1982 * Texture mapping
1983 */
1984
1985typedef void (APIENTRYP PFNGLTEXGENDPROC) ( GLenum coord, GLenum pname, GLdouble param );
1986typedef void (APIENTRYP PFNGLTEXGENFPROC) ( GLenum coord, GLenum pname, GLfloat param );
1987typedef void (APIENTRYP PFNGLTEXGENIPROC) ( GLenum coord, GLenum pname, GLint param );
1988
1989typedef void (APIENTRYP PFNGLTEXGENDVPROC) ( GLenum coord, GLenum pname, const GLdouble *params );
1990typedef void (APIENTRYP PFNGLTEXGENFVPROC) ( GLenum coord, GLenum pname, const GLfloat *params );
1991typedef void (APIENTRYP PFNGLTEXGENIVPROC) ( GLenum coord, GLenum pname, const GLint *params );
1992
1993typedef void (APIENTRYP PFNGLGETTEXGENDVPROC) ( GLenum coord, GLenum pname, GLdouble *params );
1994typedef void (APIENTRYP PFNGLGETTEXGENFVPROC) ( GLenum coord, GLenum pname, GLfloat *params );
1995typedef void (APIENTRYP PFNGLGETTEXGENIVPROC) ( GLenum coord, GLenum pname, GLint *params );
1996
1997
1998typedef void (APIENTRYP PFNGLTEXENVFPROC) ( GLenum target, GLenum pname, GLfloat param );
1999typedef void (APIENTRYP PFNGLTEXENVIPROC) ( GLenum target, GLenum pname, GLint param );
2000
2001typedef void (APIENTRYP PFNGLTEXENVFVPROC) ( GLenum target, GLenum pname, const GLfloat *params );
2002typedef void (APIENTRYP PFNGLTEXENVIVPROC) ( GLenum target, GLenum pname, const GLint *params );
2003
2004typedef void (APIENTRYP PFNGLGETTEXENVFVPROC) ( GLenum target, GLenum pname, GLfloat *params );
2005typedef void (APIENTRYP PFNGLGETTEXENVIVPROC) ( GLenum target, GLenum pname, GLint *params );
2006
2007
2008typedef void (APIENTRYP PFNGLTEXPARAMETERFPROC) ( GLenum target, GLenum pname, GLfloat param );
2009typedef void (APIENTRYP PFNGLTEXPARAMETERIPROC) ( GLenum target, GLenum pname, GLint param );
2010
2011typedef void (APIENTRYP PFNGLTEXPARAMETERFVPROC) ( GLenum target, GLenum pname,
2012 const GLfloat *params );
2013typedef void (APIENTRYP PFNGLTEXPARAMETERIVPROC) ( GLenum target, GLenum pname,
2014 const GLint *params );
2015
2016typedef void (APIENTRYP PFNGLGETTEXPARAMETERFVPROC) ( GLenum target,
2017 GLenum pname, GLfloat *params);
2018typedef void (APIENTRYP PFNGLGETTEXPARAMETERIVPROC) ( GLenum target,
2019 GLenum pname, GLint *params );
2020
2021typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC) ( GLenum target, GLint level,
2022 GLenum pname, GLfloat *params );
2023typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC) ( GLenum target, GLint level,
2024 GLenum pname, GLint *params );
2025
2026
2027typedef void (APIENTRYP PFNGLTEXIMAGE1DPROC) ( GLenum target, GLint level,
2028 GLint internalFormat,
2029 GLsizei width, GLint border,
2030 GLenum format, GLenum type,
2031 const GLvoid *pixels );
2032
2033typedef void (APIENTRYP PFNGLTEXIMAGE2DPROC) ( GLenum target, GLint level,
2034 GLint internalFormat,
2035 GLsizei width, GLsizei height,
2036 GLint border, GLenum format, GLenum type,
2037 const GLvoid *pixels );
2038
2039typedef void (APIENTRYP PFNGLGETTEXIMAGEPROC) ( GLenum target, GLint level,
2040 GLenum format, GLenum type,
2041 GLvoid *pixels );
2042
2043
2044/* 1.1 functions */
2045
2046typedef void (APIENTRYP PFNGLGENTEXTURESPROC) ( GLsizei n, GLuint *textures );
2047
2048typedef void (APIENTRYP PFNGLDELETETEXTURESPROC) ( GLsizei n, const GLuint *textures);
2049
2050typedef void (APIENTRYP PFNGLBINDTEXTUREPROC) ( GLenum target, GLuint texture );
2051
2052typedef void (APIENTRYP PFNGLPRIORITIZETEXTURESPROC) ( GLsizei n,
2053 const GLuint *textures,
2054 const GLclampf *priorities );
2055
2056typedef GLboolean (APIENTRYP PFNGLARETEXTURESRESIDENTPROC) ( GLsizei n,
2057 const GLuint *textures,
2058 GLboolean *residences );
2059
2060typedef GLboolean (APIENTRYP PFNGLISTEXTUREPROC) ( GLuint texture );
2061
2062
2063typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DPROC) ( GLenum target, GLint level,
2064 GLint xoffset,
2065 GLsizei width, GLenum format,
2066 GLenum type, const GLvoid *pixels );
2067
2068
2069typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DPROC) ( GLenum target, GLint level,
2070 GLint xoffset, GLint yoffset,
2071 GLsizei width, GLsizei height,
2072 GLenum format, GLenum type,
2073 const GLvoid *pixels );
2074
2075
2076typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DPROC) ( GLenum target, GLint level,
2077 GLenum internalformat,
2078 GLint x, GLint y,
2079 GLsizei width, GLint border );
2080
2081
2082typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DPROC) ( GLenum target, GLint level,
2083 GLenum internalformat,
2084 GLint x, GLint y,
2085 GLsizei width, GLsizei height,
2086 GLint border );
2087
2088
2089typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DPROC) ( GLenum target, GLint level,
2090 GLint xoffset, GLint x, GLint y,
2091 GLsizei width );
2092
2093
2094typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC) ( GLenum target, GLint level,
2095 GLint xoffset, GLint yoffset,
2096 GLint x, GLint y,
2097 GLsizei width, GLsizei height );
2098
2099
2100/*
2101 * Evaluators
2102 */
2103
2104typedef void (APIENTRYP PFNGLMAP1DPROC) ( GLenum target, GLdouble u1, GLdouble u2,
2105 GLint stride,
2106 GLint order, const GLdouble *points );
2107typedef void (APIENTRYP PFNGLMAP1FPROC) ( GLenum target, GLfloat u1, GLfloat u2,
2108 GLint stride,
2109 GLint order, const GLfloat *points );
2110
2111typedef void (APIENTRYP PFNGLMAP2DPROC) ( GLenum target,
2112 GLdouble u1, GLdouble u2, GLint ustride, GLint uorder,
2113 GLdouble v1, GLdouble v2, GLint vstride, GLint vorder,
2114 const GLdouble *points );
2115typedef void (APIENTRYP PFNGLMAP2FPROC) ( GLenum target,
2116 GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
2117 GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
2118 const GLfloat *points );
2119
2120typedef void (APIENTRYP PFNGLGETMAPDVPROC) ( GLenum target, GLenum query, GLdouble *v );
2121typedef void (APIENTRYP PFNGLGETMAPFVPROC) ( GLenum target, GLenum query, GLfloat *v );
2122typedef void (APIENTRYP PFNGLGETMAPIVPROC) ( GLenum target, GLenum query, GLint *v );
2123
2124typedef void (APIENTRYP PFNGLEVALCOORD1DPROC) ( GLdouble u );
2125typedef void (APIENTRYP PFNGLEVALCOORD1FPROC) ( GLfloat u );
2126
2127typedef void (APIENTRYP PFNGLEVALCOORD1DVPROC) ( const GLdouble *u );
2128typedef void (APIENTRYP PFNGLEVALCOORD1FVPROC) ( const GLfloat *u );
2129
2130typedef void (APIENTRYP PFNGLEVALCOORD2DPROC) ( GLdouble u, GLdouble v );
2131typedef void (APIENTRYP PFNGLEVALCOORD2FPROC) ( GLfloat u, GLfloat v );
2132
2133typedef void (APIENTRYP PFNGLEVALCOORD2DVPROC) ( const GLdouble *u );
2134typedef void (APIENTRYP PFNGLEVALCOORD2FVPROC) ( const GLfloat *u );
2135
2136typedef void (APIENTRYP PFNGLMAPGRID1DPROC) ( GLint un, GLdouble u1, GLdouble u2 );
2137typedef void (APIENTRYP PFNGLMAPGRID1FPROC) ( GLint un, GLfloat u1, GLfloat u2 );
2138
2139typedef void (APIENTRYP PFNGLMAPGRID2DPROC) ( GLint un, GLdouble u1, GLdouble u2,
2140 GLint vn, GLdouble v1, GLdouble v2 );
2141typedef void (APIENTRYP PFNGLMAPGRID2FPROC) ( GLint un, GLfloat u1, GLfloat u2,
2142 GLint vn, GLfloat v1, GLfloat v2 );
2143
2144typedef void (APIENTRYP PFNGLEVALPOINT1PROC) ( GLint i );
2145
2146typedef void (APIENTRYP PFNGLEVALPOINT2PROC) ( GLint i, GLint j );
2147
2148typedef void (APIENTRYP PFNGLEVALMESH1PROC) ( GLenum mode, GLint i1, GLint i2 );
2149
2150typedef void (APIENTRYP PFNGLEVALMESH2PROC) ( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
2151
2152
2153/*
2154 * Fog
2155 */
2156
2157typedef void (APIENTRYP PFNGLFOGFPROC) ( GLenum pname, GLfloat param );
2158
2159typedef void (APIENTRYP PFNGLFOGIPROC) ( GLenum pname, GLint param );
2160
2161typedef void (APIENTRYP PFNGLFOGFVPROC) ( GLenum pname, const GLfloat *params );
2162
2163typedef void (APIENTRYP PFNGLFOGIVPROC) ( GLenum pname, const GLint *params );
2164
2165
2166/*
2167 * Selection and Feedback
2168 */
2169
2170typedef void (APIENTRYP PFNGLFEEDBACKBUFFERPROC) ( GLsizei size, GLenum type, GLfloat *buffer );
2171
2172typedef void (APIENTRYP PFNGLPASSTHROUGHPROC) ( GLfloat token );
2173
2174typedef void (APIENTRYP PFNGLSELECTBUFFERPROC) ( GLsizei size, GLuint *buffer );
2175
2176typedef void (APIENTRYP PFNGLINITNAMESPROC) ( void );
2177
2178typedef void (APIENTRYP PFNGLLOADNAMEPROC) ( GLuint name );
2179
2180typedef void (APIENTRYP PFNGLPUSHNAMEPROC) ( GLuint name );
2181
2182typedef void (APIENTRYP PFNGLPOPNAMEPROC) ( void );
2183#endif
2184
2185
2186/*
2187 * OpenGL 1.2
2188 */
2189
2190#define GL_RESCALE_NORMAL 0x803A
2191#define GL_CLAMP_TO_EDGE 0x812F
2192#define GL_MAX_ELEMENTS_VERTICES 0x80E8
2193#define GL_MAX_ELEMENTS_INDICES 0x80E9
2194#define GL_BGR 0x80E0
2195#define GL_BGRA 0x80E1
2196#define GL_UNSIGNED_BYTE_3_3_2 0x8032
2197#define GL_UNSIGNED_BYTE_2_3_3_REV 0x8362
2198#define GL_UNSIGNED_SHORT_5_6_5 0x8363
2199#define GL_UNSIGNED_SHORT_5_6_5_REV 0x8364
2200#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
2201#define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
2202#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
2203#define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
2204#define GL_UNSIGNED_INT_8_8_8_8 0x8035
2205#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
2206#define GL_UNSIGNED_INT_10_10_10_2 0x8036
2207#define GL_UNSIGNED_INT_2_10_10_10_REV 0x8368
2208#define GL_LIGHT_MODEL_COLOR_CONTROL 0x81F8
2209#define GL_SINGLE_COLOR 0x81F9
2210#define GL_SEPARATE_SPECULAR_COLOR 0x81FA
2211#define GL_TEXTURE_MIN_LOD 0x813A
2212#define GL_TEXTURE_MAX_LOD 0x813B
2213#define GL_TEXTURE_BASE_LEVEL 0x813C
2214#define GL_TEXTURE_MAX_LEVEL 0x813D
2215#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
2216#define GL_SMOOTH_POINT_SIZE_GRANULARITY 0x0B13
2217#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
2218#define GL_SMOOTH_LINE_WIDTH_GRANULARITY 0x0B23
2219#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
2220#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
2221#define GL_PACK_SKIP_IMAGES 0x806B
2222#define GL_PACK_IMAGE_HEIGHT 0x806C
2223#define GL_UNPACK_SKIP_IMAGES 0x806D
2224#define GL_UNPACK_IMAGE_HEIGHT 0x806E
2225#define GL_TEXTURE_3D 0x806F
2226#define GL_PROXY_TEXTURE_3D 0x8070
2227#define GL_TEXTURE_DEPTH 0x8071
2228#define GL_TEXTURE_WRAP_R 0x8072
2229#define GL_MAX_3D_TEXTURE_SIZE 0x8073
2230#define GL_TEXTURE_BINDING_3D 0x806A
2231
2232#ifndef SDL_OPENGL_1_NO_PROTOTYPES
2233
2234GLAPI void GLAPIENTRY glDrawRangeElements( GLenum mode, GLuint start,
2235 GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
2236
2237GLAPI void GLAPIENTRY glTexImage3D( GLenum target, GLint level,
2238 GLint internalFormat,
2239 GLsizei width, GLsizei height,
2240 GLsizei depth, GLint border,
2241 GLenum format, GLenum type,
2242 const GLvoid *pixels );
2243
2244GLAPI void GLAPIENTRY glTexSubImage3D( GLenum target, GLint level,
2245 GLint xoffset, GLint yoffset,
2246 GLint zoffset, GLsizei width,
2247 GLsizei height, GLsizei depth,
2248 GLenum format,
2249 GLenum type, const GLvoid *pixels);
2250
2251GLAPI void GLAPIENTRY glCopyTexSubImage3D( GLenum target, GLint level,
2252 GLint xoffset, GLint yoffset,
2253 GLint zoffset, GLint x,
2254 GLint y, GLsizei width,
2255 GLsizei height );
2256
2257#endif
2258#ifdef SDL_OPENGL_1_FUNCTION_TYPEDEFS
2259
2260typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) ( GLenum mode, GLuint start,
2261 GLuint end, GLsizei count, GLenum type, const GLvoid *indices );
2262
2263typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) ( GLenum target, GLint level,
2264 GLint internalFormat,
2265 GLsizei width, GLsizei height,
2266 GLsizei depth, GLint border,
2267 GLenum format, GLenum type,
2268 const GLvoid *pixels );
2269
2270typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) ( GLenum target, GLint level,
2271 GLint xoffset, GLint yoffset,
2272 GLint zoffset, GLsizei width,
2273 GLsizei height, GLsizei depth,
2274 GLenum format,
2275 GLenum type, const GLvoid *pixels);
2276
2277typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) ( GLenum target, GLint level,
2278 GLint xoffset, GLint yoffset,
2279 GLint zoffset, GLint x,
2280 GLint y, GLsizei width,
2281 GLsizei height );
2282
2283#endif
2284
2285typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
2286typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
2287typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
2288typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
2289
2290
2291/*
2292 * GL_ARB_imaging
2293 */
2294
2295#define GL_CONSTANT_COLOR 0x8001
2296#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
2297#define GL_CONSTANT_ALPHA 0x8003
2298#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
2299#define GL_COLOR_TABLE 0x80D0
2300#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1
2301#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2
2302#define GL_PROXY_COLOR_TABLE 0x80D3
2303#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
2304#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
2305#define GL_COLOR_TABLE_SCALE 0x80D6
2306#define GL_COLOR_TABLE_BIAS 0x80D7
2307#define GL_COLOR_TABLE_FORMAT 0x80D8
2308#define GL_COLOR_TABLE_WIDTH 0x80D9
2309#define GL_COLOR_TABLE_RED_SIZE 0x80DA
2310#define GL_COLOR_TABLE_GREEN_SIZE 0x80DB
2311#define GL_COLOR_TABLE_BLUE_SIZE 0x80DC
2312#define GL_COLOR_TABLE_ALPHA_SIZE 0x80DD
2313#define GL_COLOR_TABLE_LUMINANCE_SIZE 0x80DE
2314#define GL_COLOR_TABLE_INTENSITY_SIZE 0x80DF
2315#define GL_CONVOLUTION_1D 0x8010
2316#define GL_CONVOLUTION_2D 0x8011
2317#define GL_SEPARABLE_2D 0x8012
2318#define GL_CONVOLUTION_BORDER_MODE 0x8013
2319#define GL_CONVOLUTION_FILTER_SCALE 0x8014
2320#define GL_CONVOLUTION_FILTER_BIAS 0x8015
2321#define GL_REDUCE 0x8016
2322#define GL_CONVOLUTION_FORMAT 0x8017
2323#define GL_CONVOLUTION_WIDTH 0x8018
2324#define GL_CONVOLUTION_HEIGHT 0x8019
2325#define GL_MAX_CONVOLUTION_WIDTH 0x801A
2326#define GL_MAX_CONVOLUTION_HEIGHT 0x801B
2327#define GL_POST_CONVOLUTION_RED_SCALE 0x801C
2328#define GL_POST_CONVOLUTION_GREEN_SCALE 0x801D
2329#define GL_POST_CONVOLUTION_BLUE_SCALE 0x801E
2330#define GL_POST_CONVOLUTION_ALPHA_SCALE 0x801F
2331#define GL_POST_CONVOLUTION_RED_BIAS 0x8020
2332#define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021
2333#define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022
2334#define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023
2335#define GL_CONSTANT_BORDER 0x8151
2336#define GL_REPLICATE_BORDER 0x8153
2337#define GL_CONVOLUTION_BORDER_COLOR 0x8154
2338#define GL_COLOR_MATRIX 0x80B1
2339#define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2
2340#define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3
2341#define GL_POST_COLOR_MATRIX_RED_SCALE 0x80B4
2342#define GL_POST_COLOR_MATRIX_GREEN_SCALE 0x80B5
2343#define GL_POST_COLOR_MATRIX_BLUE_SCALE 0x80B6
2344#define GL_POST_COLOR_MATRIX_ALPHA_SCALE 0x80B7
2345#define GL_POST_COLOR_MATRIX_RED_BIAS 0x80B8
2346#define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9
2347#define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA
2348#define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB
2349#define GL_HISTOGRAM 0x8024
2350#define GL_PROXY_HISTOGRAM 0x8025
2351#define GL_HISTOGRAM_WIDTH 0x8026
2352#define GL_HISTOGRAM_FORMAT 0x8027
2353#define GL_HISTOGRAM_RED_SIZE 0x8028
2354#define GL_HISTOGRAM_GREEN_SIZE 0x8029
2355#define GL_HISTOGRAM_BLUE_SIZE 0x802A
2356#define GL_HISTOGRAM_ALPHA_SIZE 0x802B
2357#define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C
2358#define GL_HISTOGRAM_SINK 0x802D
2359#define GL_MINMAX 0x802E
2360#define GL_MINMAX_FORMAT 0x802F
2361#define GL_MINMAX_SINK 0x8030
2362#define GL_TABLE_TOO_LARGE 0x8031
2363#define GL_BLEND_EQUATION 0x8009
2364#define GL_MIN 0x8007
2365#define GL_MAX 0x8008
2366#define GL_FUNC_ADD 0x8006
2367#define GL_FUNC_SUBTRACT 0x800A
2368#define GL_FUNC_REVERSE_SUBTRACT 0x800B
2369#define GL_BLEND_COLOR 0x8005
2370
2371
2372#ifndef SDL_OPENGL_1_NO_PROTOTYPES
2373
2374GLAPI void GLAPIENTRY glColorTable( GLenum target, GLenum internalformat,
2375 GLsizei width, GLenum format,
2376 GLenum type, const GLvoid *table );
2377
2378GLAPI void GLAPIENTRY glColorSubTable( GLenum target,
2379 GLsizei start, GLsizei count,
2380 GLenum format, GLenum type,
2381 const GLvoid *data );
2382
2383GLAPI void GLAPIENTRY glColorTableParameteriv(GLenum target, GLenum pname,
2384 const GLint *params);
2385
2386GLAPI void GLAPIENTRY glColorTableParameterfv(GLenum target, GLenum pname,
2387 const GLfloat *params);
2388
2389GLAPI void GLAPIENTRY glCopyColorSubTable( GLenum target, GLsizei start,
2390 GLint x, GLint y, GLsizei width );
2391
2392GLAPI void GLAPIENTRY glCopyColorTable( GLenum target, GLenum internalformat,
2393 GLint x, GLint y, GLsizei width );
2394
2395GLAPI void GLAPIENTRY glGetColorTable( GLenum target, GLenum format,
2396 GLenum type, GLvoid *table );
2397
2398GLAPI void GLAPIENTRY glGetColorTableParameterfv( GLenum target, GLenum pname,
2399 GLfloat *params );
2400
2401GLAPI void GLAPIENTRY glGetColorTableParameteriv( GLenum target, GLenum pname,
2402 GLint *params );
2403
2404GLAPI void GLAPIENTRY glBlendEquation( GLenum mode );
2405
2406GLAPI void GLAPIENTRY glBlendColor( GLclampf red, GLclampf green,
2407 GLclampf blue, GLclampf alpha );
2408
2409GLAPI void GLAPIENTRY glHistogram( GLenum target, GLsizei width,
2410 GLenum internalformat, GLboolean sink );
2411
2412GLAPI void GLAPIENTRY glResetHistogram( GLenum target );
2413
2414GLAPI void GLAPIENTRY glGetHistogram( GLenum target, GLboolean reset,
2415 GLenum format, GLenum type,
2416 GLvoid *values );
2417
2418GLAPI void GLAPIENTRY glGetHistogramParameterfv( GLenum target, GLenum pname,
2419 GLfloat *params );
2420
2421GLAPI void GLAPIENTRY glGetHistogramParameteriv( GLenum target, GLenum pname,
2422 GLint *params );
2423
2424GLAPI void GLAPIENTRY glMinmax( GLenum target, GLenum internalformat,
2425 GLboolean sink );
2426
2427GLAPI void GLAPIENTRY glResetMinmax( GLenum target );
2428
2429GLAPI void GLAPIENTRY glGetMinmax( GLenum target, GLboolean reset,
2430 GLenum format, GLenum types,
2431 GLvoid *values );
2432
2433GLAPI void GLAPIENTRY glGetMinmaxParameterfv( GLenum target, GLenum pname,
2434 GLfloat *params );
2435
2436GLAPI void GLAPIENTRY glGetMinmaxParameteriv( GLenum target, GLenum pname,
2437 GLint *params );
2438
2439GLAPI void GLAPIENTRY glConvolutionFilter1D( GLenum target,
2440 GLenum internalformat, GLsizei width, GLenum format, GLenum type,
2441 const GLvoid *image );
2442
2443GLAPI void GLAPIENTRY glConvolutionFilter2D( GLenum target,
2444 GLenum internalformat, GLsizei width, GLsizei height, GLenum format,
2445 GLenum type, const GLvoid *image );
2446
2447GLAPI void GLAPIENTRY glConvolutionParameterf( GLenum target, GLenum pname,
2448 GLfloat params );
2449
2450GLAPI void GLAPIENTRY glConvolutionParameterfv( GLenum target, GLenum pname,
2451 const GLfloat *params );
2452
2453GLAPI void GLAPIENTRY glConvolutionParameteri( GLenum target, GLenum pname,
2454 GLint params );
2455
2456GLAPI void GLAPIENTRY glConvolutionParameteriv( GLenum target, GLenum pname,
2457 const GLint *params );
2458
2459GLAPI void GLAPIENTRY glCopyConvolutionFilter1D( GLenum target,
2460 GLenum internalformat, GLint x, GLint y, GLsizei width );
2461
2462GLAPI void GLAPIENTRY glCopyConvolutionFilter2D( GLenum target,
2463 GLenum internalformat, GLint x, GLint y, GLsizei width,
2464 GLsizei height);
2465
2466GLAPI void GLAPIENTRY glGetConvolutionFilter( GLenum target, GLenum format,
2467 GLenum type, GLvoid *image );
2468
2469GLAPI void GLAPIENTRY glGetConvolutionParameterfv( GLenum target, GLenum pname,
2470 GLfloat *params );
2471
2472GLAPI void GLAPIENTRY glGetConvolutionParameteriv( GLenum target, GLenum pname,
2473 GLint *params );
2474
2475GLAPI void GLAPIENTRY glSeparableFilter2D( GLenum target,
2476 GLenum internalformat, GLsizei width, GLsizei height, GLenum format,
2477 GLenum type, const GLvoid *row, const GLvoid *column );
2478
2479GLAPI void GLAPIENTRY glGetSeparableFilter( GLenum target, GLenum format,
2480 GLenum type, GLvoid *row, GLvoid *column, GLvoid *span );
2481
2482#endif
2483#ifdef SDL_OPENGL_1_FUNCTION_TYPEDEFS
2484
2485typedef void (APIENTRYP PFNGLCOLORTABLEPROC) ( GLenum target, GLenum internalformat,
2486 GLsizei width, GLenum format,
2487 GLenum type, const GLvoid *table );
2488
2489typedef void (APIENTRYP PFNGLCOLORSUBTABLEPROC) ( GLenum target,
2490 GLsizei start, GLsizei count,
2491 GLenum format, GLenum type,
2492 const GLvoid *data );
2493
2494typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname,
2495 const GLint *params);
2496
2497typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname,
2498 const GLfloat *params);
2499
2500typedef void (APIENTRYP PFNGLCOPYCOLORSUBTABLEPROC) ( GLenum target, GLsizei start,
2501 GLint x, GLint y, GLsizei width );
2502
2503typedef void (APIENTRYP PFNGLCOPYCOLORTABLEPROC) ( GLenum target, GLenum internalformat,
2504 GLint x, GLint y, GLsizei width );
2505
2506typedef void (APIENTRYP PFNGLGETCOLORTABLEPROC) ( GLenum target, GLenum format,
2507 GLenum type, GLvoid *table );
2508
2509typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVPROC) ( GLenum target, GLenum pname,
2510 GLfloat *params );
2511
2512typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVPROC) ( GLenum target, GLenum pname,
2513 GLint *params );
2514
2515typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) ( GLenum mode );
2516
2517typedef void (APIENTRYP PFNGLBLENDCOLORPROC) ( GLclampf red, GLclampf green,
2518 GLclampf blue, GLclampf alpha );
2519
2520typedef void (APIENTRYP PFNGLHISTOGRAMPROC) ( GLenum target, GLsizei width,
2521 GLenum internalformat, GLboolean sink );
2522
2523typedef void (APIENTRYP PFNGLRESETHISTOGRAMPROC) ( GLenum target );
2524
2525typedef void (APIENTRYP PFNGLGETHISTOGRAMPROC) ( GLenum target, GLboolean reset,
2526 GLenum format, GLenum type,
2527 GLvoid *values );
2528
2529typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERFVPROC) ( GLenum target, GLenum pname,
2530 GLfloat *params );
2531
2532typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERIVPROC) ( GLenum target, GLenum pname,
2533 GLint *params );
2534
2535typedef void (APIENTRYP PFNGLMINMAXPROC) ( GLenum target, GLenum internalformat,
2536 GLboolean sink );
2537
2538typedef void (APIENTRYP PFNGLRESETMINMAXPROC) ( GLenum target );
2539
2540typedef void (APIENTRYP PFNGLGETMINMAXPROC) ( GLenum target, GLboolean reset,
2541 GLenum format, GLenum types,
2542 GLvoid *values );
2543
2544typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERFVPROC) ( GLenum target, GLenum pname,
2545 GLfloat *params );
2546
2547typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERIVPROC) ( GLenum target, GLenum pname,
2548 GLint *params );
2549
2550typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER1DPROC) ( GLenum target,
2551 GLenum internalformat, GLsizei width, GLenum format, GLenum type,
2552 const GLvoid *image );
2553
2554typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER2DPROC) ( GLenum target,
2555 GLenum internalformat, GLsizei width, GLsizei height, GLenum format,
2556 GLenum type, const GLvoid *image );
2557
2558typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFPROC) ( GLenum target, GLenum pname,
2559 GLfloat params );
2560
2561typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFVPROC) ( GLenum target, GLenum pname,
2562 const GLfloat *params );
2563
2564typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIPROC) ( GLenum target, GLenum pname,
2565 GLint params );
2566
2567typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIVPROC) ( GLenum target, GLenum pname,
2568 const GLint *params );
2569
2570typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER1DPROC) ( GLenum target,
2571 GLenum internalformat, GLint x, GLint y, GLsizei width );
2572
2573typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER2DPROC) ( GLenum target,
2574 GLenum internalformat, GLint x, GLint y, GLsizei width,
2575 GLsizei height);
2576
2577typedef void (APIENTRYP PFNGLGETCONVOLUTIONFILTERPROC) ( GLenum target, GLenum format,
2578 GLenum type, GLvoid *image );
2579
2580typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERFVPROC) ( GLenum target, GLenum pname,
2581 GLfloat *params );
2582
2583typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERIVPROC) ( GLenum target, GLenum pname,
2584 GLint *params );
2585
2586typedef void (APIENTRYP PFNGLSEPARABLEFILTER2DPROC) ( GLenum target,
2587 GLenum internalformat, GLsizei width, GLsizei height, GLenum format,
2588 GLenum type, const GLvoid *row, const GLvoid *column );
2589
2590typedef void (APIENTRYP PFNGLGETSEPARABLEFILTERPROC) ( GLenum target, GLenum format,
2591 GLenum type, GLvoid *row, GLvoid *column, GLvoid *span );
2592
2593#endif
2594
2595
2596
2597
2598/*
2599 * OpenGL 1.3
2600 */
2601
2602/* multitexture */
2603#define GL_TEXTURE0 0x84C0
2604#define GL_TEXTURE1 0x84C1
2605#define GL_TEXTURE2 0x84C2
2606#define GL_TEXTURE3 0x84C3
2607#define GL_TEXTURE4 0x84C4
2608#define GL_TEXTURE5 0x84C5
2609#define GL_TEXTURE6 0x84C6
2610#define GL_TEXTURE7 0x84C7
2611#define GL_TEXTURE8 0x84C8
2612#define GL_TEXTURE9 0x84C9
2613#define GL_TEXTURE10 0x84CA
2614#define GL_TEXTURE11 0x84CB
2615#define GL_TEXTURE12 0x84CC
2616#define GL_TEXTURE13 0x84CD
2617#define GL_TEXTURE14 0x84CE
2618#define GL_TEXTURE15 0x84CF
2619#define GL_TEXTURE16 0x84D0
2620#define GL_TEXTURE17 0x84D1
2621#define GL_TEXTURE18 0x84D2
2622#define GL_TEXTURE19 0x84D3
2623#define GL_TEXTURE20 0x84D4
2624#define GL_TEXTURE21 0x84D5
2625#define GL_TEXTURE22 0x84D6
2626#define GL_TEXTURE23 0x84D7
2627#define GL_TEXTURE24 0x84D8
2628#define GL_TEXTURE25 0x84D9
2629#define GL_TEXTURE26 0x84DA
2630#define GL_TEXTURE27 0x84DB
2631#define GL_TEXTURE28 0x84DC
2632#define GL_TEXTURE29 0x84DD
2633#define GL_TEXTURE30 0x84DE
2634#define GL_TEXTURE31 0x84DF
2635#define GL_ACTIVE_TEXTURE 0x84E0
2636#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
2637#define GL_MAX_TEXTURE_UNITS 0x84E2
2638/* texture_cube_map */
2639#define GL_NORMAL_MAP 0x8511
2640#define GL_REFLECTION_MAP 0x8512
2641#define GL_TEXTURE_CUBE_MAP 0x8513
2642#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
2643#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
2644#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
2645#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
2646#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
2647#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
2648#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
2649#define GL_PROXY_TEXTURE_CUBE_MAP 0x851B
2650#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
2651/* texture_compression */
2652#define GL_COMPRESSED_ALPHA 0x84E9
2653#define GL_COMPRESSED_LUMINANCE 0x84EA
2654#define GL_COMPRESSED_LUMINANCE_ALPHA 0x84EB
2655#define GL_COMPRESSED_INTENSITY 0x84EC
2656#define GL_COMPRESSED_RGB 0x84ED
2657#define GL_COMPRESSED_RGBA 0x84EE
2658#define GL_TEXTURE_COMPRESSION_HINT 0x84EF
2659#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE 0x86A0
2660#define GL_TEXTURE_COMPRESSED 0x86A1
2661#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
2662#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
2663/* multisample */
2664#define GL_MULTISAMPLE 0x809D
2665#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
2666#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
2667#define GL_SAMPLE_COVERAGE 0x80A0
2668#define GL_SAMPLE_BUFFERS 0x80A8
2669#define GL_SAMPLES 0x80A9
2670#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
2671#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
2672#define GL_MULTISAMPLE_BIT 0x20000000
2673/* transpose_matrix */
2674#define GL_TRANSPOSE_MODELVIEW_MATRIX 0x84E3
2675#define GL_TRANSPOSE_PROJECTION_MATRIX 0x84E4
2676#define GL_TRANSPOSE_TEXTURE_MATRIX 0x84E5
2677#define GL_TRANSPOSE_COLOR_MATRIX 0x84E6
2678/* texture_env_combine */
2679#define GL_COMBINE 0x8570
2680#define GL_COMBINE_RGB 0x8571
2681#define GL_COMBINE_ALPHA 0x8572
2682#define GL_SOURCE0_RGB 0x8580
2683#define GL_SOURCE1_RGB 0x8581
2684#define GL_SOURCE2_RGB 0x8582
2685#define GL_SOURCE0_ALPHA 0x8588
2686#define GL_SOURCE1_ALPHA 0x8589
2687#define GL_SOURCE2_ALPHA 0x858A
2688#define GL_OPERAND0_RGB 0x8590
2689#define GL_OPERAND1_RGB 0x8591
2690#define GL_OPERAND2_RGB 0x8592
2691#define GL_OPERAND0_ALPHA 0x8598
2692#define GL_OPERAND1_ALPHA 0x8599
2693#define GL_OPERAND2_ALPHA 0x859A
2694#define GL_RGB_SCALE 0x8573
2695#define GL_ADD_SIGNED 0x8574
2696#define GL_INTERPOLATE 0x8575
2697#define GL_SUBTRACT 0x84E7
2698#define GL_CONSTANT 0x8576
2699#define GL_PRIMARY_COLOR 0x8577
2700#define GL_PREVIOUS 0x8578
2701/* texture_env_dot3 */
2702#define GL_DOT3_RGB 0x86AE
2703#define GL_DOT3_RGBA 0x86AF
2704/* texture_border_clamp */
2705#define GL_CLAMP_TO_BORDER 0x812D
2706
2707#ifndef SDL_OPENGL_1_NO_PROTOTYPES
2708
2709GLAPI void GLAPIENTRY glActiveTexture( GLenum texture );
2710
2711GLAPI void GLAPIENTRY glClientActiveTexture( GLenum texture );
2712
2713GLAPI void GLAPIENTRY glCompressedTexImage1D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data );
2714
2715GLAPI void GLAPIENTRY glCompressedTexImage2D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data );
2716
2717GLAPI void GLAPIENTRY glCompressedTexImage3D( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data );
2718
2719GLAPI void GLAPIENTRY glCompressedTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data );
2720
2721GLAPI void GLAPIENTRY glCompressedTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data );
2722
2723GLAPI void GLAPIENTRY glCompressedTexSubImage3D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data );
2724
2725GLAPI void GLAPIENTRY glGetCompressedTexImage( GLenum target, GLint lod, GLvoid *img );
2726
2727GLAPI void GLAPIENTRY glMultiTexCoord1d( GLenum target, GLdouble s );
2728
2729GLAPI void GLAPIENTRY glMultiTexCoord1dv( GLenum target, const GLdouble *v );
2730
2731GLAPI void GLAPIENTRY glMultiTexCoord1f( GLenum target, GLfloat s );
2732
2733GLAPI void GLAPIENTRY glMultiTexCoord1fv( GLenum target, const GLfloat *v );
2734
2735GLAPI void GLAPIENTRY glMultiTexCoord1i( GLenum target, GLint s );
2736
2737GLAPI void GLAPIENTRY glMultiTexCoord1iv( GLenum target, const GLint *v );
2738
2739GLAPI void GLAPIENTRY glMultiTexCoord1s( GLenum target, GLshort s );
2740
2741GLAPI void GLAPIENTRY glMultiTexCoord1sv( GLenum target, const GLshort *v );
2742
2743GLAPI void GLAPIENTRY glMultiTexCoord2d( GLenum target, GLdouble s, GLdouble t );
2744
2745GLAPI void GLAPIENTRY glMultiTexCoord2dv( GLenum target, const GLdouble *v );
2746
2747GLAPI void GLAPIENTRY glMultiTexCoord2f( GLenum target, GLfloat s, GLfloat t );
2748
2749GLAPI void GLAPIENTRY glMultiTexCoord2fv( GLenum target, const GLfloat *v );
2750
2751GLAPI void GLAPIENTRY glMultiTexCoord2i( GLenum target, GLint s, GLint t );
2752
2753GLAPI void GLAPIENTRY glMultiTexCoord2iv( GLenum target, const GLint *v );
2754
2755GLAPI void GLAPIENTRY glMultiTexCoord2s( GLenum target, GLshort s, GLshort t );
2756
2757GLAPI void GLAPIENTRY glMultiTexCoord2sv( GLenum target, const GLshort *v );
2758
2759GLAPI void GLAPIENTRY glMultiTexCoord3d( GLenum target, GLdouble s, GLdouble t, GLdouble r );
2760
2761GLAPI void GLAPIENTRY glMultiTexCoord3dv( GLenum target, const GLdouble *v );
2762
2763GLAPI void GLAPIENTRY glMultiTexCoord3f( GLenum target, GLfloat s, GLfloat t, GLfloat r );
2764
2765GLAPI void GLAPIENTRY glMultiTexCoord3fv( GLenum target, const GLfloat *v );
2766
2767GLAPI void GLAPIENTRY glMultiTexCoord3i( GLenum target, GLint s, GLint t, GLint r );
2768
2769GLAPI void GLAPIENTRY glMultiTexCoord3iv( GLenum target, const GLint *v );
2770
2771GLAPI void GLAPIENTRY glMultiTexCoord3s( GLenum target, GLshort s, GLshort t, GLshort r );
2772
2773GLAPI void GLAPIENTRY glMultiTexCoord3sv( GLenum target, const GLshort *v );
2774
2775GLAPI void GLAPIENTRY glMultiTexCoord4d( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q );
2776
2777GLAPI void GLAPIENTRY glMultiTexCoord4dv( GLenum target, const GLdouble *v );
2778
2779GLAPI void GLAPIENTRY glMultiTexCoord4f( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q );
2780
2781GLAPI void GLAPIENTRY glMultiTexCoord4fv( GLenum target, const GLfloat *v );
2782
2783GLAPI void GLAPIENTRY glMultiTexCoord4i( GLenum target, GLint s, GLint t, GLint r, GLint q );
2784
2785GLAPI void GLAPIENTRY glMultiTexCoord4iv( GLenum target, const GLint *v );
2786
2787GLAPI void GLAPIENTRY glMultiTexCoord4s( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q );
2788
2789GLAPI void GLAPIENTRY glMultiTexCoord4sv( GLenum target, const GLshort *v );
2790
2791
2792GLAPI void GLAPIENTRY glLoadTransposeMatrixd( const GLdouble m[16] );
2793
2794GLAPI void GLAPIENTRY glLoadTransposeMatrixf( const GLfloat m[16] );
2795
2796GLAPI void GLAPIENTRY glMultTransposeMatrixd( const GLdouble m[16] );
2797
2798GLAPI void GLAPIENTRY glMultTransposeMatrixf( const GLfloat m[16] );
2799
2800GLAPI void GLAPIENTRY glSampleCoverage( GLclampf value, GLboolean invert );
2801
2802#endif
2803#ifdef SDL_OPENGL_1_FUNCTION_TYPEDEFS
2804
2805typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) ( GLenum texture );
2806
2807typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREPROC) ( GLenum texture );
2808
2809typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data );
2810
2811typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data );
2812
2813typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) ( GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data );
2814
2815typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) ( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data );
2816
2817typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data );
2818
2819typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) ( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data );
2820
2821typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) ( GLenum target, GLint lod, GLvoid *img );
2822
2823typedef void (APIENTRYP PFNGLMULTITEXCOORD1DPROC) ( GLenum target, GLdouble s );
2824
2825typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVPROC) ( GLenum target, const GLdouble *v );
2826
2827typedef void (APIENTRYP PFNGLMULTITEXCOORD1FPROC) ( GLenum target, GLfloat s );
2828
2829typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVPROC) ( GLenum target, const GLfloat *v );
2830
2831typedef void (APIENTRYP PFNGLMULTITEXCOORD1IPROC) ( GLenum target, GLint s );
2832
2833typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVPROC) ( GLenum target, const GLint *v );
2834
2835typedef void (APIENTRYP PFNGLMULTITEXCOORD1SPROC) ( GLenum target, GLshort s );
2836
2837typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVPROC) ( GLenum target, const GLshort *v );
2838
2839typedef void (APIENTRYP PFNGLMULTITEXCOORD2DPROC) ( GLenum target, GLdouble s, GLdouble t );
2840
2841typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVPROC) ( GLenum target, const GLdouble *v );
2842
2843typedef void (APIENTRYP PFNGLMULTITEXCOORD2FPROC) ( GLenum target, GLfloat s, GLfloat t );
2844
2845typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVPROC) ( GLenum target, const GLfloat *v );
2846
2847typedef void (APIENTRYP PFNGLMULTITEXCOORD2IPROC) ( GLenum target, GLint s, GLint t );
2848
2849typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVPROC) ( GLenum target, const GLint *v );
2850
2851typedef void (APIENTRYP PFNGLMULTITEXCOORD2SPROC) ( GLenum target, GLshort s, GLshort t );
2852
2853typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVPROC) ( GLenum target, const GLshort *v );
2854
2855typedef void (APIENTRYP PFNGLMULTITEXCOORD3DPROC) ( GLenum target, GLdouble s, GLdouble t, GLdouble r );
2856
2857typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVPROC) ( GLenum target, const GLdouble *v );
2858
2859typedef void (APIENTRYP PFNGLMULTITEXCOORD3FPROC) ( GLenum target, GLfloat s, GLfloat t, GLfloat r );
2860
2861typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVPROC) ( GLenum target, const GLfloat *v );
2862
2863typedef void (APIENTRYP PFNGLMULTITEXCOORD3IPROC) ( GLenum target, GLint s, GLint t, GLint r );
2864
2865typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVPROC) ( GLenum target, const GLint *v );
2866
2867typedef void (APIENTRYP PFNGLMULTITEXCOORD3SPROC) ( GLenum target, GLshort s, GLshort t, GLshort r );
2868
2869typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVPROC) ( GLenum target, const GLshort *v );
2870
2871typedef void (APIENTRYP PFNGLMULTITEXCOORD4DPROC) ( GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q );
2872
2873typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVPROC) ( GLenum target, const GLdouble *v );
2874
2875typedef void (APIENTRYP PFNGLMULTITEXCOORD4FPROC) ( GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q );
2876
2877typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVPROC) ( GLenum target, const GLfloat *v );
2878
2879typedef void (APIENTRYP PFNGLMULTITEXCOORD4IPROC) ( GLenum target, GLint s, GLint t, GLint r, GLint q );
2880
2881typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVPROC) ( GLenum target, const GLint *v );
2882
2883typedef void (APIENTRYP PFNGLMULTITEXCOORD4SPROC) ( GLenum target, GLshort s, GLshort t, GLshort r, GLshort q );
2884
2885typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVPROC) ( GLenum target, const GLshort *v );
2886
2887
2888typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDPROC) ( const GLdouble m[16] );
2889
2890typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFPROC) ( const GLfloat m[16] );
2891
2892typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDPROC) ( const GLdouble m[16] );
2893
2894typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFPROC) ( const GLfloat m[16] );
2895
2896typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) ( GLclampf value, GLboolean invert );
2897
2898#endif
2899
2900
2901typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
2902typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);
2903typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
2904typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
2905typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
2906typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
2907typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
2908typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
2909typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, GLvoid *img);
2910
2911
2912
2913/*
2914 * GL_ARB_multitexture (ARB extension 1 and OpenGL 1.2.1)
2915 */
2916#ifndef GL_ARB_multitexture
2917#define GL_ARB_multitexture 1
2918
2919#define GL_TEXTURE0_ARB 0x84C0
2920#define GL_TEXTURE1_ARB 0x84C1
2921#define GL_TEXTURE2_ARB 0x84C2
2922#define GL_TEXTURE3_ARB 0x84C3
2923#define GL_TEXTURE4_ARB 0x84C4
2924#define GL_TEXTURE5_ARB 0x84C5
2925#define GL_TEXTURE6_ARB 0x84C6
2926#define GL_TEXTURE7_ARB 0x84C7
2927#define GL_TEXTURE8_ARB 0x84C8
2928#define GL_TEXTURE9_ARB 0x84C9
2929#define GL_TEXTURE10_ARB 0x84CA
2930#define GL_TEXTURE11_ARB 0x84CB
2931#define GL_TEXTURE12_ARB 0x84CC
2932#define GL_TEXTURE13_ARB 0x84CD
2933#define GL_TEXTURE14_ARB 0x84CE
2934#define GL_TEXTURE15_ARB 0x84CF
2935#define GL_TEXTURE16_ARB 0x84D0
2936#define GL_TEXTURE17_ARB 0x84D1
2937#define GL_TEXTURE18_ARB 0x84D2
2938#define GL_TEXTURE19_ARB 0x84D3
2939#define GL_TEXTURE20_ARB 0x84D4
2940#define GL_TEXTURE21_ARB 0x84D5
2941#define GL_TEXTURE22_ARB 0x84D6
2942#define GL_TEXTURE23_ARB 0x84D7
2943#define GL_TEXTURE24_ARB 0x84D8
2944#define GL_TEXTURE25_ARB 0x84D9
2945#define GL_TEXTURE26_ARB 0x84DA
2946#define GL_TEXTURE27_ARB 0x84DB
2947#define GL_TEXTURE28_ARB 0x84DC
2948#define GL_TEXTURE29_ARB 0x84DD
2949#define GL_TEXTURE30_ARB 0x84DE
2950#define GL_TEXTURE31_ARB 0x84DF
2951#define GL_ACTIVE_TEXTURE_ARB 0x84E0
2952#define GL_CLIENT_ACTIVE_TEXTURE_ARB 0x84E1
2953#define GL_MAX_TEXTURE_UNITS_ARB 0x84E2
2954
2955#ifndef SDL_OPENGL_1_NO_PROTOTYPES
2956
2957GLAPI void GLAPIENTRY glActiveTextureARB(GLenum texture);
2958GLAPI void GLAPIENTRY glClientActiveTextureARB(GLenum texture);
2959GLAPI void GLAPIENTRY glMultiTexCoord1dARB(GLenum target, GLdouble s);
2960GLAPI void GLAPIENTRY glMultiTexCoord1dvARB(GLenum target, const GLdouble *v);
2961GLAPI void GLAPIENTRY glMultiTexCoord1fARB(GLenum target, GLfloat s);
2962GLAPI void GLAPIENTRY glMultiTexCoord1fvARB(GLenum target, const GLfloat *v);
2963GLAPI void GLAPIENTRY glMultiTexCoord1iARB(GLenum target, GLint s);
2964GLAPI void GLAPIENTRY glMultiTexCoord1ivARB(GLenum target, const GLint *v);
2965GLAPI void GLAPIENTRY glMultiTexCoord1sARB(GLenum target, GLshort s);
2966GLAPI void GLAPIENTRY glMultiTexCoord1svARB(GLenum target, const GLshort *v);
2967GLAPI void GLAPIENTRY glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t);
2968GLAPI void GLAPIENTRY glMultiTexCoord2dvARB(GLenum target, const GLdouble *v);
2969GLAPI void GLAPIENTRY glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t);
2970GLAPI void GLAPIENTRY glMultiTexCoord2fvARB(GLenum target, const GLfloat *v);
2971GLAPI void GLAPIENTRY glMultiTexCoord2iARB(GLenum target, GLint s, GLint t);
2972GLAPI void GLAPIENTRY glMultiTexCoord2ivARB(GLenum target, const GLint *v);
2973GLAPI void GLAPIENTRY glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t);
2974GLAPI void GLAPIENTRY glMultiTexCoord2svARB(GLenum target, const GLshort *v);
2975GLAPI void GLAPIENTRY glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r);
2976GLAPI void GLAPIENTRY glMultiTexCoord3dvARB(GLenum target, const GLdouble *v);
2977GLAPI void GLAPIENTRY glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r);
2978GLAPI void GLAPIENTRY glMultiTexCoord3fvARB(GLenum target, const GLfloat *v);
2979GLAPI void GLAPIENTRY glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r);
2980GLAPI void GLAPIENTRY glMultiTexCoord3ivARB(GLenum target, const GLint *v);
2981GLAPI void GLAPIENTRY glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r);
2982GLAPI void GLAPIENTRY glMultiTexCoord3svARB(GLenum target, const GLshort *v);
2983GLAPI void GLAPIENTRY glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
2984GLAPI void GLAPIENTRY glMultiTexCoord4dvARB(GLenum target, const GLdouble *v);
2985GLAPI void GLAPIENTRY glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
2986GLAPI void GLAPIENTRY glMultiTexCoord4fvARB(GLenum target, const GLfloat *v);
2987GLAPI void GLAPIENTRY glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q);
2988GLAPI void GLAPIENTRY glMultiTexCoord4ivARB(GLenum target, const GLint *v);
2989GLAPI void GLAPIENTRY glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
2990GLAPI void GLAPIENTRY glMultiTexCoord4svARB(GLenum target, const GLshort *v);
2991
2992#endif
2993#ifdef SDL_OPENGL_1_FUNCTION_TYPEDEFS
2994
2995typedef void (APIENTRYP PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
2996typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
2997typedef void (APIENTRYP PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
2998typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
2999typedef void (APIENTRYP PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
3000typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
3001typedef void (APIENTRYP PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
3002typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
3003typedef void (APIENTRYP PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
3004typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
3005typedef void (APIENTRYP PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
3006typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
3007typedef void (APIENTRYP PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
3008typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
3009typedef void (APIENTRYP PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
3010typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
3011typedef void (APIENTRYP PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
3012typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
3013typedef void (APIENTRYP PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
3014typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
3015typedef void (APIENTRYP PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
3016typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
3017typedef void (APIENTRYP PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
3018typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
3019typedef void (APIENTRYP PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
3020typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
3021typedef void (APIENTRYP PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
3022typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
3023typedef void (APIENTRYP PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
3024typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
3025typedef void (APIENTRYP PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
3026typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
3027typedef void (APIENTRYP PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
3028typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
3029
3030#endif
3031
3032typedef void (APIENTRYP PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
3033typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
3034typedef void (APIENTRYP PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
3035typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
3036typedef void (APIENTRYP PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
3037typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
3038typedef void (APIENTRYP PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
3039typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
3040typedef void (APIENTRYP PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
3041typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
3042typedef void (APIENTRYP PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
3043typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
3044typedef void (APIENTRYP PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
3045typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
3046typedef void (APIENTRYP PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
3047typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
3048typedef void (APIENTRYP PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
3049typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
3050typedef void (APIENTRYP PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
3051typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
3052typedef void (APIENTRYP PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
3053typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
3054typedef void (APIENTRYP PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
3055typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
3056typedef void (APIENTRYP PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
3057typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
3058typedef void (APIENTRYP PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
3059typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
3060typedef void (APIENTRYP PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
3061typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
3062typedef void (APIENTRYP PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
3063typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
3064typedef void (APIENTRYP PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
3065typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
3066
3067#endif /* GL_ARB_multitexture */
3068
3069
3070
3071/*
3072 * Define this token if you want "old-style" header file behaviour (extensions
3073 * defined in gl.h). Otherwise, extensions will be included from glext.h.
3074 */
3075#if !defined(NO_SDL_GLEXT) && !defined(GL_GLEXT_LEGACY)
3076#include <SDL3/SDL_opengl_glext.h>
3077#endif /* GL_GLEXT_LEGACY */
3078
3079
3080
3081/**********************************************************************
3082 * Begin system-specific stuff
3083 */
3084#if defined(PRAGMA_EXPORT_SUPPORTED)
3085#pragma export off
3086#endif
3087
3088/*
3089 * End system-specific stuff
3090 **********************************************************************/
3091
3092
3093#ifdef __cplusplus
3094}
3095#endif
3096
3097#endif /* __gl_h_ */
3098
3099#endif /* !SDL_PLATFORM_IOS */
3100
3101#endif /* SDL_opengl_h_ */
3102