~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): Bruno "Fuddl" Kleinert
  • Date: 2007-01-20 12:28:09 UTC
  • Revision ID: james.westby@ubuntu.com-20070120122809-2yza5ojt7nqiyiam
Tags: upstream-0.6.0
ImportĀ upstreamĀ versionĀ 0.6.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
===========================================================================
 
3
Copyright (C) 1999-2005 Id Software, Inc.
 
4
 
 
5
This file is part of Quake III Arena source code.
 
6
 
 
7
Quake III Arena source code is free software; you can redistribute it
 
8
and/or modify it under the terms of the GNU General Public License as
 
9
published by the Free Software Foundation; either version 2 of the License,
 
10
or (at your option) any later version.
 
11
 
 
12
Quake III Arena source code is distributed in the hope that it will be
 
13
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
15
GNU General Public License for more details.
 
16
 
 
17
You should have received a copy of the GNU General Public License
 
18
along with Quake III Arena source code; if not, write to the Free Software
 
19
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
20
===========================================================================
 
21
*/
 
22
/*
 
23
** QGL.H
 
24
*/
 
25
 
 
26
#ifndef __QGL_H__
 
27
#define __QGL_H__
 
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__
 
605
 
 
606
#endif