~ubuntu-branches/ubuntu/precise/openarena/precise

« back to all changes in this revision

Viewing changes to code/renderer/qgl.h

  • Committer: Bazaar Package Importer
  • Author(s): Ansgar Burchardt
  • Date: 2008-09-05 21:14:51 UTC
  • mfrom: (1.2.1 upstream) (2.1.5 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080905211451-243bmbl6l6gdav7l
* Remove non-free code/tools/lcc (Closes: #496346)
  + Remove hunk from patch 10_fix_build_and_binary_on_alpha
  + debian/rules: Add BUILD_GAME_QVM=0 to $(MAKE) call
    (thanks to Peter De Wachter)
* Remove code/libs containing binary libraries for Mac OS X and Win32
* debian/copyright: Explain which parts of upstream's sources were removed
* debian/rules: replace ${source:Upstream-Version} by 0.7.7
  because the variable also contains the `+dfsg1' part
* Add -fsigned-char to compiler options (Closes: #487970)
  (thanks to Peter De Wachter)
* Add myself to Uploaders
* debian/control: Remove article from beginning of short description,
  don't start short description with a capital letter
* debian/openarena.6: Escape minus signs
  + fixes lintian warnings: hyphen-used-as-minus-sign

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
#ifndef __QGL_H__
27
27
#define __QGL_H__
28
28
 
29
 
#if defined( __LINT__ )
30
 
 
31
 
#include <GL/gl.h>
32
 
 
33
 
#elif defined( _WIN32 )
34
 
 
35
 
#if _MSC_VER
36
 
#pragma warning (disable: 4201)
37
 
#pragma warning (disable: 4214)
38
 
#pragma warning (disable: 4514)
39
 
#pragma warning (disable: 4032)
40
 
#pragma warning (disable: 4201)
41
 
#pragma warning (disable: 4214)
42
 
#endif
43
 
 
44
 
#include <windows.h>
45
 
#include <GL/gl.h>
46
 
 
47
 
#elif defined(MACOS_X)
48
 
 
49
 
#include <OpenGL/OpenGL.h>
50
 
#include <OpenGL/gl.h>
51
 
#include <OpenGL/glu.h>
52
 
#ifndef GL_EXT_abgr
53
 
#include <OpenGL/glext.h>
54
 
#endif
55
 
 
56
 
// This can be defined to use the CGLMacro.h support which avoids looking up
57
 
// the current context.
58
 
//#define USE_CGLMACROS
59
 
 
60
 
#ifdef USE_CGLMACROS
61
 
#include "macosx_local.h"
62
 
#define cgl_ctx glw_state._cgl_ctx
63
 
#include <OpenGL/CGLMacro.h>
64
 
#endif
65
 
 
66
 
#elif defined( __linux__ ) || defined(__FreeBSD__)
67
 
 
68
 
#include <GL/gl.h>
69
 
#include <GL/glx.h>
70
 
// bk001129 - from cvs1.17 (mkv)
71
 
#if defined(__FX__)
72
 
#include <GL/fxmesa.h>
73
 
#endif
74
 
 
75
 
#elif defined( __sun )
76
 
#include <GL/gl.h>
77
 
#include <GL/glx.h>
78
 
 
79
 
#else
80
 
 
81
 
#include <gl.h>
82
 
 
83
 
#endif
84
 
 
85
 
#ifndef APIENTRY
86
 
#define APIENTRY
87
 
#endif
88
 
#ifndef WINAPI
89
 
#define WINAPI
90
 
#endif
91
 
 
92
 
 
93
 
//===========================================================================
94
 
// <Timbo> I hate this section so much
95
 
 
96
 
/*
97
 
** multitexture extension definitions
98
 
*/
99
 
#if !defined(__sun)
100
 
 
101
 
#define GL_ACTIVE_TEXTURE_ARB               0x84E0
102
 
#define GL_CLIENT_ACTIVE_TEXTURE_ARB        0x84E1
103
 
#define GL_MAX_ACTIVE_TEXTURES_ARB          0x84E2
104
 
 
105
 
#define GL_TEXTURE0_ARB                     0x84C0
106
 
#define GL_TEXTURE1_ARB                     0x84C1
107
 
#define GL_TEXTURE2_ARB                     0x84C2
108
 
#define GL_TEXTURE3_ARB                     0x84C3
109
 
 
110
 
#else
111
 
 
112
 
#define GL_MAX_ACTIVE_TEXTURES_ARB          0x84E2
113
 
 
114
 
#endif /* defined(__sun) */
115
 
 
116
 
// anisotropic filtering constants
117
 
#define GL_TEXTURE_MAX_ANISOTROPY_EXT       0x84FE
118
 
#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT   0x84FF
119
 
 
120
 
// define for skyboxes without black seams on non SDL-versions.
121
 
#if !defined(GL_VERSION_1_2) && !defined(GL_CLAMP_TO_EDGE)
122
 
   #define GL_CLAMP_TO_EDGE                  0x812F
123
 
#endif
124
 
 
125
 
//===========================================================================
126
 
 
127
 
// NOTE: some Linux platforms would need those prototypes
128
 
#if defined(MACOS_X) || ( defined(__sun) && defined(__sparc) )
129
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
130
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
131
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
132
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
133
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
134
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
135
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
136
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
137
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
138
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
139
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
140
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
141
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
142
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
143
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
144
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
145
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
146
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
147
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
148
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
149
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
150
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
151
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
152
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
153
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
154
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
155
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
156
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
157
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
158
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
159
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
160
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
161
 
typedef void (APIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum target);
162
 
typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum target);
163
 
#endif
164
 
 
165
 
// TTimo - VC7 / XP ?
166
 
#ifdef WIN32
167
 
typedef void (APIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
168
 
typedef void (APIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum target);
169
 
typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum target);
170
 
#endif
171
 
 
172
 
/*
173
 
** extension constants
174
 
*/
175
 
 
176
 
 
177
 
// S3TC compression constants
178
 
#define GL_RGB_S3TC                                                     0x83A0
179
 
#define GL_RGB4_S3TC                                            0x83A1
180
 
 
181
 
 
182
 
// extensions will be function pointers on all platforms
183
 
 
184
 
extern  void ( APIENTRY * qglMultiTexCoord2fARB )( GLenum texture, GLfloat s, GLfloat t );
185
 
extern  void ( APIENTRY * qglActiveTextureARB )( GLenum texture );
186
 
extern  void ( APIENTRY * qglClientActiveTextureARB )( GLenum texture );
187
 
 
188
 
extern  void ( APIENTRY * qglLockArraysEXT) (GLint, GLint);
189
 
extern  void ( APIENTRY * qglUnlockArraysEXT) (void);
190
 
 
191
 
//===========================================================================
192
 
 
193
 
// non-dlopening systems will just redefine qgl* to gl*
194
 
#if !defined( _WIN32 ) && !defined(MACOS_X) && !defined( __linux__ ) && !defined( __FreeBSD__ ) && !defined(__sun) // rb010123
195
 
 
196
 
#include "qgl_linked.h"
197
 
 
198
 
#elif (defined(MACOS_X) && !defined(USE_SDL_VIDEO))
199
 
// This includes #ifdefs for optional logging and GL error checking after every GL call as well as #defines to prevent incorrect usage of the non-'qgl' versions of the GL API.
200
 
#include "macosx_qgl.h"
201
 
 
202
 
#else
203
 
 
204
 
// windows systems use a function pointer for each call so we can load minidrivers
205
 
 
206
 
extern  void ( APIENTRY * qglAccum )(GLenum op, GLfloat value);
207
 
extern  void ( APIENTRY * qglAlphaFunc )(GLenum func, GLclampf ref);
208
 
extern  GLboolean ( APIENTRY * qglAreTexturesResident )(GLsizei n, const GLuint *textures, GLboolean *residences);
209
 
extern  void ( APIENTRY * qglArrayElement )(GLint i);
210
 
extern  void ( APIENTRY * qglBegin )(GLenum mode);
211
 
extern  void ( APIENTRY * qglBindTexture )(GLenum target, GLuint texture);
212
 
extern  void ( APIENTRY * qglBitmap )(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
213
 
extern  void ( APIENTRY * qglBlendFunc )(GLenum sfactor, GLenum dfactor);
214
 
extern  void ( APIENTRY * qglCallList )(GLuint list);
215
 
extern  void ( APIENTRY * qglCallLists )(GLsizei n, GLenum type, const GLvoid *lists);
216
 
extern  void ( APIENTRY * qglClear )(GLbitfield mask);
217
 
extern  void ( APIENTRY * qglClearAccum )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
218
 
extern  void ( APIENTRY * qglClearColor )(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
219
 
extern  void ( APIENTRY * qglClearDepth )(GLclampd depth);
220
 
extern  void ( APIENTRY * qglClearIndex )(GLfloat c);
221
 
extern  void ( APIENTRY * qglClearStencil )(GLint s);
222
 
extern  void ( APIENTRY * qglClipPlane )(GLenum plane, const GLdouble *equation);
223
 
extern  void ( APIENTRY * qglColor3b )(GLbyte red, GLbyte green, GLbyte blue);
224
 
extern  void ( APIENTRY * qglColor3bv )(const GLbyte *v);
225
 
extern  void ( APIENTRY * qglColor3d )(GLdouble red, GLdouble green, GLdouble blue);
226
 
extern  void ( APIENTRY * qglColor3dv )(const GLdouble *v);
227
 
extern  void ( APIENTRY * qglColor3f )(GLfloat red, GLfloat green, GLfloat blue);
228
 
extern  void ( APIENTRY * qglColor3fv )(const GLfloat *v);
229
 
extern  void ( APIENTRY * qglColor3i )(GLint red, GLint green, GLint blue);
230
 
extern  void ( APIENTRY * qglColor3iv )(const GLint *v);
231
 
extern  void ( APIENTRY * qglColor3s )(GLshort red, GLshort green, GLshort blue);
232
 
extern  void ( APIENTRY * qglColor3sv )(const GLshort *v);
233
 
extern  void ( APIENTRY * qglColor3ub )(GLubyte red, GLubyte green, GLubyte blue);
234
 
extern  void ( APIENTRY * qglColor3ubv )(const GLubyte *v);
235
 
extern  void ( APIENTRY * qglColor3ui )(GLuint red, GLuint green, GLuint blue);
236
 
extern  void ( APIENTRY * qglColor3uiv )(const GLuint *v);
237
 
extern  void ( APIENTRY * qglColor3us )(GLushort red, GLushort green, GLushort blue);
238
 
extern  void ( APIENTRY * qglColor3usv )(const GLushort *v);
239
 
extern  void ( APIENTRY * qglColor4b )(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
240
 
extern  void ( APIENTRY * qglColor4bv )(const GLbyte *v);
241
 
extern  void ( APIENTRY * qglColor4d )(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
242
 
extern  void ( APIENTRY * qglColor4dv )(const GLdouble *v);
243
 
extern  void ( APIENTRY * qglColor4f )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
244
 
extern  void ( APIENTRY * qglColor4fv )(const GLfloat *v);
245
 
extern  void ( APIENTRY * qglColor4i )(GLint red, GLint green, GLint blue, GLint alpha);
246
 
extern  void ( APIENTRY * qglColor4iv )(const GLint *v);
247
 
extern  void ( APIENTRY * qglColor4s )(GLshort red, GLshort green, GLshort blue, GLshort alpha);
248
 
extern  void ( APIENTRY * qglColor4sv )(const GLshort *v);
249
 
extern  void ( APIENTRY * qglColor4ub )(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
250
 
extern  void ( APIENTRY * qglColor4ubv )(const GLubyte *v);
251
 
extern  void ( APIENTRY * qglColor4ui )(GLuint red, GLuint green, GLuint blue, GLuint alpha);
252
 
extern  void ( APIENTRY * qglColor4uiv )(const GLuint *v);
253
 
extern  void ( APIENTRY * qglColor4us )(GLushort red, GLushort green, GLushort blue, GLushort alpha);
254
 
extern  void ( APIENTRY * qglColor4usv )(const GLushort *v);
255
 
extern  void ( APIENTRY * qglColorMask )(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
256
 
extern  void ( APIENTRY * qglColorMaterial )(GLenum face, GLenum mode);
257
 
extern  void ( APIENTRY * qglColorPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
258
 
extern  void ( APIENTRY * qglCopyPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
259
 
extern  void ( APIENTRY * qglCopyTexImage1D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
260
 
extern  void ( APIENTRY * qglCopyTexImage2D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
261
 
extern  void ( APIENTRY * qglCopyTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
262
 
extern  void ( APIENTRY * qglCopyTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
263
 
extern  void ( APIENTRY * qglCullFace )(GLenum mode);
264
 
extern  void ( APIENTRY * qglDeleteLists )(GLuint list, GLsizei range);
265
 
extern  void ( APIENTRY * qglDeleteTextures )(GLsizei n, const GLuint *textures);
266
 
extern  void ( APIENTRY * qglDepthFunc )(GLenum func);
267
 
extern  void ( APIENTRY * qglDepthMask )(GLboolean flag);
268
 
extern  void ( APIENTRY * qglDepthRange )(GLclampd zNear, GLclampd zFar);
269
 
extern  void ( APIENTRY * qglDisable )(GLenum cap);
270
 
extern  void ( APIENTRY * qglDisableClientState )(GLenum array);
271
 
extern  void ( APIENTRY * qglDrawArrays )(GLenum mode, GLint first, GLsizei count);
272
 
extern  void ( APIENTRY * qglDrawBuffer )(GLenum mode);
273
 
extern  void ( APIENTRY * qglDrawElements )(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
274
 
extern  void ( APIENTRY * qglDrawPixels )(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
275
 
extern  void ( APIENTRY * qglEdgeFlag )(GLboolean flag);
276
 
extern  void ( APIENTRY * qglEdgeFlagPointer )(GLsizei stride, const GLvoid *pointer);
277
 
extern  void ( APIENTRY * qglEdgeFlagv )(const GLboolean *flag);
278
 
extern  void ( APIENTRY * qglEnable )(GLenum cap);
279
 
extern  void ( APIENTRY * qglEnableClientState )(GLenum array);
280
 
extern  void ( APIENTRY * qglEnd )(void);
281
 
extern  void ( APIENTRY * qglEndList )(void);
282
 
extern  void ( APIENTRY * qglEvalCoord1d )(GLdouble u);
283
 
extern  void ( APIENTRY * qglEvalCoord1dv )(const GLdouble *u);
284
 
extern  void ( APIENTRY * qglEvalCoord1f )(GLfloat u);
285
 
extern  void ( APIENTRY * qglEvalCoord1fv )(const GLfloat *u);
286
 
extern  void ( APIENTRY * qglEvalCoord2d )(GLdouble u, GLdouble v);
287
 
extern  void ( APIENTRY * qglEvalCoord2dv )(const GLdouble *u);
288
 
extern  void ( APIENTRY * qglEvalCoord2f )(GLfloat u, GLfloat v);
289
 
extern  void ( APIENTRY * qglEvalCoord2fv )(const GLfloat *u);
290
 
extern  void ( APIENTRY * qglEvalMesh1 )(GLenum mode, GLint i1, GLint i2);
291
 
extern  void ( APIENTRY * qglEvalMesh2 )(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
292
 
extern  void ( APIENTRY * qglEvalPoint1 )(GLint i);
293
 
extern  void ( APIENTRY * qglEvalPoint2 )(GLint i, GLint j);
294
 
extern  void ( APIENTRY * qglFeedbackBuffer )(GLsizei size, GLenum type, GLfloat *buffer);
295
 
extern  void ( APIENTRY * qglFinish )(void);
296
 
extern  void ( APIENTRY * qglFlush )(void);
297
 
extern  void ( APIENTRY * qglFogf )(GLenum pname, GLfloat param);
298
 
extern  void ( APIENTRY * qglFogfv )(GLenum pname, const GLfloat *params);
299
 
extern  void ( APIENTRY * qglFogi )(GLenum pname, GLint param);
300
 
extern  void ( APIENTRY * qglFogiv )(GLenum pname, const GLint *params);
301
 
extern  void ( APIENTRY * qglFrontFace )(GLenum mode);
302
 
extern  void ( APIENTRY * qglFrustum )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
303
 
extern  GLuint ( APIENTRY * qglGenLists )(GLsizei range);
304
 
extern  void ( APIENTRY * qglGenTextures )(GLsizei n, GLuint *textures);
305
 
extern  void ( APIENTRY * qglGetBooleanv )(GLenum pname, GLboolean *params);
306
 
extern  void ( APIENTRY * qglGetClipPlane )(GLenum plane, GLdouble *equation);
307
 
extern  void ( APIENTRY * qglGetDoublev )(GLenum pname, GLdouble *params);
308
 
extern  GLenum ( APIENTRY * qglGetError )(void);
309
 
extern  void ( APIENTRY * qglGetFloatv )(GLenum pname, GLfloat *params);
310
 
extern  void ( APIENTRY * qglGetIntegerv )(GLenum pname, GLint *params);
311
 
extern  void ( APIENTRY * qglGetLightfv )(GLenum light, GLenum pname, GLfloat *params);
312
 
extern  void ( APIENTRY * qglGetLightiv )(GLenum light, GLenum pname, GLint *params);
313
 
extern  void ( APIENTRY * qglGetMapdv )(GLenum target, GLenum query, GLdouble *v);
314
 
extern  void ( APIENTRY * qglGetMapfv )(GLenum target, GLenum query, GLfloat *v);
315
 
extern  void ( APIENTRY * qglGetMapiv )(GLenum target, GLenum query, GLint *v);
316
 
extern  void ( APIENTRY * qglGetMaterialfv )(GLenum face, GLenum pname, GLfloat *params);
317
 
extern  void ( APIENTRY * qglGetMaterialiv )(GLenum face, GLenum pname, GLint *params);
318
 
extern  void ( APIENTRY * qglGetPixelMapfv )(GLenum map, GLfloat *values);
319
 
extern  void ( APIENTRY * qglGetPixelMapuiv )(GLenum map, GLuint *values);
320
 
extern  void ( APIENTRY * qglGetPixelMapusv )(GLenum map, GLushort *values);
321
 
extern  void ( APIENTRY * qglGetPointerv )(GLenum pname, GLvoid* *params);
322
 
extern  void ( APIENTRY * qglGetPolygonStipple )(GLubyte *mask);
323
 
extern  const GLubyte * ( APIENTRY * qglGetString )(GLenum name);
324
 
extern  void ( APIENTRY * qglGetTexEnvfv )(GLenum target, GLenum pname, GLfloat *params);
325
 
extern  void ( APIENTRY * qglGetTexEnviv )(GLenum target, GLenum pname, GLint *params);
326
 
extern  void ( APIENTRY * qglGetTexGendv )(GLenum coord, GLenum pname, GLdouble *params);
327
 
extern  void ( APIENTRY * qglGetTexGenfv )(GLenum coord, GLenum pname, GLfloat *params);
328
 
extern  void ( APIENTRY * qglGetTexGeniv )(GLenum coord, GLenum pname, GLint *params);
329
 
extern  void ( APIENTRY * qglGetTexImage )(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
330
 
extern  void ( APIENTRY * qglGetTexLevelParameterfv )(GLenum target, GLint level, GLenum pname, GLfloat *params);
331
 
extern  void ( APIENTRY * qglGetTexLevelParameteriv )(GLenum target, GLint level, GLenum pname, GLint *params);
332
 
extern  void ( APIENTRY * qglGetTexParameterfv )(GLenum target, GLenum pname, GLfloat *params);
333
 
extern  void ( APIENTRY * qglGetTexParameteriv )(GLenum target, GLenum pname, GLint *params);
334
 
extern  void ( APIENTRY * qglHint )(GLenum target, GLenum mode);
335
 
extern  void ( APIENTRY * qglIndexMask )(GLuint mask);
336
 
extern  void ( APIENTRY * qglIndexPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);
337
 
extern  void ( APIENTRY * qglIndexd )(GLdouble c);
338
 
extern  void ( APIENTRY * qglIndexdv )(const GLdouble *c);
339
 
extern  void ( APIENTRY * qglIndexf )(GLfloat c);
340
 
extern  void ( APIENTRY * qglIndexfv )(const GLfloat *c);
341
 
extern  void ( APIENTRY * qglIndexi )(GLint c);
342
 
extern  void ( APIENTRY * qglIndexiv )(const GLint *c);
343
 
extern  void ( APIENTRY * qglIndexs )(GLshort c);
344
 
extern  void ( APIENTRY * qglIndexsv )(const GLshort *c);
345
 
extern  void ( APIENTRY * qglIndexub )(GLubyte c);
346
 
extern  void ( APIENTRY * qglIndexubv )(const GLubyte *c);
347
 
extern  void ( APIENTRY * qglInitNames )(void);
348
 
extern  void ( APIENTRY * qglInterleavedArrays )(GLenum format, GLsizei stride, const GLvoid *pointer);
349
 
extern  GLboolean ( APIENTRY * qglIsEnabled )(GLenum cap);
350
 
extern  GLboolean ( APIENTRY * qglIsList )(GLuint list);
351
 
extern  GLboolean ( APIENTRY * qglIsTexture )(GLuint texture);
352
 
extern  void ( APIENTRY * qglLightModelf )(GLenum pname, GLfloat param);
353
 
extern  void ( APIENTRY * qglLightModelfv )(GLenum pname, const GLfloat *params);
354
 
extern  void ( APIENTRY * qglLightModeli )(GLenum pname, GLint param);
355
 
extern  void ( APIENTRY * qglLightModeliv )(GLenum pname, const GLint *params);
356
 
extern  void ( APIENTRY * qglLightf )(GLenum light, GLenum pname, GLfloat param);
357
 
extern  void ( APIENTRY * qglLightfv )(GLenum light, GLenum pname, const GLfloat *params);
358
 
extern  void ( APIENTRY * qglLighti )(GLenum light, GLenum pname, GLint param);
359
 
extern  void ( APIENTRY * qglLightiv )(GLenum light, GLenum pname, const GLint *params);
360
 
extern  void ( APIENTRY * qglLineStipple )(GLint factor, GLushort pattern);
361
 
extern  void ( APIENTRY * qglLineWidth )(GLfloat width);
362
 
extern  void ( APIENTRY * qglListBase )(GLuint base);
363
 
extern  void ( APIENTRY * qglLoadIdentity )(void);
364
 
extern  void ( APIENTRY * qglLoadMatrixd )(const GLdouble *m);
365
 
extern  void ( APIENTRY * qglLoadMatrixf )(const GLfloat *m);
366
 
extern  void ( APIENTRY * qglLoadName )(GLuint name);
367
 
extern  void ( APIENTRY * qglLogicOp )(GLenum opcode);
368
 
extern  void ( APIENTRY * qglMap1d )(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
369
 
extern  void ( APIENTRY * qglMap1f )(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
370
 
extern  void ( APIENTRY * qglMap2d )(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
371
 
extern  void ( APIENTRY * qglMap2f )(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
372
 
extern  void ( APIENTRY * qglMapGrid1d )(GLint un, GLdouble u1, GLdouble u2);
373
 
extern  void ( APIENTRY * qglMapGrid1f )(GLint un, GLfloat u1, GLfloat u2);
374
 
extern  void ( APIENTRY * qglMapGrid2d )(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
375
 
extern  void ( APIENTRY * qglMapGrid2f )(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
376
 
extern  void ( APIENTRY * qglMaterialf )(GLenum face, GLenum pname, GLfloat param);
377
 
extern  void ( APIENTRY * qglMaterialfv )(GLenum face, GLenum pname, const GLfloat *params);
378
 
extern  void ( APIENTRY * qglMateriali )(GLenum face, GLenum pname, GLint param);
379
 
extern  void ( APIENTRY * qglMaterialiv )(GLenum face, GLenum pname, const GLint *params);
380
 
extern  void ( APIENTRY * qglMatrixMode )(GLenum mode);
381
 
extern  void ( APIENTRY * qglMultMatrixd )(const GLdouble *m);
382
 
extern  void ( APIENTRY * qglMultMatrixf )(const GLfloat *m);
383
 
extern  void ( APIENTRY * qglNewList )(GLuint list, GLenum mode);
384
 
extern  void ( APIENTRY * qglNormal3b )(GLbyte nx, GLbyte ny, GLbyte nz);
385
 
extern  void ( APIENTRY * qglNormal3bv )(const GLbyte *v);
386
 
extern  void ( APIENTRY * qglNormal3d )(GLdouble nx, GLdouble ny, GLdouble nz);
387
 
extern  void ( APIENTRY * qglNormal3dv )(const GLdouble *v);
388
 
extern  void ( APIENTRY * qglNormal3f )(GLfloat nx, GLfloat ny, GLfloat nz);
389
 
extern  void ( APIENTRY * qglNormal3fv )(const GLfloat *v);
390
 
extern  void ( APIENTRY * qglNormal3i )(GLint nx, GLint ny, GLint nz);
391
 
extern  void ( APIENTRY * qglNormal3iv )(const GLint *v);
392
 
extern  void ( APIENTRY * qglNormal3s )(GLshort nx, GLshort ny, GLshort nz);
393
 
extern  void ( APIENTRY * qglNormal3sv )(const GLshort *v);
394
 
extern  void ( APIENTRY * qglNormalPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);
395
 
extern  void ( APIENTRY * qglOrtho )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
396
 
extern  void ( APIENTRY * qglPassThrough )(GLfloat token);
397
 
extern  void ( APIENTRY * qglPixelMapfv )(GLenum map, GLsizei mapsize, const GLfloat *values);
398
 
extern  void ( APIENTRY * qglPixelMapuiv )(GLenum map, GLsizei mapsize, const GLuint *values);
399
 
extern  void ( APIENTRY * qglPixelMapusv )(GLenum map, GLsizei mapsize, const GLushort *values);
400
 
extern  void ( APIENTRY * qglPixelStoref )(GLenum pname, GLfloat param);
401
 
extern  void ( APIENTRY * qglPixelStorei )(GLenum pname, GLint param);
402
 
extern  void ( APIENTRY * qglPixelTransferf )(GLenum pname, GLfloat param);
403
 
extern  void ( APIENTRY * qglPixelTransferi )(GLenum pname, GLint param);
404
 
extern  void ( APIENTRY * qglPixelZoom )(GLfloat xfactor, GLfloat yfactor);
405
 
extern  void ( APIENTRY * qglPointSize )(GLfloat size);
406
 
extern  void ( APIENTRY * qglPolygonMode )(GLenum face, GLenum mode);
407
 
extern  void ( APIENTRY * qglPolygonOffset )(GLfloat factor, GLfloat units);
408
 
extern  void ( APIENTRY * qglPolygonStipple )(const GLubyte *mask);
409
 
extern  void ( APIENTRY * qglPopAttrib )(void);
410
 
extern  void ( APIENTRY * qglPopClientAttrib )(void);
411
 
extern  void ( APIENTRY * qglPopMatrix )(void);
412
 
extern  void ( APIENTRY * qglPopName )(void);
413
 
extern  void ( APIENTRY * qglPrioritizeTextures )(GLsizei n, const GLuint *textures, const GLclampf *priorities);
414
 
extern  void ( APIENTRY * qglPushAttrib )(GLbitfield mask);
415
 
extern  void ( APIENTRY * qglPushClientAttrib )(GLbitfield mask);
416
 
extern  void ( APIENTRY * qglPushMatrix )(void);
417
 
extern  void ( APIENTRY * qglPushName )(GLuint name);
418
 
extern  void ( APIENTRY * qglRasterPos2d )(GLdouble x, GLdouble y);
419
 
extern  void ( APIENTRY * qglRasterPos2dv )(const GLdouble *v);
420
 
extern  void ( APIENTRY * qglRasterPos2f )(GLfloat x, GLfloat y);
421
 
extern  void ( APIENTRY * qglRasterPos2fv )(const GLfloat *v);
422
 
extern  void ( APIENTRY * qglRasterPos2i )(GLint x, GLint y);
423
 
extern  void ( APIENTRY * qglRasterPos2iv )(const GLint *v);
424
 
extern  void ( APIENTRY * qglRasterPos2s )(GLshort x, GLshort y);
425
 
extern  void ( APIENTRY * qglRasterPos2sv )(const GLshort *v);
426
 
extern  void ( APIENTRY * qglRasterPos3d )(GLdouble x, GLdouble y, GLdouble z);
427
 
extern  void ( APIENTRY * qglRasterPos3dv )(const GLdouble *v);
428
 
extern  void ( APIENTRY * qglRasterPos3f )(GLfloat x, GLfloat y, GLfloat z);
429
 
extern  void ( APIENTRY * qglRasterPos3fv )(const GLfloat *v);
430
 
extern  void ( APIENTRY * qglRasterPos3i )(GLint x, GLint y, GLint z);
431
 
extern  void ( APIENTRY * qglRasterPos3iv )(const GLint *v);
432
 
extern  void ( APIENTRY * qglRasterPos3s )(GLshort x, GLshort y, GLshort z);
433
 
extern  void ( APIENTRY * qglRasterPos3sv )(const GLshort *v);
434
 
extern  void ( APIENTRY * qglRasterPos4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
435
 
extern  void ( APIENTRY * qglRasterPos4dv )(const GLdouble *v);
436
 
extern  void ( APIENTRY * qglRasterPos4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
437
 
extern  void ( APIENTRY * qglRasterPos4fv )(const GLfloat *v);
438
 
extern  void ( APIENTRY * qglRasterPos4i )(GLint x, GLint y, GLint z, GLint w);
439
 
extern  void ( APIENTRY * qglRasterPos4iv )(const GLint *v);
440
 
extern  void ( APIENTRY * qglRasterPos4s )(GLshort x, GLshort y, GLshort z, GLshort w);
441
 
extern  void ( APIENTRY * qglRasterPos4sv )(const GLshort *v);
442
 
extern  void ( APIENTRY * qglReadBuffer )(GLenum mode);
443
 
extern  void ( APIENTRY * qglReadPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
444
 
extern  void ( APIENTRY * qglRectd )(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
445
 
extern  void ( APIENTRY * qglRectdv )(const GLdouble *v1, const GLdouble *v2);
446
 
extern  void ( APIENTRY * qglRectf )(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
447
 
extern  void ( APIENTRY * qglRectfv )(const GLfloat *v1, const GLfloat *v2);
448
 
extern  void ( APIENTRY * qglRecti )(GLint x1, GLint y1, GLint x2, GLint y2);
449
 
extern  void ( APIENTRY * qglRectiv )(const GLint *v1, const GLint *v2);
450
 
extern  void ( APIENTRY * qglRects )(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
451
 
extern  void ( APIENTRY * qglRectsv )(const GLshort *v1, const GLshort *v2);
452
 
extern  GLint ( APIENTRY * qglRenderMode )(GLenum mode);
453
 
extern  void ( APIENTRY * qglRotated )(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
454
 
extern  void ( APIENTRY * qglRotatef )(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
455
 
extern  void ( APIENTRY * qglScaled )(GLdouble x, GLdouble y, GLdouble z);
456
 
extern  void ( APIENTRY * qglScalef )(GLfloat x, GLfloat y, GLfloat z);
457
 
extern  void ( APIENTRY * qglScissor )(GLint x, GLint y, GLsizei width, GLsizei height);
458
 
extern  void ( APIENTRY * qglSelectBuffer )(GLsizei size, GLuint *buffer);
459
 
extern  void ( APIENTRY * qglShadeModel )(GLenum mode);
460
 
extern  void ( APIENTRY * qglStencilFunc )(GLenum func, GLint ref, GLuint mask);
461
 
extern  void ( APIENTRY * qglStencilMask )(GLuint mask);
462
 
extern  void ( APIENTRY * qglStencilOp )(GLenum fail, GLenum zfail, GLenum zpass);
463
 
extern  void ( APIENTRY * qglTexCoord1d )(GLdouble s);
464
 
extern  void ( APIENTRY * qglTexCoord1dv )(const GLdouble *v);
465
 
extern  void ( APIENTRY * qglTexCoord1f )(GLfloat s);
466
 
extern  void ( APIENTRY * qglTexCoord1fv )(const GLfloat *v);
467
 
extern  void ( APIENTRY * qglTexCoord1i )(GLint s);
468
 
extern  void ( APIENTRY * qglTexCoord1iv )(const GLint *v);
469
 
extern  void ( APIENTRY * qglTexCoord1s )(GLshort s);
470
 
extern  void ( APIENTRY * qglTexCoord1sv )(const GLshort *v);
471
 
extern  void ( APIENTRY * qglTexCoord2d )(GLdouble s, GLdouble t);
472
 
extern  void ( APIENTRY * qglTexCoord2dv )(const GLdouble *v);
473
 
extern  void ( APIENTRY * qglTexCoord2f )(GLfloat s, GLfloat t);
474
 
extern  void ( APIENTRY * qglTexCoord2fv )(const GLfloat *v);
475
 
extern  void ( APIENTRY * qglTexCoord2i )(GLint s, GLint t);
476
 
extern  void ( APIENTRY * qglTexCoord2iv )(const GLint *v);
477
 
extern  void ( APIENTRY * qglTexCoord2s )(GLshort s, GLshort t);
478
 
extern  void ( APIENTRY * qglTexCoord2sv )(const GLshort *v);
479
 
extern  void ( APIENTRY * qglTexCoord3d )(GLdouble s, GLdouble t, GLdouble r);
480
 
extern  void ( APIENTRY * qglTexCoord3dv )(const GLdouble *v);
481
 
extern  void ( APIENTRY * qglTexCoord3f )(GLfloat s, GLfloat t, GLfloat r);
482
 
extern  void ( APIENTRY * qglTexCoord3fv )(const GLfloat *v);
483
 
extern  void ( APIENTRY * qglTexCoord3i )(GLint s, GLint t, GLint r);
484
 
extern  void ( APIENTRY * qglTexCoord3iv )(const GLint *v);
485
 
extern  void ( APIENTRY * qglTexCoord3s )(GLshort s, GLshort t, GLshort r);
486
 
extern  void ( APIENTRY * qglTexCoord3sv )(const GLshort *v);
487
 
extern  void ( APIENTRY * qglTexCoord4d )(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
488
 
extern  void ( APIENTRY * qglTexCoord4dv )(const GLdouble *v);
489
 
extern  void ( APIENTRY * qglTexCoord4f )(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
490
 
extern  void ( APIENTRY * qglTexCoord4fv )(const GLfloat *v);
491
 
extern  void ( APIENTRY * qglTexCoord4i )(GLint s, GLint t, GLint r, GLint q);
492
 
extern  void ( APIENTRY * qglTexCoord4iv )(const GLint *v);
493
 
extern  void ( APIENTRY * qglTexCoord4s )(GLshort s, GLshort t, GLshort r, GLshort q);
494
 
extern  void ( APIENTRY * qglTexCoord4sv )(const GLshort *v);
495
 
extern  void ( APIENTRY * qglTexCoordPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
496
 
extern  void ( APIENTRY * qglTexEnvf )(GLenum target, GLenum pname, GLfloat param);
497
 
extern  void ( APIENTRY * qglTexEnvfv )(GLenum target, GLenum pname, const GLfloat *params);
498
 
extern  void ( APIENTRY * qglTexEnvi )(GLenum target, GLenum pname, GLint param);
499
 
extern  void ( APIENTRY * qglTexEnviv )(GLenum target, GLenum pname, const GLint *params);
500
 
extern  void ( APIENTRY * qglTexGend )(GLenum coord, GLenum pname, GLdouble param);
501
 
extern  void ( APIENTRY * qglTexGendv )(GLenum coord, GLenum pname, const GLdouble *params);
502
 
extern  void ( APIENTRY * qglTexGenf )(GLenum coord, GLenum pname, GLfloat param);
503
 
extern  void ( APIENTRY * qglTexGenfv )(GLenum coord, GLenum pname, const GLfloat *params);
504
 
extern  void ( APIENTRY * qglTexGeni )(GLenum coord, GLenum pname, GLint param);
505
 
extern  void ( APIENTRY * qglTexGeniv )(GLenum coord, GLenum pname, const GLint *params);
506
 
extern  void ( APIENTRY * qglTexImage1D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
507
 
extern  void ( APIENTRY * qglTexImage2D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
508
 
extern  void ( APIENTRY * qglTexParameterf )(GLenum target, GLenum pname, GLfloat param);
509
 
extern  void ( APIENTRY * qglTexParameterfv )(GLenum target, GLenum pname, const GLfloat *params);
510
 
extern  void ( APIENTRY * qglTexParameteri )(GLenum target, GLenum pname, GLint param);
511
 
extern  void ( APIENTRY * qglTexParameteriv )(GLenum target, GLenum pname, const GLint *params);
512
 
extern  void ( APIENTRY * qglTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
513
 
extern  void ( APIENTRY * qglTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
514
 
extern  void ( APIENTRY * qglTranslated )(GLdouble x, GLdouble y, GLdouble z);
515
 
extern  void ( APIENTRY * qglTranslatef )(GLfloat x, GLfloat y, GLfloat z);
516
 
extern  void ( APIENTRY * qglVertex2d )(GLdouble x, GLdouble y);
517
 
extern  void ( APIENTRY * qglVertex2dv )(const GLdouble *v);
518
 
extern  void ( APIENTRY * qglVertex2f )(GLfloat x, GLfloat y);
519
 
extern  void ( APIENTRY * qglVertex2fv )(const GLfloat *v);
520
 
extern  void ( APIENTRY * qglVertex2i )(GLint x, GLint y);
521
 
extern  void ( APIENTRY * qglVertex2iv )(const GLint *v);
522
 
extern  void ( APIENTRY * qglVertex2s )(GLshort x, GLshort y);
523
 
extern  void ( APIENTRY * qglVertex2sv )(const GLshort *v);
524
 
extern  void ( APIENTRY * qglVertex3d )(GLdouble x, GLdouble y, GLdouble z);
525
 
extern  void ( APIENTRY * qglVertex3dv )(const GLdouble *v);
526
 
extern  void ( APIENTRY * qglVertex3f )(GLfloat x, GLfloat y, GLfloat z);
527
 
extern  void ( APIENTRY * qglVertex3fv )(const GLfloat *v);
528
 
extern  void ( APIENTRY * qglVertex3i )(GLint x, GLint y, GLint z);
529
 
extern  void ( APIENTRY * qglVertex3iv )(const GLint *v);
530
 
extern  void ( APIENTRY * qglVertex3s )(GLshort x, GLshort y, GLshort z);
531
 
extern  void ( APIENTRY * qglVertex3sv )(const GLshort *v);
532
 
extern  void ( APIENTRY * qglVertex4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
533
 
extern  void ( APIENTRY * qglVertex4dv )(const GLdouble *v);
534
 
extern  void ( APIENTRY * qglVertex4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
535
 
extern  void ( APIENTRY * qglVertex4fv )(const GLfloat *v);
536
 
extern  void ( APIENTRY * qglVertex4i )(GLint x, GLint y, GLint z, GLint w);
537
 
extern  void ( APIENTRY * qglVertex4iv )(const GLint *v);
538
 
extern  void ( APIENTRY * qglVertex4s )(GLshort x, GLshort y, GLshort z, GLshort w);
539
 
extern  void ( APIENTRY * qglVertex4sv )(const GLshort *v);
540
 
extern  void ( APIENTRY * qglVertexPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
541
 
extern  void ( APIENTRY * qglViewport )(GLint x, GLint y, GLsizei width, GLsizei height);
542
 
 
543
 
#if defined( _WIN32 )
544
 
 
545
 
extern  int   ( WINAPI * qwglChoosePixelFormat )(HDC, CONST PIXELFORMATDESCRIPTOR *);
546
 
extern  int   ( WINAPI * qwglDescribePixelFormat) (HDC, int, UINT, LPPIXELFORMATDESCRIPTOR);
547
 
extern  int   ( WINAPI * qwglGetPixelFormat)(HDC);
548
 
extern  BOOL  ( WINAPI * qwglSetPixelFormat)(HDC, int, CONST PIXELFORMATDESCRIPTOR *);
549
 
extern  BOOL  ( WINAPI * qwglSwapBuffers)(HDC);
550
 
 
551
 
extern  BOOL  ( WINAPI * qwglGetDeviceGammaRamp3DFX)( HDC, LPVOID );
552
 
extern  BOOL  ( WINAPI * qwglSetDeviceGammaRamp3DFX)( HDC, LPVOID );
553
 
 
554
 
extern BOOL  ( WINAPI * qwglCopyContext)(HGLRC, HGLRC, UINT);
555
 
extern HGLRC ( WINAPI * qwglCreateContext)(HDC);
556
 
extern HGLRC ( WINAPI * qwglCreateLayerContext)(HDC, int);
557
 
extern BOOL  ( WINAPI * qwglDeleteContext)(HGLRC);
558
 
extern HGLRC ( WINAPI * qwglGetCurrentContext)(VOID);
559
 
extern HDC   ( WINAPI * qwglGetCurrentDC)(VOID);
560
 
extern PROC  ( WINAPI * qwglGetProcAddress)(LPCSTR);
561
 
extern BOOL  ( WINAPI * qwglMakeCurrent)(HDC, HGLRC);
562
 
extern BOOL  ( WINAPI * qwglShareLists)(HGLRC, HGLRC);
563
 
extern BOOL  ( WINAPI * qwglUseFontBitmaps)(HDC, DWORD, DWORD, DWORD);
564
 
 
565
 
extern BOOL  ( WINAPI * qwglUseFontOutlines)(HDC, DWORD, DWORD, DWORD, FLOAT,
566
 
                                           FLOAT, int, LPGLYPHMETRICSFLOAT);
567
 
 
568
 
extern BOOL ( WINAPI * qwglDescribeLayerPlane)(HDC, int, int, UINT,
569
 
                                            LPLAYERPLANEDESCRIPTOR);
570
 
extern int  ( WINAPI * qwglSetLayerPaletteEntries)(HDC, int, int, int,
571
 
                                                CONST COLORREF *);
572
 
extern int  ( WINAPI * qwglGetLayerPaletteEntries)(HDC, int, int, int,
573
 
                                                COLORREF *);
574
 
extern BOOL ( WINAPI * qwglRealizeLayerPalette)(HDC, int, BOOL);
575
 
extern BOOL ( WINAPI * qwglSwapLayerBuffers)(HDC, UINT);
576
 
 
577
 
extern BOOL ( WINAPI * qwglSwapIntervalEXT)( int interval );
578
 
 
579
 
#endif  // _WIN32
580
 
 
581
 
#if ( (defined __linux__ )  || (defined __FreeBSD__ ) || (defined __sun) ) // rb010123
582
 
 
583
 
//FX Mesa Functions
584
 
// bk001129 - from cvs1.17 (mkv)
585
 
#if defined (__FX__)
586
 
extern fxMesaContext (*qfxMesaCreateContext)(GLuint win, GrScreenResolution_t, GrScreenRefresh_t, const GLint attribList[]);
587
 
extern fxMesaContext (*qfxMesaCreateBestContext)(GLuint win, GLint width, GLint height, const GLint attribList[]);
588
 
extern void (*qfxMesaDestroyContext)(fxMesaContext ctx);
589
 
extern void (*qfxMesaMakeCurrent)(fxMesaContext ctx);
590
 
extern fxMesaContext (*qfxMesaGetCurrentContext)(void);
591
 
extern void (*qfxMesaSwapBuffers)(void);
592
 
#endif
593
 
 
594
 
//GLX Functions
595
 
extern XVisualInfo * (*qglXChooseVisual)( Display *dpy, int screen, int *attribList );
596
 
extern GLXContext (*qglXCreateContext)( Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct );
597
 
extern void (*qglXDestroyContext)( Display *dpy, GLXContext ctx );
598
 
extern Bool (*qglXMakeCurrent)( Display *dpy, GLXDrawable drawable, GLXContext ctx);
599
 
extern void (*qglXCopyContext)( Display *dpy, GLXContext src, GLXContext dst, GLuint mask );
600
 
extern void (*qglXSwapBuffers)( Display *dpy, GLXDrawable drawable );
601
 
 
602
 
#endif // __linux__ || __FreeBSD__ || __sun // rb010123
603
 
 
604
 
#endif  // _WIN32 && __linux__
 
29
#ifdef USE_LOCAL_HEADERS
 
30
#       include "SDL_opengl.h"
 
31
#else
 
32
#       include <SDL_opengl.h>
 
33
#endif
 
34
 
 
35
extern void (APIENTRYP qglActiveTextureARB) (GLenum texture);
 
36
extern void (APIENTRYP qglClientActiveTextureARB) (GLenum texture);
 
37
extern void (APIENTRYP qglMultiTexCoord2fARB) (GLenum target, GLfloat s, GLfloat t);
 
38
 
 
39
extern void (APIENTRYP qglLockArraysEXT) (GLint first, GLsizei count);
 
40
extern void (APIENTRYP qglUnlockArraysEXT) (void);
 
41
 
 
42
 
 
43
//===========================================================================
 
44
 
 
45
#define qglAccum glAccum
 
46
#define qglAlphaFunc glAlphaFunc
 
47
#define qglAreTexturesResident glAreTexturesResident
 
48
#define qglArrayElement glArrayElement
 
49
#define qglBegin glBegin
 
50
#define qglBindTexture glBindTexture
 
51
#define qglBitmap glBitmap
 
52
#define qglBlendFunc glBlendFunc
 
53
#define qglCallList glCallList
 
54
#define qglCallLists glCallLists
 
55
#define qglClear glClear
 
56
#define qglClearAccum glClearAccum
 
57
#define qglClearColor glClearColor
 
58
#define qglClearDepth glClearDepth
 
59
#define qglClearIndex glClearIndex
 
60
#define qglClearStencil glClearStencil
 
61
#define qglClipPlane glClipPlane
 
62
#define qglColor3b glColor3b
 
63
#define qglColor3bv glColor3bv
 
64
#define qglColor3d glColor3d
 
65
#define qglColor3dv glColor3dv
 
66
#define qglColor3f glColor3f
 
67
#define qglColor3fv glColor3fv
 
68
#define qglColor3i glColor3i
 
69
#define qglColor3iv glColor3iv
 
70
#define qglColor3s glColor3s
 
71
#define qglColor3sv glColor3sv
 
72
#define qglColor3ub glColor3ub
 
73
#define qglColor3ubv glColor3ubv
 
74
#define qglColor3ui glColor3ui
 
75
#define qglColor3uiv glColor3uiv
 
76
#define qglColor3us glColor3us
 
77
#define qglColor3usv glColor3usv
 
78
#define qglColor4b glColor4b
 
79
#define qglColor4bv glColor4bv
 
80
#define qglColor4d glColor4d
 
81
#define qglColor4dv glColor4dv
 
82
#define qglColor4f glColor4f
 
83
#define qglColor4fv glColor4fv
 
84
#define qglColor4i glColor4i
 
85
#define qglColor4iv glColor4iv
 
86
#define qglColor4s glColor4s
 
87
#define qglColor4sv glColor4sv
 
88
#define qglColor4ub glColor4ub
 
89
#define qglColor4ubv glColor4ubv
 
90
#define qglColor4ui glColor4ui
 
91
#define qglColor4uiv glColor4uiv
 
92
#define qglColor4us glColor4us
 
93
#define qglColor4usv glColor4usv
 
94
#define qglColorMask glColorMask
 
95
#define qglColorMaterial glColorMaterial
 
96
#define qglColorPointer glColorPointer
 
97
#define qglCopyPixels glCopyPixels
 
98
#define qglCopyTexImage1D glCopyTexImage1D
 
99
#define qglCopyTexImage2D glCopyTexImage2D
 
100
#define qglCopyTexSubImage1D glCopyTexSubImage1D
 
101
#define qglCopyTexSubImage2D glCopyTexSubImage2D
 
102
#define qglCullFace glCullFace
 
103
#define qglDeleteLists glDeleteLists
 
104
#define qglDeleteTextures glDeleteTextures
 
105
#define qglDepthFunc glDepthFunc
 
106
#define qglDepthMask glDepthMask
 
107
#define qglDepthRange glDepthRange
 
108
#define qglDisable glDisable
 
109
#define qglDisableClientState glDisableClientState
 
110
#define qglDrawArrays glDrawArrays
 
111
#define qglDrawBuffer glDrawBuffer
 
112
#define qglDrawElements glDrawElements
 
113
#define qglDrawPixels glDrawPixels
 
114
#define qglEdgeFlag glEdgeFlag
 
115
#define qglEdgeFlagPointer glEdgeFlagPointer
 
116
#define qglEdgeFlagv glEdgeFlagv
 
117
#define qglEnable glEnable
 
118
#define qglEnableClientState glEnableClientState
 
119
#define qglEnd glEnd
 
120
#define qglEndList glEndList
 
121
#define qglEvalCoord1d glEvalCoord1d
 
122
#define qglEvalCoord1dv glEvalCoord1dv
 
123
#define qglEvalCoord1f glEvalCoord1f
 
124
#define qglEvalCoord1fv glEvalCoord1fv
 
125
#define qglEvalCoord2d glEvalCoord2d
 
126
#define qglEvalCoord2dv glEvalCoord2dv
 
127
#define qglEvalCoord2f glEvalCoord2f
 
128
#define qglEvalCoord2fv glEvalCoord2fv
 
129
#define qglEvalMesh1 glEvalMesh1
 
130
#define qglEvalMesh2 glEvalMesh2
 
131
#define qglEvalPoint1 glEvalPoint1
 
132
#define qglEvalPoint2 glEvalPoint2
 
133
#define qglFeedbackBuffer glFeedbackBuffer
 
134
#define qglFinish glFinish
 
135
#define qglFlush glFlush
 
136
#define qglFogf glFogf
 
137
#define qglFogfv glFogfv
 
138
#define qglFogi glFogi
 
139
#define qglFogiv glFogiv
 
140
#define qglFrontFace glFrontFace
 
141
#define qglFrustum glFrustum
 
142
#define qglGenLists glGenLists
 
143
#define qglGenTextures glGenTextures
 
144
#define qglGetBooleanv glGetBooleanv
 
145
#define qglGetClipPlane glGetClipPlane
 
146
#define qglGetDoublev glGetDoublev
 
147
#define qglGetError glGetError
 
148
#define qglGetFloatv glGetFloatv
 
149
#define qglGetIntegerv glGetIntegerv
 
150
#define qglGetLightfv glGetLightfv
 
151
#define qglGetLightiv glGetLightiv
 
152
#define qglGetMapdv glGetMapdv
 
153
#define qglGetMapfv glGetMapfv
 
154
#define qglGetMapiv glGetMapiv
 
155
#define qglGetMaterialfv glGetMaterialfv
 
156
#define qglGetMaterialiv glGetMaterialiv
 
157
#define qglGetPixelMapfv glGetPixelMapfv
 
158
#define qglGetPixelMapuiv glGetPixelMapuiv
 
159
#define qglGetPixelMapusv glGetPixelMapusv
 
160
#define qglGetPointerv glGetPointerv
 
161
#define qglGetPolygonStipple glGetPolygonStipple
 
162
#define qglGetString glGetString
 
163
#define qglGetTexGendv glGetTexGendv
 
164
#define qglGetTexGenfv glGetTexGenfv
 
165
#define qglGetTexGeniv glGetTexGeniv
 
166
#define qglGetTexImage glGetTexImage
 
167
#define qglGetTexLevelParameterfv glGetTexLevelParameterfv
 
168
#define qglGetTexLevelParameteriv glGetTexLevelParameteriv
 
169
#define qglGetTexParameterfv glGetTexParameterfv
 
170
#define qglGetTexParameteriv glGetTexParameteriv
 
171
#define qglHint glHint
 
172
#define qglIndexMask glIndexMask
 
173
#define qglIndexPointer glIndexPointer
 
174
#define qglIndexd glIndexd
 
175
#define qglIndexdv glIndexdv
 
176
#define qglIndexf glIndexf
 
177
#define qglIndexfv glIndexfv
 
178
#define qglIndexi glIndexi
 
179
#define qglIndexiv glIndexiv
 
180
#define qglIndexs glIndexs
 
181
#define qglIndexsv glIndexsv
 
182
#define qglIndexub glIndexub
 
183
#define qglIndexubv glIndexubv
 
184
#define qglInitNames glInitNames
 
185
#define qglInterleavedArrays glInterleavedArrays
 
186
#define qglIsEnabled glIsEnabled
 
187
#define qglIsList glIsList
 
188
#define qglIsTexture glIsTexture
 
189
#define qglLightModelf glLightModelf
 
190
#define qglLightModelfv glLightModelfv
 
191
#define qglLightModeli glLightModeli
 
192
#define qglLightModeliv glLightModeliv
 
193
#define qglLightf glLightf
 
194
#define qglLightfv glLightfv
 
195
#define qglLighti glLighti
 
196
#define qglLightiv glLightiv
 
197
#define qglLineStipple glLineStipple
 
198
#define qglLineWidth glLineWidth
 
199
#define qglListBase glListBase
 
200
#define qglLoadIdentity glLoadIdentity
 
201
#define qglLoadMatrixd glLoadMatrixd
 
202
#define qglLoadMatrixf glLoadMatrixf
 
203
#define qglLoadName glLoadName
 
204
#define qglLogicOp glLogicOp
 
205
#define qglMap1d glMap1d
 
206
#define qglMap1f glMap1f
 
207
#define qglMap2d glMap2d
 
208
#define qglMap2f glMap2f
 
209
#define qglMapGrid1d glMapGrid1d
 
210
#define qglMapGrid1f glMapGrid1f
 
211
#define qglMapGrid2d glMapGrid2d
 
212
#define qglMapGrid2f glMapGrid2f
 
213
#define qglMaterialf glMaterialf
 
214
#define qglMaterialfv glMaterialfv
 
215
#define qglMateriali glMateriali
 
216
#define qglMaterialiv glMaterialiv
 
217
#define qglMatrixMode glMatrixMode
 
218
#define qglMultMatrixd glMultMatrixd
 
219
#define qglMultMatrixf glMultMatrixf
 
220
#define qglNewList glNewList
 
221
#define qglNormal3b glNormal3b
 
222
#define qglNormal3bv glNormal3bv
 
223
#define qglNormal3d glNormal3d
 
224
#define qglNormal3dv glNormal3dv
 
225
#define qglNormal3f glNormal3f
 
226
#define qglNormal3fv glNormal3fv
 
227
#define qglNormal3i glNormal3i
 
228
#define qglNormal3iv glNormal3iv
 
229
#define qglNormal3s glNormal3s
 
230
#define qglNormal3sv glNormal3sv
 
231
#define qglNormalPointer glNormalPointer
 
232
#define qglOrtho glOrtho
 
233
#define qglPassThrough glPassThrough
 
234
#define qglPixelMapfv glPixelMapfv
 
235
#define qglPixelMapuiv glPixelMapuiv
 
236
#define qglPixelMapusv glPixelMapusv
 
237
#define qglPixelStoref glPixelStoref
 
238
#define qglPixelStorei glPixelStorei
 
239
#define qglPixelTransferf glPixelTransferf
 
240
#define qglPixelTransferi glPixelTransferi
 
241
#define qglPixelZoom glPixelZoom
 
242
#define qglPointSize glPointSize
 
243
#define qglPolygonMode glPolygonMode
 
244
#define qglPolygonOffset glPolygonOffset
 
245
#define qglPolygonStipple glPolygonStipple
 
246
#define qglPopAttrib glPopAttrib
 
247
#define qglPopClientAttrib glPopClientAttrib
 
248
#define qglPopMatrix glPopMatrix
 
249
#define qglPopName glPopName
 
250
#define qglPrioritizeTextures glPrioritizeTextures
 
251
#define qglPushAttrib glPushAttrib
 
252
#define qglPushClientAttrib glPushClientAttrib
 
253
#define qglPushMatrix glPushMatrix
 
254
#define qglPushName glPushName
 
255
#define qglRasterPos2d glRasterPos2d
 
256
#define qglRasterPos2dv glRasterPos2dv
 
257
#define qglRasterPos2f glRasterPos2f
 
258
#define qglRasterPos2fv glRasterPos2fv
 
259
#define qglRasterPos2i glRasterPos2i
 
260
#define qglRasterPos2iv glRasterPos2iv
 
261
#define qglRasterPos2s glRasterPos2s
 
262
#define qglRasterPos2sv glRasterPos2sv
 
263
#define qglRasterPos3d glRasterPos3d
 
264
#define qglRasterPos3dv glRasterPos3dv
 
265
#define qglRasterPos3f glRasterPos3f
 
266
#define qglRasterPos3fv glRasterPos3fv
 
267
#define qglRasterPos3i glRasterPos3i
 
268
#define qglRasterPos3iv glRasterPos3iv
 
269
#define qglRasterPos3s glRasterPos3s
 
270
#define qglRasterPos3sv glRasterPos3sv
 
271
#define qglRasterPos4d glRasterPos4d
 
272
#define qglRasterPos4dv glRasterPos4dv
 
273
#define qglRasterPos4f glRasterPos4f
 
274
#define qglRasterPos4fv glRasterPos4fv
 
275
#define qglRasterPos4i glRasterPos4i
 
276
#define qglRasterPos4iv glRasterPos4iv
 
277
#define qglRasterPos4s glRasterPos4s
 
278
#define qglRasterPos4sv glRasterPos4sv
 
279
#define qglReadBuffer glReadBuffer
 
280
#define qglReadPixels glReadPixels
 
281
#define qglRectd glRectd
 
282
#define qglRectdv glRectdv
 
283
#define qglRectf glRectf
 
284
#define qglRectfv glRectfv
 
285
#define qglRecti glRecti
 
286
#define qglRectiv glRectiv
 
287
#define qglRects glRects
 
288
#define qglRectsv glRectsv
 
289
#define qglRenderMode glRenderMode
 
290
#define qglRotated glRotated
 
291
#define qglRotatef glRotatef
 
292
#define qglScaled glScaled
 
293
#define qglScalef glScalef
 
294
#define qglScissor glScissor
 
295
#define qglSelectBuffer glSelectBuffer
 
296
#define qglShadeModel glShadeModel
 
297
#define qglStencilFunc glStencilFunc
 
298
#define qglStencilMask glStencilMask
 
299
#define qglStencilOp glStencilOp
 
300
#define qglTexCoord1d glTexCoord1d
 
301
#define qglTexCoord1dv glTexCoord1dv
 
302
#define qglTexCoord1f glTexCoord1f
 
303
#define qglTexCoord1fv glTexCoord1fv
 
304
#define qglTexCoord1i glTexCoord1i
 
305
#define qglTexCoord1iv glTexCoord1iv
 
306
#define qglTexCoord1s glTexCoord1s
 
307
#define qglTexCoord1sv glTexCoord1sv
 
308
#define qglTexCoord2d glTexCoord2d
 
309
#define qglTexCoord2dv glTexCoord2dv
 
310
#define qglTexCoord2f glTexCoord2f
 
311
#define qglTexCoord2fv glTexCoord2fv
 
312
#define qglTexCoord2i glTexCoord2i
 
313
#define qglTexCoord2iv glTexCoord2iv
 
314
#define qglTexCoord2s glTexCoord2s
 
315
#define qglTexCoord2sv glTexCoord2sv
 
316
#define qglTexCoord3d glTexCoord3d
 
317
#define qglTexCoord3dv glTexCoord3dv
 
318
#define qglTexCoord3f glTexCoord3f
 
319
#define qglTexCoord3fv glTexCoord3fv
 
320
#define qglTexCoord3i glTexCoord3i
 
321
#define qglTexCoord3iv glTexCoord3iv
 
322
#define qglTexCoord3s glTexCoord3s
 
323
#define qglTexCoord3sv glTexCoord3sv
 
324
#define qglTexCoord4d glTexCoord4d
 
325
#define qglTexCoord4dv glTexCoord4dv
 
326
#define qglTexCoord4f glTexCoord4f
 
327
#define qglTexCoord4fv glTexCoord4fv
 
328
#define qglTexCoord4i glTexCoord4i
 
329
#define qglTexCoord4iv glTexCoord4iv
 
330
#define qglTexCoord4s glTexCoord4s
 
331
#define qglTexCoord4sv glTexCoord4sv
 
332
#define qglTexCoordPointer glTexCoordPointer
 
333
#define qglTexEnvf glTexEnvf
 
334
#define qglTexEnvfv glTexEnvfv
 
335
#define qglTexEnvi glTexEnvi
 
336
#define qglTexEnviv glTexEnviv
 
337
#define qglTexGend glTexGend
 
338
#define qglTexGendv glTexGendv
 
339
#define qglTexGenf glTexGenf
 
340
#define qglTexGenfv glTexGenfv
 
341
#define qglTexGeni glTexGeni
 
342
#define qglTexGeniv glTexGeniv
 
343
#define qglTexImage1D glTexImage1D
 
344
#define qglTexImage2D glTexImage2D
 
345
#define qglTexParameterf glTexParameterf
 
346
#define qglTexParameterfv glTexParameterfv
 
347
#define qglTexParameteri glTexParameteri
 
348
#define qglTexParameteriv glTexParameteriv
 
349
#define qglTexSubImage1D glTexSubImage1D
 
350
#define qglTexSubImage2D glTexSubImage2D
 
351
#define qglTranslated glTranslated
 
352
#define qglTranslatef glTranslatef
 
353
#define qglVertex2d glVertex2d
 
354
#define qglVertex2dv glVertex2dv
 
355
#define qglVertex2f glVertex2f
 
356
#define qglVertex2fv glVertex2fv
 
357
#define qglVertex2i glVertex2i
 
358
#define qglVertex2iv glVertex2iv
 
359
#define qglVertex2s glVertex2s
 
360
#define qglVertex2sv glVertex2sv
 
361
#define qglVertex3d glVertex3d
 
362
#define qglVertex3dv glVertex3dv
 
363
#define qglVertex3f glVertex3f
 
364
#define qglVertex3fv glVertex3fv
 
365
#define qglVertex3i glVertex3i
 
366
#define qglVertex3iv glVertex3iv
 
367
#define qglVertex3s glVertex3s
 
368
#define qglVertex3sv glVertex3sv
 
369
#define qglVertex4d glVertex4d
 
370
#define qglVertex4dv glVertex4dv
 
371
#define qglVertex4f glVertex4f
 
372
#define qglVertex4fv glVertex4fv
 
373
#define qglVertex4i glVertex4i
 
374
#define qglVertex4iv glVertex4iv
 
375
#define qglVertex4s glVertex4s
 
376
#define qglVertex4sv glVertex4sv
 
377
#define qglVertexPointer glVertexPointer
 
378
#define qglViewport glViewport
605
379
 
606
380
#endif