DOOM-3-BFG

DOOM 3 BFG Edition
Log | Files | Refs

win_qgl.cpp (103400B)


      1 /*
      2 ===========================================================================
      3 
      4 Doom 3 BFG Edition GPL Source Code
      5 Copyright (C) 1993-2012 id Software LLC, a ZeniMax Media company. 
      6 
      7 This file is part of the Doom 3 BFG Edition GPL Source Code ("Doom 3 BFG Edition Source Code").  
      8 
      9 Doom 3 BFG Edition Source Code is free software: you can redistribute it and/or modify
     10 it under the terms of the GNU General Public License as published by
     11 the Free Software Foundation, either version 3 of the License, or
     12 (at your option) any later version.
     13 
     14 Doom 3 BFG Edition Source Code is distributed in the hope that it will be useful,
     15 but WITHOUT ANY WARRANTY; without even the implied warranty of
     16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     17 GNU General Public License for more details.
     18 
     19 You should have received a copy of the GNU General Public License
     20 along with Doom 3 BFG Edition Source Code.  If not, see <http://www.gnu.org/licenses/>.
     21 
     22 In addition, the Doom 3 BFG Edition Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 BFG Edition Source Code.  If not, please request a copy in writing from id Software at the address below.
     23 
     24 If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
     25 
     26 ===========================================================================
     27 */
     28 /*
     29 ** QGL_WIN.C
     30 **
     31 ** This file implements the operating system binding of GL to QGL function
     32 ** pointers.  When doing a port of Doom you must implement the following
     33 ** two functions:
     34 **
     35 ** QGL_Init() - loads libraries, assigns function pointers, etc.
     36 ** QGL_Shutdown() - unloads libraries, NULLs function pointers
     37 */
     38 #pragma hdrstop
     39 #include "../../idlib/precompiled.h"
     40 
     41 #include <float.h>
     42 #include "win_local.h"
     43 #include "../../renderer/tr_local.h"
     44 
     45 
     46 int   ( WINAPI * qwglChoosePixelFormat )(HDC, CONST PIXELFORMATDESCRIPTOR *);
     47 int   ( WINAPI * qwglDescribePixelFormat) (HDC, int, UINT, LPPIXELFORMATDESCRIPTOR);
     48 int   ( WINAPI * qwglGetPixelFormat)(HDC);
     49 BOOL  ( WINAPI * qwglSetPixelFormat)(HDC, int, CONST PIXELFORMATDESCRIPTOR *);
     50 BOOL  ( WINAPI * qwglSwapBuffers)(HDC);
     51 
     52 BOOL  ( WINAPI * qwglCopyContext)(HGLRC, HGLRC, UINT);
     53 HGLRC ( WINAPI * qwglCreateContext)(HDC);
     54 HGLRC ( WINAPI * qwglCreateLayerContext)(HDC, int);
     55 BOOL  ( WINAPI * qwglDeleteContext)(HGLRC);
     56 HGLRC ( WINAPI * qwglGetCurrentContext)(VOID);
     57 HDC   ( WINAPI * qwglGetCurrentDC)(VOID);
     58 PROC  ( WINAPI * qwglGetProcAddress)(LPCSTR);
     59 BOOL  ( WINAPI * qwglMakeCurrent)(HDC, HGLRC);
     60 BOOL  ( WINAPI * qwglShareLists)(HGLRC, HGLRC);
     61 BOOL  ( WINAPI * qwglUseFontBitmaps)(HDC, DWORD, DWORD, DWORD);
     62 
     63 BOOL  ( WINAPI * qwglUseFontOutlines)(HDC, DWORD, DWORD, DWORD, FLOAT,
     64                                            FLOAT, int, LPGLYPHMETRICSFLOAT);
     65 
     66 BOOL ( WINAPI * qwglDescribeLayerPlane)(HDC, int, int, UINT,
     67                                             LPLAYERPLANEDESCRIPTOR);
     68 int  ( WINAPI * qwglSetLayerPaletteEntries)(HDC, int, int, int,
     69                                                 CONST COLORREF *);
     70 int  ( WINAPI * qwglGetLayerPaletteEntries)(HDC, int, int, int,
     71                                                 COLORREF *);
     72 BOOL ( WINAPI * qwglRealizeLayerPalette)(HDC, int, BOOL);
     73 BOOL ( WINAPI * qwglSwapLayerBuffers)(HDC, UINT);
     74 
     75 void ( APIENTRY * qglAccum )(GLenum op, GLfloat value);
     76 void ( APIENTRY * qglAlphaFunc )(GLenum func, GLclampf ref);
     77 GLboolean ( APIENTRY * qglAreTexturesResident )(GLsizei n, const GLuint *textures, GLboolean *residences);
     78 void ( APIENTRY * qglArrayElement )(GLint i);
     79 void ( APIENTRY * qglBegin )(GLenum mode);
     80 void ( APIENTRY * qglBindTexture )(GLenum target, GLuint texture);
     81 void ( APIENTRY * qglBitmap )(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
     82 void ( APIENTRY * qglBlendFunc )(GLenum sfactor, GLenum dfactor);
     83 void ( APIENTRY * qglCallList )(GLuint list);
     84 void ( APIENTRY * qglCallLists )(GLsizei n, GLenum type, const GLvoid *lists);
     85 void ( APIENTRY * qglClear )(GLbitfield mask);
     86 void ( APIENTRY * qglClearAccum )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
     87 void ( APIENTRY * qglClearColor )(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
     88 void ( APIENTRY * qglClearDepth )(GLclampd depth);
     89 void ( APIENTRY * qglClearIndex )(GLfloat c);
     90 void ( APIENTRY * qglClearStencil )(GLint s);
     91 void ( APIENTRY * qglClipPlane )(GLenum plane, const GLdouble *equation);
     92 void ( APIENTRY * qglColor3b )(GLbyte red, GLbyte green, GLbyte blue);
     93 void ( APIENTRY * qglColor3bv )(const GLbyte *v);
     94 void ( APIENTRY * qglColor3d )(GLdouble red, GLdouble green, GLdouble blue);
     95 void ( APIENTRY * qglColor3dv )(const GLdouble *v);
     96 void ( APIENTRY * qglColor3f )(GLfloat red, GLfloat green, GLfloat blue);
     97 void ( APIENTRY * qglColor3fv )(const GLfloat *v);
     98 void ( APIENTRY * qglColor3i )(GLint red, GLint green, GLint blue);
     99 void ( APIENTRY * qglColor3iv )(const GLint *v);
    100 void ( APIENTRY * qglColor3s )(GLshort red, GLshort green, GLshort blue);
    101 void ( APIENTRY * qglColor3sv )(const GLshort *v);
    102 void ( APIENTRY * qglColor3ub )(GLubyte red, GLubyte green, GLubyte blue);
    103 void ( APIENTRY * qglColor3ubv )(const GLubyte *v);
    104 void ( APIENTRY * qglColor3ui )(GLuint red, GLuint green, GLuint blue);
    105 void ( APIENTRY * qglColor3uiv )(const GLuint *v);
    106 void ( APIENTRY * qglColor3us )(GLushort red, GLushort green, GLushort blue);
    107 void ( APIENTRY * qglColor3usv )(const GLushort *v);
    108 void ( APIENTRY * qglColor4b )(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
    109 void ( APIENTRY * qglColor4bv )(const GLbyte *v);
    110 void ( APIENTRY * qglColor4d )(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
    111 void ( APIENTRY * qglColor4dv )(const GLdouble *v);
    112 void ( APIENTRY * qglColor4f )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
    113 void ( APIENTRY * qglColor4fv )(const GLfloat *v);
    114 void ( APIENTRY * qglColor4i )(GLint red, GLint green, GLint blue, GLint alpha);
    115 void ( APIENTRY * qglColor4iv )(const GLint *v);
    116 void ( APIENTRY * qglColor4s )(GLshort red, GLshort green, GLshort blue, GLshort alpha);
    117 void ( APIENTRY * qglColor4sv )(const GLshort *v);
    118 void ( APIENTRY * qglColor4ub )(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
    119 void ( APIENTRY * qglColor4ubv )(const GLubyte *v);
    120 void ( APIENTRY * qglColor4ui )(GLuint red, GLuint green, GLuint blue, GLuint alpha);
    121 void ( APIENTRY * qglColor4uiv )(const GLuint *v);
    122 void ( APIENTRY * qglColor4us )(GLushort red, GLushort green, GLushort blue, GLushort alpha);
    123 void ( APIENTRY * qglColor4usv )(const GLushort *v);
    124 void ( APIENTRY * qglColorMask )(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
    125 void ( APIENTRY * qglColorMaterial )(GLenum face, GLenum mode);
    126 void ( APIENTRY * qglColorPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    127 void ( APIENTRY * qglCopyPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
    128 void ( APIENTRY * qglCopyTexImage1D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
    129 void ( APIENTRY * qglCopyTexImage2D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
    130 void ( APIENTRY * qglCopyTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
    131 void ( APIENTRY * qglCopyTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
    132 void ( APIENTRY * qglCullFace )(GLenum mode);
    133 void ( APIENTRY * qglDeleteLists )(GLuint list, GLsizei range);
    134 void ( APIENTRY * qglDeleteTextures )(GLsizei n, const GLuint *textures);
    135 void ( APIENTRY * qglDepthFunc )(GLenum func);
    136 void ( APIENTRY * qglDepthMask )(GLboolean flag);
    137 void ( APIENTRY * qglDepthRange )(GLclampd zNear, GLclampd zFar);
    138 void ( APIENTRY * qglDisable )(GLenum cap);
    139 void ( APIENTRY * qglDisableClientState )(GLenum array);
    140 void ( APIENTRY * qglDrawArrays )(GLenum mode, GLint first, GLsizei count);
    141 void ( APIENTRY * qglDrawBuffer )(GLenum mode);
    142 void ( APIENTRY * qglDrawElements )(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
    143 void ( APIENTRY * qglDrawPixels )(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
    144 void ( APIENTRY * qglEdgeFlag )(GLboolean flag);
    145 void ( APIENTRY * qglEdgeFlagPointer )(GLsizei stride, const GLvoid *pointer);
    146 void ( APIENTRY * qglEdgeFlagv )(const GLboolean *flag);
    147 void ( APIENTRY * qglEnable )(GLenum cap);
    148 void ( APIENTRY * qglEnableClientState )(GLenum array);
    149 void ( APIENTRY * qglEnd )(void);
    150 void ( APIENTRY * qglEndList )(void);
    151 void ( APIENTRY * qglEvalCoord1d )(GLdouble u);
    152 void ( APIENTRY * qglEvalCoord1dv )(const GLdouble *u);
    153 void ( APIENTRY * qglEvalCoord1f )(GLfloat u);
    154 void ( APIENTRY * qglEvalCoord1fv )(const GLfloat *u);
    155 void ( APIENTRY * qglEvalCoord2d )(GLdouble u, GLdouble v);
    156 void ( APIENTRY * qglEvalCoord2dv )(const GLdouble *u);
    157 void ( APIENTRY * qglEvalCoord2f )(GLfloat u, GLfloat v);
    158 void ( APIENTRY * qglEvalCoord2fv )(const GLfloat *u);
    159 void ( APIENTRY * qglEvalMesh1 )(GLenum mode, GLint i1, GLint i2);
    160 void ( APIENTRY * qglEvalMesh2 )(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
    161 void ( APIENTRY * qglEvalPoint1 )(GLint i);
    162 void ( APIENTRY * qglEvalPoint2 )(GLint i, GLint j);
    163 void ( APIENTRY * qglFeedbackBuffer )(GLsizei size, GLenum type, GLfloat *buffer);
    164 void ( APIENTRY * qglFinish )(void);
    165 void ( APIENTRY * qglFlush )(void);
    166 void ( APIENTRY * qglFogf )(GLenum pname, GLfloat param);
    167 void ( APIENTRY * qglFogfv )(GLenum pname, const GLfloat *params);
    168 void ( APIENTRY * qglFogi )(GLenum pname, GLint param);
    169 void ( APIENTRY * qglFogiv )(GLenum pname, const GLint *params);
    170 void ( APIENTRY * qglFrontFace )(GLenum mode);
    171 void ( APIENTRY * qglFrustum )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
    172 GLuint ( APIENTRY * qglGenLists )(GLsizei range);
    173 void ( APIENTRY * qglGenTextures )(GLsizei n, GLuint *textures);
    174 void ( APIENTRY * qglGetBooleanv )(GLenum pname, GLboolean *params);
    175 void ( APIENTRY * qglGetClipPlane )(GLenum plane, GLdouble *equation);
    176 void ( APIENTRY * qglGetDoublev )(GLenum pname, GLdouble *params);
    177 GLenum ( APIENTRY * qglGetError )(void);
    178 void ( APIENTRY * qglGetFloatv )(GLenum pname, GLfloat *params);
    179 void ( APIENTRY * qglGetIntegerv )(GLenum pname, GLint *params);
    180 void ( APIENTRY * qglGetLightfv )(GLenum light, GLenum pname, GLfloat *params);
    181 void ( APIENTRY * qglGetLightiv )(GLenum light, GLenum pname, GLint *params);
    182 void ( APIENTRY * qglGetMapdv )(GLenum target, GLenum query, GLdouble *v);
    183 void ( APIENTRY * qglGetMapfv )(GLenum target, GLenum query, GLfloat *v);
    184 void ( APIENTRY * qglGetMapiv )(GLenum target, GLenum query, GLint *v);
    185 void ( APIENTRY * qglGetMaterialfv )(GLenum face, GLenum pname, GLfloat *params);
    186 void ( APIENTRY * qglGetMaterialiv )(GLenum face, GLenum pname, GLint *params);
    187 void ( APIENTRY * qglGetPixelMapfv )(GLenum map, GLfloat *values);
    188 void ( APIENTRY * qglGetPixelMapuiv )(GLenum map, GLuint *values);
    189 void ( APIENTRY * qglGetPixelMapusv )(GLenum map, GLushort *values);
    190 void ( APIENTRY * qglGetPointerv )(GLenum pname, GLvoid* *params);
    191 void ( APIENTRY * qglGetPolygonStipple )(GLubyte *mask);
    192 const GLubyte * ( APIENTRY * qglGetString )(GLenum name);
    193 void ( APIENTRY * qglGetTexEnvfv )(GLenum target, GLenum pname, GLfloat *params);
    194 void ( APIENTRY * qglGetTexEnviv )(GLenum target, GLenum pname, GLint *params);
    195 void ( APIENTRY * qglGetTexGendv )(GLenum coord, GLenum pname, GLdouble *params);
    196 void ( APIENTRY * qglGetTexGenfv )(GLenum coord, GLenum pname, GLfloat *params);
    197 void ( APIENTRY * qglGetTexGeniv )(GLenum coord, GLenum pname, GLint *params);
    198 void ( APIENTRY * qglGetTexImage )(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
    199 void ( APIENTRY * qglGetTexLevelParameterfv )(GLenum target, GLint level, GLenum pname, GLfloat *params);
    200 void ( APIENTRY * qglGetTexLevelParameteriv )(GLenum target, GLint level, GLenum pname, GLint *params);
    201 void ( APIENTRY * qglGetTexParameterfv )(GLenum target, GLenum pname, GLfloat *params);
    202 void ( APIENTRY * qglGetTexParameteriv )(GLenum target, GLenum pname, GLint *params);
    203 void ( APIENTRY * qglHint )(GLenum target, GLenum mode);
    204 void ( APIENTRY * qglIndexMask )(GLuint mask);
    205 void ( APIENTRY * qglIndexPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);
    206 void ( APIENTRY * qglIndexd )(GLdouble c);
    207 void ( APIENTRY * qglIndexdv )(const GLdouble *c);
    208 void ( APIENTRY * qglIndexf )(GLfloat c);
    209 void ( APIENTRY * qglIndexfv )(const GLfloat *c);
    210 void ( APIENTRY * qglIndexi )(GLint c);
    211 void ( APIENTRY * qglIndexiv )(const GLint *c);
    212 void ( APIENTRY * qglIndexs )(GLshort c);
    213 void ( APIENTRY * qglIndexsv )(const GLshort *c);
    214 void ( APIENTRY * qglIndexub )(GLubyte c);
    215 void ( APIENTRY * qglIndexubv )(const GLubyte *c);
    216 void ( APIENTRY * qglInitNames )(void);
    217 void ( APIENTRY * qglInterleavedArrays )(GLenum format, GLsizei stride, const GLvoid *pointer);
    218 GLboolean ( APIENTRY * qglIsEnabled )(GLenum cap);
    219 GLboolean ( APIENTRY * qglIsList )(GLuint list);
    220 GLboolean ( APIENTRY * qglIsTexture )(GLuint texture);
    221 void ( APIENTRY * qglLightModelf )(GLenum pname, GLfloat param);
    222 void ( APIENTRY * qglLightModelfv )(GLenum pname, const GLfloat *params);
    223 void ( APIENTRY * qglLightModeli )(GLenum pname, GLint param);
    224 void ( APIENTRY * qglLightModeliv )(GLenum pname, const GLint *params);
    225 void ( APIENTRY * qglLightf )(GLenum light, GLenum pname, GLfloat param);
    226 void ( APIENTRY * qglLightfv )(GLenum light, GLenum pname, const GLfloat *params);
    227 void ( APIENTRY * qglLighti )(GLenum light, GLenum pname, GLint param);
    228 void ( APIENTRY * qglLightiv )(GLenum light, GLenum pname, const GLint *params);
    229 void ( APIENTRY * qglLineStipple )(GLint factor, GLushort pattern);
    230 void ( APIENTRY * qglLineWidth )(GLfloat width);
    231 void ( APIENTRY * qglListBase )(GLuint base);
    232 void ( APIENTRY * qglLoadIdentity )(void);
    233 void ( APIENTRY * qglLoadMatrixd )(const GLdouble *m);
    234 void ( APIENTRY * qglLoadMatrixf )(const GLfloat *m);
    235 void ( APIENTRY * qglLoadName )(GLuint name);
    236 void ( APIENTRY * qglLogicOp )(GLenum opcode);
    237 void ( APIENTRY * qglMap1d )(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
    238 void ( APIENTRY * qglMap1f )(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
    239 void ( APIENTRY * qglMap2d )(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
    240 void ( APIENTRY * qglMap2f )(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
    241 void ( APIENTRY * qglMapGrid1d )(GLint un, GLdouble u1, GLdouble u2);
    242 void ( APIENTRY * qglMapGrid1f )(GLint un, GLfloat u1, GLfloat u2);
    243 void ( APIENTRY * qglMapGrid2d )(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
    244 void ( APIENTRY * qglMapGrid2f )(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
    245 void ( APIENTRY * qglMaterialf )(GLenum face, GLenum pname, GLfloat param);
    246 void ( APIENTRY * qglMaterialfv )(GLenum face, GLenum pname, const GLfloat *params);
    247 void ( APIENTRY * qglMateriali )(GLenum face, GLenum pname, GLint param);
    248 void ( APIENTRY * qglMaterialiv )(GLenum face, GLenum pname, const GLint *params);
    249 void ( APIENTRY * qglMatrixMode )(GLenum mode);
    250 void ( APIENTRY * qglMultMatrixd )(const GLdouble *m);
    251 void ( APIENTRY * qglMultMatrixf )(const GLfloat *m);
    252 void ( APIENTRY * qglNewList )(GLuint list, GLenum mode);
    253 void ( APIENTRY * qglNormal3b )(GLbyte nx, GLbyte ny, GLbyte nz);
    254 void ( APIENTRY * qglNormal3bv )(const GLbyte *v);
    255 void ( APIENTRY * qglNormal3d )(GLdouble nx, GLdouble ny, GLdouble nz);
    256 void ( APIENTRY * qglNormal3dv )(const GLdouble *v);
    257 void ( APIENTRY * qglNormal3f )(GLfloat nx, GLfloat ny, GLfloat nz);
    258 void ( APIENTRY * qglNormal3fv )(const GLfloat *v);
    259 void ( APIENTRY * qglNormal3i )(GLint nx, GLint ny, GLint nz);
    260 void ( APIENTRY * qglNormal3iv )(const GLint *v);
    261 void ( APIENTRY * qglNormal3s )(GLshort nx, GLshort ny, GLshort nz);
    262 void ( APIENTRY * qglNormal3sv )(const GLshort *v);
    263 void ( APIENTRY * qglNormalPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);
    264 void ( APIENTRY * qglOrtho )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
    265 void ( APIENTRY * qglPassThrough )(GLfloat token);
    266 void ( APIENTRY * qglPixelMapfv )(GLenum map, GLsizei mapsize, const GLfloat *values);
    267 void ( APIENTRY * qglPixelMapuiv )(GLenum map, GLsizei mapsize, const GLuint *values);
    268 void ( APIENTRY * qglPixelMapusv )(GLenum map, GLsizei mapsize, const GLushort *values);
    269 void ( APIENTRY * qglPixelStoref )(GLenum pname, GLfloat param);
    270 void ( APIENTRY * qglPixelStorei )(GLenum pname, GLint param);
    271 void ( APIENTRY * qglPixelTransferf )(GLenum pname, GLfloat param);
    272 void ( APIENTRY * qglPixelTransferi )(GLenum pname, GLint param);
    273 void ( APIENTRY * qglPixelZoom )(GLfloat xfactor, GLfloat yfactor);
    274 void ( APIENTRY * qglPointSize )(GLfloat size);
    275 void ( APIENTRY * qglPolygonMode )(GLenum face, GLenum mode);
    276 void ( APIENTRY * qglPolygonOffset )(GLfloat factor, GLfloat units);
    277 void ( APIENTRY * qglPolygonStipple )(const GLubyte *mask);
    278 void ( APIENTRY * qglPopAttrib )(void);
    279 void ( APIENTRY * qglPopClientAttrib )(void);
    280 void ( APIENTRY * qglPopMatrix )(void);
    281 void ( APIENTRY * qglPopName )(void);
    282 void ( APIENTRY * qglPrioritizeTextures )(GLsizei n, const GLuint *textures, const GLclampf *priorities);
    283 void ( APIENTRY * qglPushAttrib )(GLbitfield mask);
    284 void ( APIENTRY * qglPushClientAttrib )(GLbitfield mask);
    285 void ( APIENTRY * qglPushMatrix )(void);
    286 void ( APIENTRY * qglPushName )(GLuint name);
    287 void ( APIENTRY * qglRasterPos2d )(GLdouble x, GLdouble y);
    288 void ( APIENTRY * qglRasterPos2dv )(const GLdouble *v);
    289 void ( APIENTRY * qglRasterPos2f )(GLfloat x, GLfloat y);
    290 void ( APIENTRY * qglRasterPos2fv )(const GLfloat *v);
    291 void ( APIENTRY * qglRasterPos2i )(GLint x, GLint y);
    292 void ( APIENTRY * qglRasterPos2iv )(const GLint *v);
    293 void ( APIENTRY * qglRasterPos2s )(GLshort x, GLshort y);
    294 void ( APIENTRY * qglRasterPos2sv )(const GLshort *v);
    295 void ( APIENTRY * qglRasterPos3d )(GLdouble x, GLdouble y, GLdouble z);
    296 void ( APIENTRY * qglRasterPos3dv )(const GLdouble *v);
    297 void ( APIENTRY * qglRasterPos3f )(GLfloat x, GLfloat y, GLfloat z);
    298 void ( APIENTRY * qglRasterPos3fv )(const GLfloat *v);
    299 void ( APIENTRY * qglRasterPos3i )(GLint x, GLint y, GLint z);
    300 void ( APIENTRY * qglRasterPos3iv )(const GLint *v);
    301 void ( APIENTRY * qglRasterPos3s )(GLshort x, GLshort y, GLshort z);
    302 void ( APIENTRY * qglRasterPos3sv )(const GLshort *v);
    303 void ( APIENTRY * qglRasterPos4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
    304 void ( APIENTRY * qglRasterPos4dv )(const GLdouble *v);
    305 void ( APIENTRY * qglRasterPos4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
    306 void ( APIENTRY * qglRasterPos4fv )(const GLfloat *v);
    307 void ( APIENTRY * qglRasterPos4i )(GLint x, GLint y, GLint z, GLint w);
    308 void ( APIENTRY * qglRasterPos4iv )(const GLint *v);
    309 void ( APIENTRY * qglRasterPos4s )(GLshort x, GLshort y, GLshort z, GLshort w);
    310 void ( APIENTRY * qglRasterPos4sv )(const GLshort *v);
    311 void ( APIENTRY * qglReadBuffer )(GLenum mode);
    312 void ( APIENTRY * qglReadPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
    313 void ( APIENTRY * qglRectd )(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
    314 void ( APIENTRY * qglRectdv )(const GLdouble *v1, const GLdouble *v2);
    315 void ( APIENTRY * qglRectf )(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
    316 void ( APIENTRY * qglRectfv )(const GLfloat *v1, const GLfloat *v2);
    317 void ( APIENTRY * qglRecti )(GLint x1, GLint y1, GLint x2, GLint y2);
    318 void ( APIENTRY * qglRectiv )(const GLint *v1, const GLint *v2);
    319 void ( APIENTRY * qglRects )(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
    320 void ( APIENTRY * qglRectsv )(const GLshort *v1, const GLshort *v2);
    321 GLint ( APIENTRY * qglRenderMode )(GLenum mode);
    322 void ( APIENTRY * qglRotated )(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
    323 void ( APIENTRY * qglRotatef )(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
    324 void ( APIENTRY * qglScaled )(GLdouble x, GLdouble y, GLdouble z);
    325 void ( APIENTRY * qglScalef )(GLfloat x, GLfloat y, GLfloat z);
    326 void ( APIENTRY * qglScissor )(GLint x, GLint y, GLsizei width, GLsizei height);
    327 void ( APIENTRY * qglSelectBuffer )(GLsizei size, GLuint *buffer);
    328 void ( APIENTRY * qglShadeModel )(GLenum mode);
    329 void ( APIENTRY * qglStencilFunc )(GLenum func, GLint ref, GLuint mask);
    330 void ( APIENTRY * qglStencilMask )(GLuint mask);
    331 void ( APIENTRY * qglStencilOp )(GLenum fail, GLenum zfail, GLenum zpass);
    332 void ( APIENTRY * qglTexCoord1d )(GLdouble s);
    333 void ( APIENTRY * qglTexCoord1dv )(const GLdouble *v);
    334 void ( APIENTRY * qglTexCoord1f )(GLfloat s);
    335 void ( APIENTRY * qglTexCoord1fv )(const GLfloat *v);
    336 void ( APIENTRY * qglTexCoord1i )(GLint s);
    337 void ( APIENTRY * qglTexCoord1iv )(const GLint *v);
    338 void ( APIENTRY * qglTexCoord1s )(GLshort s);
    339 void ( APIENTRY * qglTexCoord1sv )(const GLshort *v);
    340 void ( APIENTRY * qglTexCoord2d )(GLdouble s, GLdouble t);
    341 void ( APIENTRY * qglTexCoord2dv )(const GLdouble *v);
    342 void ( APIENTRY * qglTexCoord2f )(GLfloat s, GLfloat t);
    343 void ( APIENTRY * qglTexCoord2fv )(const GLfloat *v);
    344 void ( APIENTRY * qglTexCoord2i )(GLint s, GLint t);
    345 void ( APIENTRY * qglTexCoord2iv )(const GLint *v);
    346 void ( APIENTRY * qglTexCoord2s )(GLshort s, GLshort t);
    347 void ( APIENTRY * qglTexCoord2sv )(const GLshort *v);
    348 void ( APIENTRY * qglTexCoord3d )(GLdouble s, GLdouble t, GLdouble r);
    349 void ( APIENTRY * qglTexCoord3dv )(const GLdouble *v);
    350 void ( APIENTRY * qglTexCoord3f )(GLfloat s, GLfloat t, GLfloat r);
    351 void ( APIENTRY * qglTexCoord3fv )(const GLfloat *v);
    352 void ( APIENTRY * qglTexCoord3i )(GLint s, GLint t, GLint r);
    353 void ( APIENTRY * qglTexCoord3iv )(const GLint *v);
    354 void ( APIENTRY * qglTexCoord3s )(GLshort s, GLshort t, GLshort r);
    355 void ( APIENTRY * qglTexCoord3sv )(const GLshort *v);
    356 void ( APIENTRY * qglTexCoord4d )(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
    357 void ( APIENTRY * qglTexCoord4dv )(const GLdouble *v);
    358 void ( APIENTRY * qglTexCoord4f )(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
    359 void ( APIENTRY * qglTexCoord4fv )(const GLfloat *v);
    360 void ( APIENTRY * qglTexCoord4i )(GLint s, GLint t, GLint r, GLint q);
    361 void ( APIENTRY * qglTexCoord4iv )(const GLint *v);
    362 void ( APIENTRY * qglTexCoord4s )(GLshort s, GLshort t, GLshort r, GLshort q);
    363 void ( APIENTRY * qglTexCoord4sv )(const GLshort *v);
    364 void ( APIENTRY * qglTexCoordPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    365 void ( APIENTRY * qglTexEnvf )(GLenum target, GLenum pname, GLfloat param);
    366 void ( APIENTRY * qglTexEnvfv )(GLenum target, GLenum pname, const GLfloat *params);
    367 void ( APIENTRY * qglTexEnvi )(GLenum target, GLenum pname, GLint param);
    368 void ( APIENTRY * qglTexEnviv )(GLenum target, GLenum pname, const GLint *params);
    369 void ( APIENTRY * qglTexGend )(GLenum coord, GLenum pname, GLdouble param);
    370 void ( APIENTRY * qglTexGendv )(GLenum coord, GLenum pname, const GLdouble *params);
    371 void ( APIENTRY * qglTexGenf )(GLenum coord, GLenum pname, GLfloat param);
    372 void ( APIENTRY * qglTexGenfv )(GLenum coord, GLenum pname, const GLfloat *params);
    373 void ( APIENTRY * qglTexGeni )(GLenum coord, GLenum pname, GLint param);
    374 void ( APIENTRY * qglTexGeniv )(GLenum coord, GLenum pname, const GLint *params);
    375 void ( APIENTRY * qglTexImage1D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
    376 void ( APIENTRY * qglTexImage2D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
    377 void ( APIENTRY * qglTexParameterf )(GLenum target, GLenum pname, GLfloat param);
    378 void ( APIENTRY * qglTexParameterfv )(GLenum target, GLenum pname, const GLfloat *params);
    379 void ( APIENTRY * qglTexParameteri )(GLenum target, GLenum pname, GLint param);
    380 void ( APIENTRY * qglTexParameteriv )(GLenum target, GLenum pname, const GLint *params);
    381 void ( APIENTRY * qglTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
    382 void ( APIENTRY * qglTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
    383 void ( APIENTRY * qglTranslated )(GLdouble x, GLdouble y, GLdouble z);
    384 void ( APIENTRY * qglTranslatef )(GLfloat x, GLfloat y, GLfloat z);
    385 void ( APIENTRY * qglVertex2d )(GLdouble x, GLdouble y);
    386 void ( APIENTRY * qglVertex2dv )(const GLdouble *v);
    387 void ( APIENTRY * qglVertex2f )(GLfloat x, GLfloat y);
    388 void ( APIENTRY * qglVertex2fv )(const GLfloat *v);
    389 void ( APIENTRY * qglVertex2i )(GLint x, GLint y);
    390 void ( APIENTRY * qglVertex2iv )(const GLint *v);
    391 void ( APIENTRY * qglVertex2s )(GLshort x, GLshort y);
    392 void ( APIENTRY * qglVertex2sv )(const GLshort *v);
    393 void ( APIENTRY * qglVertex3d )(GLdouble x, GLdouble y, GLdouble z);
    394 void ( APIENTRY * qglVertex3dv )(const GLdouble *v);
    395 void ( APIENTRY * qglVertex3f )(GLfloat x, GLfloat y, GLfloat z);
    396 void ( APIENTRY * qglVertex3fv )(const GLfloat *v);
    397 void ( APIENTRY * qglVertex3i )(GLint x, GLint y, GLint z);
    398 void ( APIENTRY * qglVertex3iv )(const GLint *v);
    399 void ( APIENTRY * qglVertex3s )(GLshort x, GLshort y, GLshort z);
    400 void ( APIENTRY * qglVertex3sv )(const GLshort *v);
    401 void ( APIENTRY * qglVertex4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
    402 void ( APIENTRY * qglVertex4dv )(const GLdouble *v);
    403 void ( APIENTRY * qglVertex4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
    404 void ( APIENTRY * qglVertex4fv )(const GLfloat *v);
    405 void ( APIENTRY * qglVertex4i )(GLint x, GLint y, GLint z, GLint w);
    406 void ( APIENTRY * qglVertex4iv )(const GLint *v);
    407 void ( APIENTRY * qglVertex4s )(GLshort x, GLshort y, GLshort z, GLshort w);
    408 void ( APIENTRY * qglVertex4sv )(const GLshort *v);
    409 void ( APIENTRY * qglVertexPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    410 void ( APIENTRY * qglViewport )(GLint x, GLint y, GLsizei width, GLsizei height);
    411 
    412 
    413 
    414 static void ( APIENTRY * dllAccum )(GLenum op, GLfloat value);
    415 static void ( APIENTRY * dllAlphaFunc )(GLenum func, GLclampf ref);
    416 GLboolean ( APIENTRY * dllAreTexturesResident )(GLsizei n, const GLuint *textures, GLboolean *residences);
    417 static void ( APIENTRY * dllArrayElement )(GLint i);
    418 static void ( APIENTRY * dllBegin )(GLenum mode);
    419 static void ( APIENTRY * dllBindTexture )(GLenum target, GLuint texture);
    420 static void ( APIENTRY * dllBitmap )(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
    421 static void ( APIENTRY * dllBlendFunc )(GLenum sfactor, GLenum dfactor);
    422 static void ( APIENTRY * dllCallList )(GLuint list);
    423 static void ( APIENTRY * dllCallLists )(GLsizei n, GLenum type, const GLvoid *lists);
    424 static void ( APIENTRY * dllClear )(GLbitfield mask);
    425 static void ( APIENTRY * dllClearAccum )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
    426 static void ( APIENTRY * dllClearColor )(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
    427 static void ( APIENTRY * dllClearDepth )(GLclampd depth);
    428 static void ( APIENTRY * dllClearIndex )(GLfloat c);
    429 static void ( APIENTRY * dllClearStencil )(GLint s);
    430 static void ( APIENTRY * dllClipPlane )(GLenum plane, const GLdouble *equation);
    431 static void ( APIENTRY * dllColor3b )(GLbyte red, GLbyte green, GLbyte blue);
    432 static void ( APIENTRY * dllColor3bv )(const GLbyte *v);
    433 static void ( APIENTRY * dllColor3d )(GLdouble red, GLdouble green, GLdouble blue);
    434 static void ( APIENTRY * dllColor3dv )(const GLdouble *v);
    435 static void ( APIENTRY * dllColor3f )(GLfloat red, GLfloat green, GLfloat blue);
    436 static void ( APIENTRY * dllColor3fv )(const GLfloat *v);
    437 static void ( APIENTRY * dllColor3i )(GLint red, GLint green, GLint blue);
    438 static void ( APIENTRY * dllColor3iv )(const GLint *v);
    439 static void ( APIENTRY * dllColor3s )(GLshort red, GLshort green, GLshort blue);
    440 static void ( APIENTRY * dllColor3sv )(const GLshort *v);
    441 static void ( APIENTRY * dllColor3ub )(GLubyte red, GLubyte green, GLubyte blue);
    442 static void ( APIENTRY * dllColor3ubv )(const GLubyte *v);
    443 static void ( APIENTRY * dllColor3ui )(GLuint red, GLuint green, GLuint blue);
    444 static void ( APIENTRY * dllColor3uiv )(const GLuint *v);
    445 static void ( APIENTRY * dllColor3us )(GLushort red, GLushort green, GLushort blue);
    446 static void ( APIENTRY * dllColor3usv )(const GLushort *v);
    447 static void ( APIENTRY * dllColor4b )(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
    448 static void ( APIENTRY * dllColor4bv )(const GLbyte *v);
    449 static void ( APIENTRY * dllColor4d )(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
    450 static void ( APIENTRY * dllColor4dv )(const GLdouble *v);
    451 static void ( APIENTRY * dllColor4f )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
    452 static void ( APIENTRY * dllColor4fv )(const GLfloat *v);
    453 static void ( APIENTRY * dllColor4i )(GLint red, GLint green, GLint blue, GLint alpha);
    454 static void ( APIENTRY * dllColor4iv )(const GLint *v);
    455 static void ( APIENTRY * dllColor4s )(GLshort red, GLshort green, GLshort blue, GLshort alpha);
    456 static void ( APIENTRY * dllColor4sv )(const GLshort *v);
    457 static void ( APIENTRY * dllColor4ub )(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
    458 static void ( APIENTRY * dllColor4ubv )(const GLubyte *v);
    459 static void ( APIENTRY * dllColor4ui )(GLuint red, GLuint green, GLuint blue, GLuint alpha);
    460 static void ( APIENTRY * dllColor4uiv )(const GLuint *v);
    461 static void ( APIENTRY * dllColor4us )(GLushort red, GLushort green, GLushort blue, GLushort alpha);
    462 static void ( APIENTRY * dllColor4usv )(const GLushort *v);
    463 static void ( APIENTRY * dllColorMask )(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
    464 static void ( APIENTRY * dllColorMaterial )(GLenum face, GLenum mode);
    465 static void ( APIENTRY * dllColorPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    466 static void ( APIENTRY * dllCopyPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
    467 static void ( APIENTRY * dllCopyTexImage1D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
    468 static void ( APIENTRY * dllCopyTexImage2D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
    469 static void ( APIENTRY * dllCopyTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
    470 static void ( APIENTRY * dllCopyTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
    471 static void ( APIENTRY * dllCullFace )(GLenum mode);
    472 static void ( APIENTRY * dllDeleteLists )(GLuint list, GLsizei range);
    473 static void ( APIENTRY * dllDeleteTextures )(GLsizei n, const GLuint *textures);
    474 static void ( APIENTRY * dllDepthFunc )(GLenum func);
    475 static void ( APIENTRY * dllDepthMask )(GLboolean flag);
    476 static void ( APIENTRY * dllDepthRange )(GLclampd zNear, GLclampd zFar);
    477 static void ( APIENTRY * dllDisable )(GLenum cap);
    478 static void ( APIENTRY * dllDisableClientState )(GLenum array);
    479 static void ( APIENTRY * dllDrawArrays )(GLenum mode, GLint first, GLsizei count);
    480 static void ( APIENTRY * dllDrawBuffer )(GLenum mode);
    481 static void ( APIENTRY * dllDrawElements )(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
    482 static void ( APIENTRY * dllDrawPixels )(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
    483 static void ( APIENTRY * dllEdgeFlag )(GLboolean flag);
    484 static void ( APIENTRY * dllEdgeFlagPointer )(GLsizei stride, const GLvoid *pointer);
    485 static void ( APIENTRY * dllEdgeFlagv )(const GLboolean *flag);
    486 static void ( APIENTRY * dllEnable )(GLenum cap);
    487 static void ( APIENTRY * dllEnableClientState )(GLenum array);
    488 static void ( APIENTRY * dllEnd )(void);
    489 static void ( APIENTRY * dllEndList )(void);
    490 static void ( APIENTRY * dllEvalCoord1d )(GLdouble u);
    491 static void ( APIENTRY * dllEvalCoord1dv )(const GLdouble *u);
    492 static void ( APIENTRY * dllEvalCoord1f )(GLfloat u);
    493 static void ( APIENTRY * dllEvalCoord1fv )(const GLfloat *u);
    494 static void ( APIENTRY * dllEvalCoord2d )(GLdouble u, GLdouble v);
    495 static void ( APIENTRY * dllEvalCoord2dv )(const GLdouble *u);
    496 static void ( APIENTRY * dllEvalCoord2f )(GLfloat u, GLfloat v);
    497 static void ( APIENTRY * dllEvalCoord2fv )(const GLfloat *u);
    498 static void ( APIENTRY * dllEvalMesh1 )(GLenum mode, GLint i1, GLint i2);
    499 static void ( APIENTRY * dllEvalMesh2 )(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
    500 static void ( APIENTRY * dllEvalPoint1 )(GLint i);
    501 static void ( APIENTRY * dllEvalPoint2 )(GLint i, GLint j);
    502 static void ( APIENTRY * dllFeedbackBuffer )(GLsizei size, GLenum type, GLfloat *buffer);
    503 static void ( APIENTRY * dllFinish )(void);
    504 static void ( APIENTRY * dllFlush )(void);
    505 static void ( APIENTRY * dllFogf )(GLenum pname, GLfloat param);
    506 static void ( APIENTRY * dllFogfv )(GLenum pname, const GLfloat *params);
    507 static void ( APIENTRY * dllFogi )(GLenum pname, GLint param);
    508 static void ( APIENTRY * dllFogiv )(GLenum pname, const GLint *params);
    509 static void ( APIENTRY * dllFrontFace )(GLenum mode);
    510 static void ( APIENTRY * dllFrustum )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
    511 GLuint ( APIENTRY * dllGenLists )(GLsizei range);
    512 static void ( APIENTRY * dllGenTextures )(GLsizei n, GLuint *textures);
    513 static void ( APIENTRY * dllGetBooleanv )(GLenum pname, GLboolean *params);
    514 static void ( APIENTRY * dllGetClipPlane )(GLenum plane, GLdouble *equation);
    515 static void ( APIENTRY * dllGetDoublev )(GLenum pname, GLdouble *params);
    516 GLenum ( APIENTRY * dllGetError )(void);
    517 static void ( APIENTRY * dllGetFloatv )(GLenum pname, GLfloat *params);
    518 static void ( APIENTRY * dllGetIntegerv )(GLenum pname, GLint *params);
    519 static void ( APIENTRY * dllGetLightfv )(GLenum light, GLenum pname, GLfloat *params);
    520 static void ( APIENTRY * dllGetLightiv )(GLenum light, GLenum pname, GLint *params);
    521 static void ( APIENTRY * dllGetMapdv )(GLenum target, GLenum query, GLdouble *v);
    522 static void ( APIENTRY * dllGetMapfv )(GLenum target, GLenum query, GLfloat *v);
    523 static void ( APIENTRY * dllGetMapiv )(GLenum target, GLenum query, GLint *v);
    524 static void ( APIENTRY * dllGetMaterialfv )(GLenum face, GLenum pname, GLfloat *params);
    525 static void ( APIENTRY * dllGetMaterialiv )(GLenum face, GLenum pname, GLint *params);
    526 static void ( APIENTRY * dllGetPixelMapfv )(GLenum map, GLfloat *values);
    527 static void ( APIENTRY * dllGetPixelMapuiv )(GLenum map, GLuint *values);
    528 static void ( APIENTRY * dllGetPixelMapusv )(GLenum map, GLushort *values);
    529 static void ( APIENTRY * dllGetPointerv )(GLenum pname, GLvoid* *params);
    530 static void ( APIENTRY * dllGetPolygonStipple )(GLubyte *mask);
    531 const GLubyte * ( APIENTRY * dllGetString )(GLenum name);
    532 static void ( APIENTRY * dllGetTexEnvfv )(GLenum target, GLenum pname, GLfloat *params);
    533 static void ( APIENTRY * dllGetTexEnviv )(GLenum target, GLenum pname, GLint *params);
    534 static void ( APIENTRY * dllGetTexGendv )(GLenum coord, GLenum pname, GLdouble *params);
    535 static void ( APIENTRY * dllGetTexGenfv )(GLenum coord, GLenum pname, GLfloat *params);
    536 static void ( APIENTRY * dllGetTexGeniv )(GLenum coord, GLenum pname, GLint *params);
    537 static void ( APIENTRY * dllGetTexImage )(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
    538 static void ( APIENTRY * dllGetTexLevelParameterfv )(GLenum target, GLint level, GLenum pname, GLfloat *params);
    539 static void ( APIENTRY * dllGetTexLevelParameteriv )(GLenum target, GLint level, GLenum pname, GLint *params);
    540 static void ( APIENTRY * dllGetTexParameterfv )(GLenum target, GLenum pname, GLfloat *params);
    541 static void ( APIENTRY * dllGetTexParameteriv )(GLenum target, GLenum pname, GLint *params);
    542 static void ( APIENTRY * dllHint )(GLenum target, GLenum mode);
    543 static void ( APIENTRY * dllIndexMask )(GLuint mask);
    544 static void ( APIENTRY * dllIndexPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);
    545 static void ( APIENTRY * dllIndexd )(GLdouble c);
    546 static void ( APIENTRY * dllIndexdv )(const GLdouble *c);
    547 static void ( APIENTRY * dllIndexf )(GLfloat c);
    548 static void ( APIENTRY * dllIndexfv )(const GLfloat *c);
    549 static void ( APIENTRY * dllIndexi )(GLint c);
    550 static void ( APIENTRY * dllIndexiv )(const GLint *c);
    551 static void ( APIENTRY * dllIndexs )(GLshort c);
    552 static void ( APIENTRY * dllIndexsv )(const GLshort *c);
    553 static void ( APIENTRY * dllIndexub )(GLubyte c);
    554 static void ( APIENTRY * dllIndexubv )(const GLubyte *c);
    555 static void ( APIENTRY * dllInitNames )(void);
    556 static void ( APIENTRY * dllInterleavedArrays )(GLenum format, GLsizei stride, const GLvoid *pointer);
    557 GLboolean ( APIENTRY * dllIsEnabled )(GLenum cap);
    558 GLboolean ( APIENTRY * dllIsList )(GLuint list);
    559 GLboolean ( APIENTRY * dllIsTexture )(GLuint texture);
    560 static void ( APIENTRY * dllLightModelf )(GLenum pname, GLfloat param);
    561 static void ( APIENTRY * dllLightModelfv )(GLenum pname, const GLfloat *params);
    562 static void ( APIENTRY * dllLightModeli )(GLenum pname, GLint param);
    563 static void ( APIENTRY * dllLightModeliv )(GLenum pname, const GLint *params);
    564 static void ( APIENTRY * dllLightf )(GLenum light, GLenum pname, GLfloat param);
    565 static void ( APIENTRY * dllLightfv )(GLenum light, GLenum pname, const GLfloat *params);
    566 static void ( APIENTRY * dllLighti )(GLenum light, GLenum pname, GLint param);
    567 static void ( APIENTRY * dllLightiv )(GLenum light, GLenum pname, const GLint *params);
    568 static void ( APIENTRY * dllLineStipple )(GLint factor, GLushort pattern);
    569 static void ( APIENTRY * dllLineWidth )(GLfloat width);
    570 static void ( APIENTRY * dllListBase )(GLuint base);
    571 static void ( APIENTRY * dllLoadIdentity )(void);
    572 static void ( APIENTRY * dllLoadMatrixd )(const GLdouble *m);
    573 static void ( APIENTRY * dllLoadMatrixf )(const GLfloat *m);
    574 static void ( APIENTRY * dllLoadName )(GLuint name);
    575 static void ( APIENTRY * dllLogicOp )(GLenum opcode);
    576 static void ( APIENTRY * dllMap1d )(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
    577 static void ( APIENTRY * dllMap1f )(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
    578 static void ( APIENTRY * dllMap2d )(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
    579 static void ( APIENTRY * dllMap2f )(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
    580 static void ( APIENTRY * dllMapGrid1d )(GLint un, GLdouble u1, GLdouble u2);
    581 static void ( APIENTRY * dllMapGrid1f )(GLint un, GLfloat u1, GLfloat u2);
    582 static void ( APIENTRY * dllMapGrid2d )(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
    583 static void ( APIENTRY * dllMapGrid2f )(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
    584 static void ( APIENTRY * dllMaterialf )(GLenum face, GLenum pname, GLfloat param);
    585 static void ( APIENTRY * dllMaterialfv )(GLenum face, GLenum pname, const GLfloat *params);
    586 static void ( APIENTRY * dllMateriali )(GLenum face, GLenum pname, GLint param);
    587 static void ( APIENTRY * dllMaterialiv )(GLenum face, GLenum pname, const GLint *params);
    588 static void ( APIENTRY * dllMatrixMode )(GLenum mode);
    589 static void ( APIENTRY * dllMultMatrixd )(const GLdouble *m);
    590 static void ( APIENTRY * dllMultMatrixf )(const GLfloat *m);
    591 static void ( APIENTRY * dllNewList )(GLuint list, GLenum mode);
    592 static void ( APIENTRY * dllNormal3b )(GLbyte nx, GLbyte ny, GLbyte nz);
    593 static void ( APIENTRY * dllNormal3bv )(const GLbyte *v);
    594 static void ( APIENTRY * dllNormal3d )(GLdouble nx, GLdouble ny, GLdouble nz);
    595 static void ( APIENTRY * dllNormal3dv )(const GLdouble *v);
    596 static void ( APIENTRY * dllNormal3f )(GLfloat nx, GLfloat ny, GLfloat nz);
    597 static void ( APIENTRY * dllNormal3fv )(const GLfloat *v);
    598 static void ( APIENTRY * dllNormal3i )(GLint nx, GLint ny, GLint nz);
    599 static void ( APIENTRY * dllNormal3iv )(const GLint *v);
    600 static void ( APIENTRY * dllNormal3s )(GLshort nx, GLshort ny, GLshort nz);
    601 static void ( APIENTRY * dllNormal3sv )(const GLshort *v);
    602 static void ( APIENTRY * dllNormalPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);
    603 static void ( APIENTRY * dllOrtho )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
    604 static void ( APIENTRY * dllPassThrough )(GLfloat token);
    605 static void ( APIENTRY * dllPixelMapfv )(GLenum map, GLsizei mapsize, const GLfloat *values);
    606 static void ( APIENTRY * dllPixelMapuiv )(GLenum map, GLsizei mapsize, const GLuint *values);
    607 static void ( APIENTRY * dllPixelMapusv )(GLenum map, GLsizei mapsize, const GLushort *values);
    608 static void ( APIENTRY * dllPixelStoref )(GLenum pname, GLfloat param);
    609 static void ( APIENTRY * dllPixelStorei )(GLenum pname, GLint param);
    610 static void ( APIENTRY * dllPixelTransferf )(GLenum pname, GLfloat param);
    611 static void ( APIENTRY * dllPixelTransferi )(GLenum pname, GLint param);
    612 static void ( APIENTRY * dllPixelZoom )(GLfloat xfactor, GLfloat yfactor);
    613 static void ( APIENTRY * dllPointSize )(GLfloat size);
    614 static void ( APIENTRY * dllPolygonMode )(GLenum face, GLenum mode);
    615 static void ( APIENTRY * dllPolygonOffset )(GLfloat factor, GLfloat units);
    616 static void ( APIENTRY * dllPolygonStipple )(const GLubyte *mask);
    617 static void ( APIENTRY * dllPopAttrib )(void);
    618 static void ( APIENTRY * dllPopClientAttrib )(void);
    619 static void ( APIENTRY * dllPopMatrix )(void);
    620 static void ( APIENTRY * dllPopName )(void);
    621 static void ( APIENTRY * dllPrioritizeTextures )(GLsizei n, const GLuint *textures, const GLclampf *priorities);
    622 static void ( APIENTRY * dllPushAttrib )(GLbitfield mask);
    623 static void ( APIENTRY * dllPushClientAttrib )(GLbitfield mask);
    624 static void ( APIENTRY * dllPushMatrix )(void);
    625 static void ( APIENTRY * dllPushName )(GLuint name);
    626 static void ( APIENTRY * dllRasterPos2d )(GLdouble x, GLdouble y);
    627 static void ( APIENTRY * dllRasterPos2dv )(const GLdouble *v);
    628 static void ( APIENTRY * dllRasterPos2f )(GLfloat x, GLfloat y);
    629 static void ( APIENTRY * dllRasterPos2fv )(const GLfloat *v);
    630 static void ( APIENTRY * dllRasterPos2i )(GLint x, GLint y);
    631 static void ( APIENTRY * dllRasterPos2iv )(const GLint *v);
    632 static void ( APIENTRY * dllRasterPos2s )(GLshort x, GLshort y);
    633 static void ( APIENTRY * dllRasterPos2sv )(const GLshort *v);
    634 static void ( APIENTRY * dllRasterPos3d )(GLdouble x, GLdouble y, GLdouble z);
    635 static void ( APIENTRY * dllRasterPos3dv )(const GLdouble *v);
    636 static void ( APIENTRY * dllRasterPos3f )(GLfloat x, GLfloat y, GLfloat z);
    637 static void ( APIENTRY * dllRasterPos3fv )(const GLfloat *v);
    638 static void ( APIENTRY * dllRasterPos3i )(GLint x, GLint y, GLint z);
    639 static void ( APIENTRY * dllRasterPos3iv )(const GLint *v);
    640 static void ( APIENTRY * dllRasterPos3s )(GLshort x, GLshort y, GLshort z);
    641 static void ( APIENTRY * dllRasterPos3sv )(const GLshort *v);
    642 static void ( APIENTRY * dllRasterPos4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
    643 static void ( APIENTRY * dllRasterPos4dv )(const GLdouble *v);
    644 static void ( APIENTRY * dllRasterPos4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
    645 static void ( APIENTRY * dllRasterPos4fv )(const GLfloat *v);
    646 static void ( APIENTRY * dllRasterPos4i )(GLint x, GLint y, GLint z, GLint w);
    647 static void ( APIENTRY * dllRasterPos4iv )(const GLint *v);
    648 static void ( APIENTRY * dllRasterPos4s )(GLshort x, GLshort y, GLshort z, GLshort w);
    649 static void ( APIENTRY * dllRasterPos4sv )(const GLshort *v);
    650 static void ( APIENTRY * dllReadBuffer )(GLenum mode);
    651 static void ( APIENTRY * dllReadPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
    652 static void ( APIENTRY * dllRectd )(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
    653 static void ( APIENTRY * dllRectdv )(const GLdouble *v1, const GLdouble *v2);
    654 static void ( APIENTRY * dllRectf )(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
    655 static void ( APIENTRY * dllRectfv )(const GLfloat *v1, const GLfloat *v2);
    656 static void ( APIENTRY * dllRecti )(GLint x1, GLint y1, GLint x2, GLint y2);
    657 static void ( APIENTRY * dllRectiv )(const GLint *v1, const GLint *v2);
    658 static void ( APIENTRY * dllRects )(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
    659 static void ( APIENTRY * dllRectsv )(const GLshort *v1, const GLshort *v2);
    660 GLint ( APIENTRY * dllRenderMode )(GLenum mode);
    661 static void ( APIENTRY * dllRotated )(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
    662 static void ( APIENTRY * dllRotatef )(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
    663 static void ( APIENTRY * dllScaled )(GLdouble x, GLdouble y, GLdouble z);
    664 static void ( APIENTRY * dllScalef )(GLfloat x, GLfloat y, GLfloat z);
    665 static void ( APIENTRY * dllScissor )(GLint x, GLint y, GLsizei width, GLsizei height);
    666 static void ( APIENTRY * dllSelectBuffer )(GLsizei size, GLuint *buffer);
    667 static void ( APIENTRY * dllShadeModel )(GLenum mode);
    668 static void ( APIENTRY * dllStencilFunc )(GLenum func, GLint ref, GLuint mask);
    669 static void ( APIENTRY * dllStencilMask )(GLuint mask);
    670 static void ( APIENTRY * dllStencilOp )(GLenum fail, GLenum zfail, GLenum zpass);
    671 static void ( APIENTRY * dllTexCoord1d )(GLdouble s);
    672 static void ( APIENTRY * dllTexCoord1dv )(const GLdouble *v);
    673 static void ( APIENTRY * dllTexCoord1f )(GLfloat s);
    674 static void ( APIENTRY * dllTexCoord1fv )(const GLfloat *v);
    675 static void ( APIENTRY * dllTexCoord1i )(GLint s);
    676 static void ( APIENTRY * dllTexCoord1iv )(const GLint *v);
    677 static void ( APIENTRY * dllTexCoord1s )(GLshort s);
    678 static void ( APIENTRY * dllTexCoord1sv )(const GLshort *v);
    679 static void ( APIENTRY * dllTexCoord2d )(GLdouble s, GLdouble t);
    680 static void ( APIENTRY * dllTexCoord2dv )(const GLdouble *v);
    681 static void ( APIENTRY * dllTexCoord2f )(GLfloat s, GLfloat t);
    682 static void ( APIENTRY * dllTexCoord2fv )(const GLfloat *v);
    683 static void ( APIENTRY * dllTexCoord2i )(GLint s, GLint t);
    684 static void ( APIENTRY * dllTexCoord2iv )(const GLint *v);
    685 static void ( APIENTRY * dllTexCoord2s )(GLshort s, GLshort t);
    686 static void ( APIENTRY * dllTexCoord2sv )(const GLshort *v);
    687 static void ( APIENTRY * dllTexCoord3d )(GLdouble s, GLdouble t, GLdouble r);
    688 static void ( APIENTRY * dllTexCoord3dv )(const GLdouble *v);
    689 static void ( APIENTRY * dllTexCoord3f )(GLfloat s, GLfloat t, GLfloat r);
    690 static void ( APIENTRY * dllTexCoord3fv )(const GLfloat *v);
    691 static void ( APIENTRY * dllTexCoord3i )(GLint s, GLint t, GLint r);
    692 static void ( APIENTRY * dllTexCoord3iv )(const GLint *v);
    693 static void ( APIENTRY * dllTexCoord3s )(GLshort s, GLshort t, GLshort r);
    694 static void ( APIENTRY * dllTexCoord3sv )(const GLshort *v);
    695 static void ( APIENTRY * dllTexCoord4d )(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
    696 static void ( APIENTRY * dllTexCoord4dv )(const GLdouble *v);
    697 static void ( APIENTRY * dllTexCoord4f )(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
    698 static void ( APIENTRY * dllTexCoord4fv )(const GLfloat *v);
    699 static void ( APIENTRY * dllTexCoord4i )(GLint s, GLint t, GLint r, GLint q);
    700 static void ( APIENTRY * dllTexCoord4iv )(const GLint *v);
    701 static void ( APIENTRY * dllTexCoord4s )(GLshort s, GLshort t, GLshort r, GLshort q);
    702 static void ( APIENTRY * dllTexCoord4sv )(const GLshort *v);
    703 static void ( APIENTRY * dllTexCoordPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    704 static void ( APIENTRY * dllTexEnvf )(GLenum target, GLenum pname, GLfloat param);
    705 static void ( APIENTRY * dllTexEnvfv )(GLenum target, GLenum pname, const GLfloat *params);
    706 static void ( APIENTRY * dllTexEnvi )(GLenum target, GLenum pname, GLint param);
    707 static void ( APIENTRY * dllTexEnviv )(GLenum target, GLenum pname, const GLint *params);
    708 static void ( APIENTRY * dllTexGend )(GLenum coord, GLenum pname, GLdouble param);
    709 static void ( APIENTRY * dllTexGendv )(GLenum coord, GLenum pname, const GLdouble *params);
    710 static void ( APIENTRY * dllTexGenf )(GLenum coord, GLenum pname, GLfloat param);
    711 static void ( APIENTRY * dllTexGenfv )(GLenum coord, GLenum pname, const GLfloat *params);
    712 static void ( APIENTRY * dllTexGeni )(GLenum coord, GLenum pname, GLint param);
    713 static void ( APIENTRY * dllTexGeniv )(GLenum coord, GLenum pname, const GLint *params);
    714 static void ( APIENTRY * dllTexImage1D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
    715 static void ( APIENTRY * dllTexImage2D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
    716 static void ( APIENTRY * dllTexParameterf )(GLenum target, GLenum pname, GLfloat param);
    717 static void ( APIENTRY * dllTexParameterfv )(GLenum target, GLenum pname, const GLfloat *params);
    718 static void ( APIENTRY * dllTexParameteri )(GLenum target, GLenum pname, GLint param);
    719 static void ( APIENTRY * dllTexParameteriv )(GLenum target, GLenum pname, const GLint *params);
    720 static void ( APIENTRY * dllTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
    721 static void ( APIENTRY * dllTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
    722 static void ( APIENTRY * dllTranslated )(GLdouble x, GLdouble y, GLdouble z);
    723 static void ( APIENTRY * dllTranslatef )(GLfloat x, GLfloat y, GLfloat z);
    724 static void ( APIENTRY * dllVertex2d )(GLdouble x, GLdouble y);
    725 static void ( APIENTRY * dllVertex2dv )(const GLdouble *v);
    726 static void ( APIENTRY * dllVertex2f )(GLfloat x, GLfloat y);
    727 static void ( APIENTRY * dllVertex2fv )(const GLfloat *v);
    728 static void ( APIENTRY * dllVertex2i )(GLint x, GLint y);
    729 static void ( APIENTRY * dllVertex2iv )(const GLint *v);
    730 static void ( APIENTRY * dllVertex2s )(GLshort x, GLshort y);
    731 static void ( APIENTRY * dllVertex2sv )(const GLshort *v);
    732 static void ( APIENTRY * dllVertex3d )(GLdouble x, GLdouble y, GLdouble z);
    733 static void ( APIENTRY * dllVertex3dv )(const GLdouble *v);
    734 static void ( APIENTRY * dllVertex3f )(GLfloat x, GLfloat y, GLfloat z);
    735 static void ( APIENTRY * dllVertex3fv )(const GLfloat *v);
    736 static void ( APIENTRY * dllVertex3i )(GLint x, GLint y, GLint z);
    737 static void ( APIENTRY * dllVertex3iv )(const GLint *v);
    738 static void ( APIENTRY * dllVertex3s )(GLshort x, GLshort y, GLshort z);
    739 static void ( APIENTRY * dllVertex3sv )(const GLshort *v);
    740 static void ( APIENTRY * dllVertex4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
    741 static void ( APIENTRY * dllVertex4dv )(const GLdouble *v);
    742 static void ( APIENTRY * dllVertex4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
    743 static void ( APIENTRY * dllVertex4fv )(const GLfloat *v);
    744 static void ( APIENTRY * dllVertex4i )(GLint x, GLint y, GLint z, GLint w);
    745 static void ( APIENTRY * dllVertex4iv )(const GLint *v);
    746 static void ( APIENTRY * dllVertex4s )(GLshort x, GLshort y, GLshort z, GLshort w);
    747 static void ( APIENTRY * dllVertex4sv )(const GLshort *v);
    748 static void ( APIENTRY * dllVertexPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    749 static void ( APIENTRY * dllViewport )(GLint x, GLint y, GLsizei width, GLsizei height);
    750 
    751 typedef struct {
    752 	GLenum	e;
    753 	const char *name;
    754 } glEnumName_t;
    755 
    756 #define	DEF(x) { x, #x },
    757 
    758 glEnumName_t	glEnumNames[] = {
    759 DEF(GL_FALSE)
    760 DEF(GL_TRUE)
    761 
    762 	{ GL_BYTE, "GL_BYTE" },
    763 	{ GL_UNSIGNED_BYTE, "GL_UNSIGNED_BYTE" },
    764 	{ GL_SHORT, "GL_SHORT" },
    765 	{ GL_UNSIGNED_SHORT, "GL_UNSIGNED_SHORT" },
    766 	{ GL_INT, "GL_INT" },
    767 	{ GL_UNSIGNED_INT, "GL_UNSIGNED_INT" },
    768 	{ GL_FLOAT, "GL_FLOAT" },
    769 	{ GL_DOUBLE, "GL_DOUBLE" },
    770 
    771 	{ GL_TEXTURE_CUBE_MAP_EXT, "GL_TEXTURE_CUBE_MAP_EXT" },
    772 	{ GL_TEXTURE_3D, "GL_TEXTURE_3D" },
    773 	{ GL_TEXTURE_2D, "GL_TEXTURE_2D" },
    774 	{ GL_BLEND, "GL_BLEND" },
    775 	{ GL_DEPTH_TEST, "GL_DEPTH_TEST" },
    776 	{ GL_CULL_FACE, "GL_CULL_FACE" },
    777 	{ GL_CLIP_PLANE0, "GL_CLIP_PLANE0" },
    778 	{ GL_COLOR_ARRAY, "GL_COLOR_ARRAY" },
    779 	{ GL_TEXTURE_COORD_ARRAY, "GL_TEXTURE_COORD_ARRAY" },
    780 	{ GL_VERTEX_ARRAY, "GL_VERTEX_ARRAY" },
    781 	{ GL_ALPHA_TEST, "GL_ALPHA_TEST" },
    782 	{ GL_TEXTURE_GEN_S, "GL_TEXTURE_GEN_S" },
    783 	{ GL_TEXTURE_GEN_T, "GL_TEXTURE_GEN_T" },
    784 	{ GL_TEXTURE_GEN_R, "GL_TEXTURE_GEN_R" },
    785 	{ GL_TEXTURE_GEN_Q, "GL_TEXTURE_GEN_Q" },
    786 	{ GL_STENCIL_TEST, "GL_STENCIL_TEST" },
    787 	{ GL_POLYGON_OFFSET_FILL, "GL_POLYGON_OFFSET_FILL" },
    788 
    789 	{ GL_TRIANGLES,	"GL_TRIANGLES" },
    790 	{ GL_TRIANGLE_STRIP, "GL_TRIANGLE_STRIP" },
    791 	{ GL_TRIANGLE_FAN, "GL_TRIANGLE_FAN" },
    792 	{ GL_QUADS, "GL_QUADS" },
    793 	{ GL_QUAD_STRIP, "GL_QUAD_STRIP" },
    794 	{ GL_POLYGON, "GL_POLYGON" },
    795 	{ GL_POINTS, "GL_POINTS" },
    796 	{ GL_LINES, "GL_LINES" },
    797 	{ GL_LINE_STRIP, "GL_LINE_STRIP" },
    798 	{ GL_LINE_LOOP, "GL_LINE_LOOP" },
    799 
    800 	{ GL_ALWAYS, "GL_ALWAYS" },
    801 	{ GL_NEVER, "GL_NEVER" },
    802 	{ GL_LEQUAL, "GL_LEQUAL" },
    803 	{ GL_LESS, "GL_LESS" },
    804 	{ GL_EQUAL, "GL_EQUAL" },
    805 	{ GL_GREATER, "GL_GREATER" },
    806 	{ GL_GEQUAL, "GL_GEQUAL" },
    807 	{ GL_NOTEQUAL, "GL_NOTEQUAL" },
    808 
    809 	{ GL_ONE, "GL_ONE" },
    810 	{ GL_ZERO, "GL_ZERO" },
    811 	{ GL_SRC_ALPHA, "GL_SRC_ALPHA" },
    812 	{ GL_ONE_MINUS_SRC_ALPHA, "GL_ONE_MINUS_SRC_ALPHA" },
    813 	{ GL_DST_COLOR, "GL_DST_COLOR" },
    814 	{ GL_ONE_MINUS_DST_COLOR, "GL_ONE_MINUS_DST_COLOR" },
    815 	{ GL_DST_ALPHA, "GL_DST_ALPHA" },
    816 
    817 	{ GL_MODELVIEW, "GL_MODELVIEW" },
    818 	{ GL_PROJECTION, "GL_PROJECTION" },
    819 	{ GL_TEXTURE, "GL_TEXTURE" },
    820 
    821 /* DrawBufferMode */
    822 DEF(GL_NONE)
    823 DEF(GL_FRONT_LEFT)
    824 DEF(GL_FRONT_RIGHT)
    825 DEF(GL_BACK_LEFT)
    826 DEF(GL_BACK_RIGHT)
    827 DEF(GL_FRONT)
    828 DEF(GL_BACK)
    829 DEF(GL_LEFT)
    830 DEF(GL_RIGHT)
    831 DEF(GL_FRONT_AND_BACK)
    832 DEF(GL_AUX0)
    833 DEF(GL_AUX1)
    834 DEF(GL_AUX2)
    835 DEF(GL_AUX3)
    836 
    837 /* GetTarget */
    838 DEF(GL_CURRENT_COLOR)
    839 DEF(GL_CURRENT_INDEX)
    840 DEF(GL_CURRENT_NORMAL)
    841 DEF(GL_CURRENT_TEXTURE_COORDS)
    842 DEF(GL_CURRENT_RASTER_COLOR)
    843 DEF(GL_CURRENT_RASTER_INDEX)
    844 DEF(GL_CURRENT_RASTER_TEXTURE_COORDS)
    845 DEF(GL_CURRENT_RASTER_POSITION)
    846 DEF(GL_CURRENT_RASTER_POSITION_VALID)
    847 DEF(GL_CURRENT_RASTER_DISTANCE)
    848 DEF(GL_POINT_SMOOTH)
    849 DEF(GL_POINT_SIZE)
    850 DEF(GL_POINT_SIZE_RANGE)
    851 DEF(GL_POINT_SIZE_GRANULARITY)
    852 DEF(GL_LINE_SMOOTH)
    853 DEF(GL_LINE_WIDTH)
    854 DEF(GL_LINE_WIDTH_RANGE)
    855 DEF(GL_LINE_WIDTH_GRANULARITY)
    856 DEF(GL_LINE_STIPPLE)
    857 DEF(GL_LINE_STIPPLE_PATTERN)
    858 DEF(GL_LINE_STIPPLE_REPEAT)
    859 DEF(GL_LIST_MODE)
    860 DEF(GL_MAX_LIST_NESTING)
    861 DEF(GL_LIST_BASE)
    862 DEF(GL_LIST_INDEX)
    863 DEF(GL_POLYGON_MODE)
    864 DEF(GL_POLYGON_SMOOTH)
    865 DEF(GL_POLYGON_STIPPLE)
    866 DEF(GL_EDGE_FLAG)
    867 DEF(GL_CULL_FACE)
    868 DEF(GL_CULL_FACE_MODE)
    869 DEF(GL_FRONT_FACE)
    870 DEF(GL_LIGHTING)
    871 DEF(GL_LIGHT_MODEL_LOCAL_VIEWER)
    872 DEF(GL_LIGHT_MODEL_TWO_SIDE)
    873 DEF(GL_LIGHT_MODEL_AMBIENT)
    874 DEF(GL_SHADE_MODEL)
    875 DEF(GL_COLOR_MATERIAL_FACE)
    876 DEF(GL_COLOR_MATERIAL_PARAMETER)
    877 DEF(GL_COLOR_MATERIAL)
    878 DEF(GL_FOG)
    879 DEF(GL_FOG_INDEX)
    880 DEF(GL_FOG_DENSITY)
    881 DEF(GL_FOG_START)
    882 DEF(GL_FOG_END)
    883 DEF(GL_FOG_MODE)
    884 DEF(GL_FOG_COLOR)
    885 DEF(GL_DEPTH_RANGE)
    886 DEF(GL_DEPTH_TEST)
    887 DEF(GL_DEPTH_WRITEMASK)
    888 DEF(GL_DEPTH_CLEAR_VALUE)
    889 DEF(GL_DEPTH_FUNC)
    890 DEF(GL_ACCUM_CLEAR_VALUE)
    891 DEF(GL_STENCIL_TEST)
    892 DEF(GL_STENCIL_CLEAR_VALUE)
    893 DEF(GL_STENCIL_FUNC)
    894 DEF(GL_STENCIL_VALUE_MASK)
    895 DEF(GL_STENCIL_FAIL)
    896 DEF(GL_STENCIL_PASS_DEPTH_FAIL)
    897 DEF(GL_STENCIL_PASS_DEPTH_PASS)
    898 DEF(GL_STENCIL_REF)
    899 DEF(GL_STENCIL_WRITEMASK)
    900 DEF(GL_MATRIX_MODE)
    901 DEF(GL_NORMALIZE)
    902 DEF(GL_VIEWPORT)
    903 DEF(GL_MODELVIEW_STACK_DEPTH)
    904 DEF(GL_PROJECTION_STACK_DEPTH)
    905 DEF(GL_TEXTURE_STACK_DEPTH)
    906 DEF(GL_MODELVIEW_MATRIX)
    907 DEF(GL_PROJECTION_MATRIX)
    908 DEF(GL_TEXTURE_MATRIX)
    909 DEF(GL_ATTRIB_STACK_DEPTH)
    910 DEF(GL_CLIENT_ATTRIB_STACK_DEPTH)
    911 DEF(GL_ALPHA_TEST)
    912 DEF(GL_ALPHA_TEST_FUNC)
    913 DEF(GL_ALPHA_TEST_REF)
    914 DEF(GL_DITHER)
    915 DEF(GL_BLEND_DST)
    916 DEF(GL_BLEND_SRC)
    917 DEF(GL_BLEND)
    918 DEF(GL_LOGIC_OP_MODE)
    919 DEF(GL_INDEX_LOGIC_OP)
    920 DEF(GL_COLOR_LOGIC_OP)
    921 DEF(GL_AUX_BUFFERS)
    922 DEF(GL_DRAW_BUFFER)
    923 DEF(GL_READ_BUFFER)
    924 DEF(GL_SCISSOR_BOX)
    925 DEF(GL_SCISSOR_TEST)
    926 DEF(GL_INDEX_CLEAR_VALUE)
    927 DEF(GL_INDEX_WRITEMASK)
    928 DEF(GL_COLOR_CLEAR_VALUE)
    929 DEF(GL_COLOR_WRITEMASK)
    930 DEF(GL_INDEX_MODE)
    931 DEF(GL_RGBA_MODE)
    932 DEF(GL_DOUBLEBUFFER)
    933 DEF(GL_STEREO)
    934 DEF(GL_RENDER_MODE)
    935 DEF(GL_PERSPECTIVE_CORRECTION_HINT)
    936 DEF(GL_POINT_SMOOTH_HINT)
    937 DEF(GL_LINE_SMOOTH_HINT)
    938 DEF(GL_POLYGON_SMOOTH_HINT)
    939 DEF(GL_FOG_HINT)
    940 DEF(GL_TEXTURE_GEN_S)
    941 DEF(GL_TEXTURE_GEN_T)
    942 DEF(GL_TEXTURE_GEN_R)
    943 DEF(GL_TEXTURE_GEN_Q)
    944 DEF(GL_PIXEL_MAP_I_TO_I)
    945 DEF(GL_PIXEL_MAP_S_TO_S)
    946 DEF(GL_PIXEL_MAP_I_TO_R)
    947 DEF(GL_PIXEL_MAP_I_TO_G)
    948 DEF(GL_PIXEL_MAP_I_TO_B)
    949 DEF(GL_PIXEL_MAP_I_TO_A)
    950 DEF(GL_PIXEL_MAP_R_TO_R)
    951 DEF(GL_PIXEL_MAP_G_TO_G)
    952 DEF(GL_PIXEL_MAP_B_TO_B)
    953 DEF(GL_PIXEL_MAP_A_TO_A)
    954 DEF(GL_PIXEL_MAP_I_TO_I_SIZE)
    955 DEF(GL_PIXEL_MAP_S_TO_S_SIZE)
    956 DEF(GL_PIXEL_MAP_I_TO_R_SIZE)
    957 DEF(GL_PIXEL_MAP_I_TO_G_SIZE)
    958 DEF(GL_PIXEL_MAP_I_TO_B_SIZE)
    959 DEF(GL_PIXEL_MAP_I_TO_A_SIZE)
    960 DEF(GL_PIXEL_MAP_R_TO_R_SIZE)
    961 DEF(GL_PIXEL_MAP_G_TO_G_SIZE)
    962 DEF(GL_PIXEL_MAP_B_TO_B_SIZE)
    963 DEF(GL_PIXEL_MAP_A_TO_A_SIZE)
    964 DEF(GL_UNPACK_SWAP_BYTES)
    965 DEF(GL_UNPACK_LSB_FIRST)
    966 DEF(GL_UNPACK_ROW_LENGTH)
    967 DEF(GL_UNPACK_SKIP_ROWS)
    968 DEF(GL_UNPACK_SKIP_PIXELS)
    969 DEF(GL_UNPACK_ALIGNMENT)
    970 DEF(GL_PACK_SWAP_BYTES)
    971 DEF(GL_PACK_LSB_FIRST)
    972 DEF(GL_PACK_ROW_LENGTH)
    973 DEF(GL_PACK_SKIP_ROWS)
    974 DEF(GL_PACK_SKIP_PIXELS)
    975 DEF(GL_PACK_ALIGNMENT)
    976 DEF(GL_MAP_COLOR)
    977 DEF(GL_MAP_STENCIL)
    978 DEF(GL_INDEX_SHIFT)
    979 DEF(GL_INDEX_OFFSET)
    980 DEF(GL_RED_SCALE)
    981 DEF(GL_RED_BIAS)
    982 DEF(GL_ZOOM_X)
    983 DEF(GL_ZOOM_Y)
    984 DEF(GL_GREEN_SCALE)
    985 DEF(GL_GREEN_BIAS)
    986 DEF(GL_BLUE_SCALE)
    987 DEF(GL_BLUE_BIAS)
    988 DEF(GL_ALPHA_SCALE)
    989 DEF(GL_ALPHA_BIAS)
    990 DEF(GL_DEPTH_SCALE)
    991 DEF(GL_DEPTH_BIAS)
    992 DEF(GL_MAX_EVAL_ORDER)
    993 DEF(GL_MAX_LIGHTS)
    994 DEF(GL_MAX_CLIP_PLANES)
    995 DEF(GL_MAX_TEXTURE_SIZE)
    996 DEF(GL_MAX_PIXEL_MAP_TABLE)
    997 DEF(GL_MAX_ATTRIB_STACK_DEPTH)
    998 DEF(GL_MAX_MODELVIEW_STACK_DEPTH)
    999 DEF(GL_MAX_NAME_STACK_DEPTH)
   1000 DEF(GL_MAX_PROJECTION_STACK_DEPTH)
   1001 DEF(GL_MAX_TEXTURE_STACK_DEPTH)
   1002 DEF(GL_MAX_VIEWPORT_DIMS)
   1003 DEF(GL_MAX_CLIENT_ATTRIB_STACK_DEPTH)
   1004 DEF(GL_SUBPIXEL_BITS)
   1005 DEF(GL_INDEX_BITS)
   1006 DEF(GL_RED_BITS)
   1007 DEF(GL_GREEN_BITS)
   1008 DEF(GL_BLUE_BITS)
   1009 DEF(GL_ALPHA_BITS)
   1010 DEF(GL_DEPTH_BITS)
   1011 DEF(GL_STENCIL_BITS)
   1012 DEF(GL_ACCUM_RED_BITS)
   1013 DEF(GL_ACCUM_GREEN_BITS)
   1014 DEF(GL_ACCUM_BLUE_BITS)
   1015 DEF(GL_ACCUM_ALPHA_BITS)
   1016 DEF(GL_NAME_STACK_DEPTH)
   1017 DEF(GL_AUTO_NORMAL)
   1018 DEF(GL_MAP1_COLOR_4)
   1019 DEF(GL_MAP1_INDEX)
   1020 DEF(GL_MAP1_NORMAL)
   1021 DEF(GL_MAP1_TEXTURE_COORD_1)
   1022 DEF(GL_MAP1_TEXTURE_COORD_2)
   1023 DEF(GL_MAP1_TEXTURE_COORD_3)
   1024 DEF(GL_MAP1_TEXTURE_COORD_4)
   1025 DEF(GL_MAP1_VERTEX_3)
   1026 DEF(GL_MAP1_VERTEX_4)
   1027 DEF(GL_MAP2_COLOR_4)
   1028 DEF(GL_MAP2_INDEX)
   1029 DEF(GL_MAP2_NORMAL)
   1030 DEF(GL_MAP2_TEXTURE_COORD_1)
   1031 DEF(GL_MAP2_TEXTURE_COORD_2)
   1032 DEF(GL_MAP2_TEXTURE_COORD_3)
   1033 DEF(GL_MAP2_TEXTURE_COORD_4)
   1034 DEF(GL_MAP2_VERTEX_3)
   1035 DEF(GL_MAP2_VERTEX_4)
   1036 DEF(GL_MAP1_GRID_DOMAIN)
   1037 DEF(GL_MAP1_GRID_SEGMENTS)
   1038 DEF(GL_MAP2_GRID_DOMAIN)
   1039 DEF(GL_MAP2_GRID_SEGMENTS)
   1040 DEF(GL_TEXTURE_1D)
   1041 DEF(GL_TEXTURE_2D)
   1042 DEF(GL_FEEDBACK_BUFFER_POINTER)
   1043 DEF(GL_FEEDBACK_BUFFER_SIZE)
   1044 DEF(GL_FEEDBACK_BUFFER_TYPE)
   1045 DEF(GL_SELECTION_BUFFER_POINTER)
   1046 DEF(GL_SELECTION_BUFFER_SIZE)
   1047 
   1048 /* PixelCopyType */
   1049 DEF(GL_COLOR)
   1050 DEF(GL_DEPTH)
   1051 DEF(GL_STENCIL)
   1052 
   1053 /* PixelFormat */
   1054 DEF(GL_COLOR_INDEX)
   1055 DEF(GL_STENCIL_INDEX)
   1056 DEF(GL_DEPTH_COMPONENT)
   1057 DEF(GL_RED)
   1058 DEF(GL_GREEN)
   1059 DEF(GL_BLUE)
   1060 DEF(GL_ALPHA)
   1061 DEF(GL_RGB)
   1062 DEF(GL_RGBA)
   1063 DEF(GL_LUMINANCE)
   1064 DEF(GL_LUMINANCE_ALPHA)
   1065 
   1066 /* PixelMap */
   1067 /*      GL_PIXEL_MAP_I_TO_I */
   1068 /*      GL_PIXEL_MAP_S_TO_S */
   1069 /*      GL_PIXEL_MAP_I_TO_R */
   1070 /*      GL_PIXEL_MAP_I_TO_G */
   1071 /*      GL_PIXEL_MAP_I_TO_B */
   1072 /*      GL_PIXEL_MAP_I_TO_A */
   1073 /*      GL_PIXEL_MAP_R_TO_R */
   1074 /*      GL_PIXEL_MAP_G_TO_G */
   1075 /*      GL_PIXEL_MAP_B_TO_B */
   1076 /*      GL_PIXEL_MAP_A_TO_A */
   1077 
   1078 /* PixelStore */
   1079 /*      GL_UNPACK_SWAP_BYTES */
   1080 /*      GL_UNPACK_LSB_FIRST */
   1081 /*      GL_UNPACK_ROW_LENGTH */
   1082 /*      GL_UNPACK_SKIP_ROWS */
   1083 /*      GL_UNPACK_SKIP_PIXELS */
   1084 /*      GL_UNPACK_ALIGNMENT */
   1085 /*      GL_PACK_SWAP_BYTES */
   1086 /*      GL_PACK_LSB_FIRST */
   1087 /*      GL_PACK_ROW_LENGTH */
   1088 /*      GL_PACK_SKIP_ROWS */
   1089 /*      GL_PACK_SKIP_PIXELS */
   1090 /*      GL_PACK_ALIGNMENT */
   1091 
   1092 /* PixelTransfer */
   1093 /*      GL_MAP_COLOR */
   1094 /*      GL_MAP_STENCIL */
   1095 /*      GL_INDEX_SHIFT */
   1096 /*      GL_INDEX_OFFSET */
   1097 /*      GL_RED_SCALE */
   1098 /*      GL_RED_BIAS */
   1099 /*      GL_GREEN_SCALE */
   1100 /*      GL_GREEN_BIAS */
   1101 /*      GL_BLUE_SCALE */
   1102 /*      GL_BLUE_BIAS */
   1103 /*      GL_ALPHA_SCALE */
   1104 /*      GL_ALPHA_BIAS */
   1105 /*      GL_DEPTH_SCALE */
   1106 /*      GL_DEPTH_BIAS */
   1107 
   1108 /* PixelType */
   1109 DEF(GL_BITMAP)
   1110 /*      GL_BYTE */
   1111 /*      GL_UNSIGNED_BYTE */
   1112 /*      GL_SHORT */
   1113 /*      GL_UNSIGNED_SHORT */
   1114 /*      GL_INT */
   1115 /*      GL_UNSIGNED_INT */
   1116 /*      GL_FLOAT */
   1117 
   1118 /* PolygonMode */
   1119 DEF(GL_POINT)
   1120 DEF(GL_LINE)
   1121 DEF(GL_FILL)
   1122 
   1123 /* RenderingMode */
   1124 DEF(GL_RENDER)
   1125 DEF(GL_FEEDBACK)
   1126 DEF(GL_SELECT)
   1127 
   1128 /* ShadingModel */
   1129 DEF(GL_FLAT)
   1130 DEF(GL_SMOOTH)
   1131 
   1132 /* StencilOp */
   1133 /*      GL_ZERO */
   1134 DEF(GL_KEEP)
   1135 DEF(GL_REPLACE)
   1136 DEF(GL_INCR)
   1137 DEF(GL_DECR)
   1138 /*      GL_INVERT */
   1139 
   1140 /* StringName */
   1141 DEF(GL_VENDOR)
   1142 DEF(GL_RENDERER)
   1143 DEF(GL_VERSION)
   1144 DEF(GL_EXTENSIONS)
   1145 
   1146 /* TextureCoordName */
   1147 DEF(GL_S)
   1148 DEF(GL_T)
   1149 DEF(GL_R)
   1150 DEF(GL_Q)
   1151 
   1152 /* TexCoordPointerType */
   1153 /*      GL_SHORT */
   1154 /*      GL_INT */
   1155 /*      GL_FLOAT */
   1156 /*      GL_DOUBLE */
   1157 
   1158 /* TextureEnvMode */
   1159 DEF(GL_MODULATE)
   1160 DEF(GL_DECAL)
   1161 /*      GL_BLEND */
   1162 /*      GL_REPLACE */
   1163 
   1164 /* TextureEnvParameter */
   1165 DEF(GL_TEXTURE_ENV_MODE)
   1166 DEF(GL_TEXTURE_ENV_COLOR)
   1167 
   1168 /* TextureEnvTarget */
   1169 DEF(GL_TEXTURE_ENV)
   1170 
   1171 /* TextureGenMode */
   1172 DEF(GL_EYE_LINEAR)
   1173 DEF(GL_OBJECT_LINEAR)
   1174 DEF(GL_SPHERE_MAP)
   1175 
   1176 /* TextureGenParameter */
   1177 DEF(GL_TEXTURE_GEN_MODE)
   1178 DEF(GL_OBJECT_PLANE)
   1179 DEF(GL_EYE_PLANE)
   1180 
   1181 /* TextureMagFilter */
   1182 DEF(GL_NEAREST)
   1183 DEF(GL_LINEAR)
   1184 
   1185 /* TextureMinFilter */
   1186 /*      GL_NEAREST */
   1187 /*      GL_LINEAR */
   1188 DEF(GL_NEAREST_MIPMAP_NEAREST)
   1189 DEF(GL_LINEAR_MIPMAP_NEAREST)
   1190 DEF(GL_NEAREST_MIPMAP_LINEAR)
   1191 DEF(GL_LINEAR_MIPMAP_LINEAR)
   1192 
   1193 /* TextureParameterName */
   1194 DEF(GL_TEXTURE_MAG_FILTER)
   1195 DEF(GL_TEXTURE_MIN_FILTER)
   1196 DEF(GL_TEXTURE_WRAP_S)
   1197 DEF(GL_TEXTURE_WRAP_T)
   1198 /*      GL_TEXTURE_BORDER_COLOR */
   1199 /*      GL_TEXTURE_PRIORITY */
   1200 
   1201 /* TextureTarget */
   1202 /*      GL_TEXTURE_1D */
   1203 /*      GL_TEXTURE_2D */
   1204 /*      GL_PROXY_TEXTURE_1D */
   1205 /*      GL_PROXY_TEXTURE_2D */
   1206 
   1207 /* TextureWrapMode */
   1208 DEF(GL_CLAMP)
   1209 DEF(GL_REPEAT)
   1210 
   1211 /* VertexPointerType */
   1212 /*      GL_SHORT */
   1213 /*      GL_INT */
   1214 /*      GL_FLOAT */
   1215 /*      GL_DOUBLE */
   1216 
   1217 /* ClientAttribMask */
   1218 DEF(GL_CLIENT_PIXEL_STORE_BIT)
   1219 DEF(GL_CLIENT_VERTEX_ARRAY_BIT)
   1220 DEF(GL_CLIENT_ALL_ATTRIB_BITS)
   1221 
   1222 /* polygon_offset */
   1223 DEF(GL_POLYGON_OFFSET_FACTOR)
   1224 DEF(GL_POLYGON_OFFSET_UNITS)
   1225 DEF(GL_POLYGON_OFFSET_POINT)
   1226 DEF(GL_POLYGON_OFFSET_LINE)
   1227 DEF(GL_POLYGON_OFFSET_FILL)
   1228 
   1229 	{ 0, NULL }
   1230 };
   1231 
   1232 /*
   1233 ** QGL_Shutdown
   1234 **
   1235 ** Unloads the specified DLL then nulls out all the proc pointers.  This
   1236 ** is only called during a hard shutdown of the OGL subsystem (e.g. vid_restart).
   1237 */
   1238 void QGL_Shutdown( void )
   1239 {
   1240 	common->Printf( "...shutting down QGL\n" );
   1241 
   1242 	if ( win32.hinstOpenGL )
   1243 	{
   1244 		common->Printf( "...unloading OpenGL DLL\n" );
   1245 		FreeLibrary( win32.hinstOpenGL );
   1246 	}
   1247 
   1248 	win32.hinstOpenGL = NULL;
   1249 
   1250 	qglAccum                     = NULL;
   1251 	qglAlphaFunc                 = NULL;
   1252 	qglAreTexturesResident       = NULL;
   1253 	qglArrayElement              = NULL;
   1254 	qglBegin                     = NULL;
   1255 	qglBindTexture               = NULL;
   1256 	qglBitmap                    = NULL;
   1257 	qglBlendFunc                 = NULL;
   1258 	qglCallList                  = NULL;
   1259 	qglCallLists                 = NULL;
   1260 	qglClear                     = NULL;
   1261 	qglClearAccum                = NULL;
   1262 	qglClearColor                = NULL;
   1263 	qglClearDepth                = NULL;
   1264 	qglClearIndex                = NULL;
   1265 	qglClearStencil              = NULL;
   1266 	qglClipPlane                 = NULL;
   1267 	qglColor3b                   = NULL;
   1268 	qglColor3bv                  = NULL;
   1269 	qglColor3d                   = NULL;
   1270 	qglColor3dv                  = NULL;
   1271 	qglColor3f                   = NULL;
   1272 	qglColor3fv                  = NULL;
   1273 	qglColor3i                   = NULL;
   1274 	qglColor3iv                  = NULL;
   1275 	qglColor3s                   = NULL;
   1276 	qglColor3sv                  = NULL;
   1277 	qglColor3ub                  = NULL;
   1278 	qglColor3ubv                 = NULL;
   1279 	qglColor3ui                  = NULL;
   1280 	qglColor3uiv                 = NULL;
   1281 	qglColor3us                  = NULL;
   1282 	qglColor3usv                 = NULL;
   1283 	qglColor4b                   = NULL;
   1284 	qglColor4bv                  = NULL;
   1285 	qglColor4d                   = NULL;
   1286 	qglColor4dv                  = NULL;
   1287 	qglColor4f                   = NULL;
   1288 	qglColor4fv                  = NULL;
   1289 	qglColor4i                   = NULL;
   1290 	qglColor4iv                  = NULL;
   1291 	qglColor4s                   = NULL;
   1292 	qglColor4sv                  = NULL;
   1293 	qglColor4ub                  = NULL;
   1294 	qglColor4ubv                 = NULL;
   1295 	qglColor4ui                  = NULL;
   1296 	qglColor4uiv                 = NULL;
   1297 	qglColor4us                  = NULL;
   1298 	qglColor4usv                 = NULL;
   1299 	qglColorMask                 = NULL;
   1300 	qglColorMaterial             = NULL;
   1301 	qglColorPointer              = NULL;
   1302 	qglCopyPixels                = NULL;
   1303 	qglCopyTexImage1D            = NULL;
   1304 	qglCopyTexImage2D            = NULL;
   1305 	qglCopyTexSubImage1D         = NULL;
   1306 	qglCopyTexSubImage2D         = NULL;
   1307 	qglCullFace                  = NULL;
   1308 	qglDeleteLists               = NULL;
   1309 	qglDeleteTextures            = NULL;
   1310 	qglDepthFunc                 = NULL;
   1311 	qglDepthMask                 = NULL;
   1312 	qglDepthRange                = NULL;
   1313 	qglDisable                   = NULL;
   1314 	qglDisableClientState        = NULL;
   1315 	qglDrawArrays                = NULL;
   1316 	qglDrawBuffer                = NULL;
   1317 	qglDrawElements              = NULL;
   1318 	qglDrawPixels                = NULL;
   1319 	qglEdgeFlag                  = NULL;
   1320 	qglEdgeFlagPointer           = NULL;
   1321 	qglEdgeFlagv                 = NULL;
   1322 	qglEnable                    = NULL;
   1323 	qglEnableClientState         = NULL;
   1324 	qglEnd                       = NULL;
   1325 	qglEndList                   = NULL;
   1326 	qglEvalCoord1d               = NULL;
   1327 	qglEvalCoord1dv              = NULL;
   1328 	qglEvalCoord1f               = NULL;
   1329 	qglEvalCoord1fv              = NULL;
   1330 	qglEvalCoord2d               = NULL;
   1331 	qglEvalCoord2dv              = NULL;
   1332 	qglEvalCoord2f               = NULL;
   1333 	qglEvalCoord2fv              = NULL;
   1334 	qglEvalMesh1                 = NULL;
   1335 	qglEvalMesh2                 = NULL;
   1336 	qglEvalPoint1                = NULL;
   1337 	qglEvalPoint2                = NULL;
   1338 	qglFeedbackBuffer            = NULL;
   1339 	qglFinish                    = NULL;
   1340 	qglFlush                     = NULL;
   1341 	qglFogf                      = NULL;
   1342 	qglFogfv                     = NULL;
   1343 	qglFogi                      = NULL;
   1344 	qglFogiv                     = NULL;
   1345 	qglFrontFace                 = NULL;
   1346 	qglFrustum                   = NULL;
   1347 	qglGenLists                  = NULL;
   1348 	qglGenTextures               = NULL;
   1349 	qglGetBooleanv               = NULL;
   1350 	qglGetClipPlane              = NULL;
   1351 	qglGetDoublev                = NULL;
   1352 	qglGetError                  = NULL;
   1353 	qglGetFloatv                 = NULL;
   1354 	qglGetIntegerv               = NULL;
   1355 	qglGetLightfv                = NULL;
   1356 	qglGetLightiv                = NULL;
   1357 	qglGetMapdv                  = NULL;
   1358 	qglGetMapfv                  = NULL;
   1359 	qglGetMapiv                  = NULL;
   1360 	qglGetMaterialfv             = NULL;
   1361 	qglGetMaterialiv             = NULL;
   1362 	qglGetPixelMapfv             = NULL;
   1363 	qglGetPixelMapuiv            = NULL;
   1364 	qglGetPixelMapusv            = NULL;
   1365 	qglGetPointerv               = NULL;
   1366 	qglGetPolygonStipple         = NULL;
   1367 	qglGetString                 = NULL;
   1368 	qglGetTexEnvfv               = NULL;
   1369 	qglGetTexEnviv               = NULL;
   1370 	qglGetTexGendv               = NULL;
   1371 	qglGetTexGenfv               = NULL;
   1372 	qglGetTexGeniv               = NULL;
   1373 	qglGetTexImage               = NULL;
   1374 	qglGetTexLevelParameterfv    = NULL;
   1375 	qglGetTexLevelParameteriv    = NULL;
   1376 	qglGetTexParameterfv         = NULL;
   1377 	qglGetTexParameteriv         = NULL;
   1378 	qglHint                      = NULL;
   1379 	qglIndexMask                 = NULL;
   1380 	qglIndexPointer              = NULL;
   1381 	qglIndexd                    = NULL;
   1382 	qglIndexdv                   = NULL;
   1383 	qglIndexf                    = NULL;
   1384 	qglIndexfv                   = NULL;
   1385 	qglIndexi                    = NULL;
   1386 	qglIndexiv                   = NULL;
   1387 	qglIndexs                    = NULL;
   1388 	qglIndexsv                   = NULL;
   1389 	qglIndexub                   = NULL;
   1390 	qglIndexubv                  = NULL;
   1391 	qglInitNames                 = NULL;
   1392 	qglInterleavedArrays         = NULL;
   1393 	qglIsEnabled                 = NULL;
   1394 	qglIsList                    = NULL;
   1395 	qglIsTexture                 = NULL;
   1396 	qglLightModelf               = NULL;
   1397 	qglLightModelfv              = NULL;
   1398 	qglLightModeli               = NULL;
   1399 	qglLightModeliv              = NULL;
   1400 	qglLightf                    = NULL;
   1401 	qglLightfv                   = NULL;
   1402 	qglLighti                    = NULL;
   1403 	qglLightiv                   = NULL;
   1404 	qglLineStipple               = NULL;
   1405 	qglLineWidth                 = NULL;
   1406 	qglListBase                  = NULL;
   1407 	qglLoadIdentity              = NULL;
   1408 	qglLoadMatrixd               = NULL;
   1409 	qglLoadMatrixf               = NULL;
   1410 	qglLoadName                  = NULL;
   1411 	qglLogicOp                   = NULL;
   1412 	qglMap1d                     = NULL;
   1413 	qglMap1f                     = NULL;
   1414 	qglMap2d                     = NULL;
   1415 	qglMap2f                     = NULL;
   1416 	qglMapGrid1d                 = NULL;
   1417 	qglMapGrid1f                 = NULL;
   1418 	qglMapGrid2d                 = NULL;
   1419 	qglMapGrid2f                 = NULL;
   1420 	qglMaterialf                 = NULL;
   1421 	qglMaterialfv                = NULL;
   1422 	qglMateriali                 = NULL;
   1423 	qglMaterialiv                = NULL;
   1424 	qglMatrixMode                = NULL;
   1425 	qglMultMatrixd               = NULL;
   1426 	qglMultMatrixf               = NULL;
   1427 	qglNewList                   = NULL;
   1428 	qglNormal3b                  = NULL;
   1429 	qglNormal3bv                 = NULL;
   1430 	qglNormal3d                  = NULL;
   1431 	qglNormal3dv                 = NULL;
   1432 	qglNormal3f                  = NULL;
   1433 	qglNormal3fv                 = NULL;
   1434 	qglNormal3i                  = NULL;
   1435 	qglNormal3iv                 = NULL;
   1436 	qglNormal3s                  = NULL;
   1437 	qglNormal3sv                 = NULL;
   1438 	qglNormalPointer             = NULL;
   1439 	qglOrtho                     = NULL;
   1440 	qglPassThrough               = NULL;
   1441 	qglPixelMapfv                = NULL;
   1442 	qglPixelMapuiv               = NULL;
   1443 	qglPixelMapusv               = NULL;
   1444 	qglPixelStoref               = NULL;
   1445 	qglPixelStorei               = NULL;
   1446 	qglPixelTransferf            = NULL;
   1447 	qglPixelTransferi            = NULL;
   1448 	qglPixelZoom                 = NULL;
   1449 	qglPointSize                 = NULL;
   1450 	qglPolygonMode               = NULL;
   1451 	qglPolygonOffset             = NULL;
   1452 	qglPolygonStipple            = NULL;
   1453 	qglPopAttrib                 = NULL;
   1454 	qglPopClientAttrib           = NULL;
   1455 	qglPopMatrix                 = NULL;
   1456 	qglPopName                   = NULL;
   1457 	qglPrioritizeTextures        = NULL;
   1458 	qglPushAttrib                = NULL;
   1459 	qglPushClientAttrib          = NULL;
   1460 	qglPushMatrix                = NULL;
   1461 	qglPushName                  = NULL;
   1462 	qglRasterPos2d               = NULL;
   1463 	qglRasterPos2dv              = NULL;
   1464 	qglRasterPos2f               = NULL;
   1465 	qglRasterPos2fv              = NULL;
   1466 	qglRasterPos2i               = NULL;
   1467 	qglRasterPos2iv              = NULL;
   1468 	qglRasterPos2s               = NULL;
   1469 	qglRasterPos2sv              = NULL;
   1470 	qglRasterPos3d               = NULL;
   1471 	qglRasterPos3dv              = NULL;
   1472 	qglRasterPos3f               = NULL;
   1473 	qglRasterPos3fv              = NULL;
   1474 	qglRasterPos3i               = NULL;
   1475 	qglRasterPos3iv              = NULL;
   1476 	qglRasterPos3s               = NULL;
   1477 	qglRasterPos3sv              = NULL;
   1478 	qglRasterPos4d               = NULL;
   1479 	qglRasterPos4dv              = NULL;
   1480 	qglRasterPos4f               = NULL;
   1481 	qglRasterPos4fv              = NULL;
   1482 	qglRasterPos4i               = NULL;
   1483 	qglRasterPos4iv              = NULL;
   1484 	qglRasterPos4s               = NULL;
   1485 	qglRasterPos4sv              = NULL;
   1486 	qglReadBuffer                = NULL;
   1487 	qglReadPixels                = NULL;
   1488 	qglRectd                     = NULL;
   1489 	qglRectdv                    = NULL;
   1490 	qglRectf                     = NULL;
   1491 	qglRectfv                    = NULL;
   1492 	qglRecti                     = NULL;
   1493 	qglRectiv                    = NULL;
   1494 	qglRects                     = NULL;
   1495 	qglRectsv                    = NULL;
   1496 	qglRenderMode                = NULL;
   1497 	qglRotated                   = NULL;
   1498 	qglRotatef                   = NULL;
   1499 	qglScaled                    = NULL;
   1500 	qglScalef                    = NULL;
   1501 	qglScissor                   = NULL;
   1502 	qglSelectBuffer              = NULL;
   1503 	qglShadeModel                = NULL;
   1504 	qglStencilFunc               = NULL;
   1505 	qglStencilMask               = NULL;
   1506 	qglStencilOp                 = NULL;
   1507 	qglTexCoord1d                = NULL;
   1508 	qglTexCoord1dv               = NULL;
   1509 	qglTexCoord1f                = NULL;
   1510 	qglTexCoord1fv               = NULL;
   1511 	qglTexCoord1i                = NULL;
   1512 	qglTexCoord1iv               = NULL;
   1513 	qglTexCoord1s                = NULL;
   1514 	qglTexCoord1sv               = NULL;
   1515 	qglTexCoord2d                = NULL;
   1516 	qglTexCoord2dv               = NULL;
   1517 	qglTexCoord2f                = NULL;
   1518 	qglTexCoord2fv               = NULL;
   1519 	qglTexCoord2i                = NULL;
   1520 	qglTexCoord2iv               = NULL;
   1521 	qglTexCoord2s                = NULL;
   1522 	qglTexCoord2sv               = NULL;
   1523 	qglTexCoord3d                = NULL;
   1524 	qglTexCoord3dv               = NULL;
   1525 	qglTexCoord3f                = NULL;
   1526 	qglTexCoord3fv               = NULL;
   1527 	qglTexCoord3i                = NULL;
   1528 	qglTexCoord3iv               = NULL;
   1529 	qglTexCoord3s                = NULL;
   1530 	qglTexCoord3sv               = NULL;
   1531 	qglTexCoord4d                = NULL;
   1532 	qglTexCoord4dv               = NULL;
   1533 	qglTexCoord4f                = NULL;
   1534 	qglTexCoord4fv               = NULL;
   1535 	qglTexCoord4i                = NULL;
   1536 	qglTexCoord4iv               = NULL;
   1537 	qglTexCoord4s                = NULL;
   1538 	qglTexCoord4sv               = NULL;
   1539 	qglTexCoordPointer           = NULL;
   1540 	qglTexEnvf                   = NULL;
   1541 	qglTexEnvfv                  = NULL;
   1542 	qglTexEnvi                   = NULL;
   1543 	qglTexEnviv                  = NULL;
   1544 	qglTexGend                   = NULL;
   1545 	qglTexGendv                  = NULL;
   1546 	qglTexGenf                   = NULL;
   1547 	qglTexGenfv                  = NULL;
   1548 	qglTexGeni                   = NULL;
   1549 	qglTexGeniv                  = NULL;
   1550 	qglTexImage1D                = NULL;
   1551 	qglTexImage2D                = NULL;
   1552 	qglTexParameterf             = NULL;
   1553 	qglTexParameterfv            = NULL;
   1554 	qglTexParameteri             = NULL;
   1555 	qglTexParameteriv            = NULL;
   1556 	qglTexSubImage1D             = NULL;
   1557 	qglTexSubImage2D             = NULL;
   1558 	qglTranslated                = NULL;
   1559 	qglTranslatef                = NULL;
   1560 	qglVertex2d                  = NULL;
   1561 	qglVertex2dv                 = NULL;
   1562 	qglVertex2f                  = NULL;
   1563 	qglVertex2fv                 = NULL;
   1564 	qglVertex2i                  = NULL;
   1565 	qglVertex2iv                 = NULL;
   1566 	qglVertex2s                  = NULL;
   1567 	qglVertex2sv                 = NULL;
   1568 	qglVertex3d                  = NULL;
   1569 	qglVertex3dv                 = NULL;
   1570 	qglVertex3f                  = NULL;
   1571 	qglVertex3fv                 = NULL;
   1572 	qglVertex3i                  = NULL;
   1573 	qglVertex3iv                 = NULL;
   1574 	qglVertex3s                  = NULL;
   1575 	qglVertex3sv                 = NULL;
   1576 	qglVertex4d                  = NULL;
   1577 	qglVertex4dv                 = NULL;
   1578 	qglVertex4f                  = NULL;
   1579 	qglVertex4fv                 = NULL;
   1580 	qglVertex4i                  = NULL;
   1581 	qglVertex4iv                 = NULL;
   1582 	qglVertex4s                  = NULL;
   1583 	qglVertex4sv                 = NULL;
   1584 	qglVertexPointer             = NULL;
   1585 	qglViewport                  = NULL;
   1586 
   1587 	qwglCopyContext              = NULL;
   1588 	qwglCreateContext            = NULL;
   1589 	qwglCreateLayerContext       = NULL;
   1590 	qwglDeleteContext            = NULL;
   1591 	qwglDescribeLayerPlane       = NULL;
   1592 	qwglGetCurrentContext        = NULL;
   1593 	qwglGetCurrentDC             = NULL;
   1594 	qwglGetLayerPaletteEntries   = NULL;
   1595 	qwglGetProcAddress           = NULL;
   1596 	qwglMakeCurrent              = NULL;
   1597 	qwglRealizeLayerPalette      = NULL;
   1598 	qwglSetLayerPaletteEntries   = NULL;
   1599 	qwglShareLists               = NULL;
   1600 	qwglSwapLayerBuffers         = NULL;
   1601 	qwglUseFontBitmaps           = NULL;
   1602 	qwglUseFontOutlines          = NULL;
   1603 
   1604 	qwglChoosePixelFormat        = NULL;
   1605 	qwglDescribePixelFormat      = NULL;
   1606 	qwglGetPixelFormat           = NULL;
   1607 	qwglSetPixelFormat           = NULL;
   1608 	qwglSwapBuffers              = NULL;
   1609 }
   1610 
   1611 #define GR_NUM_BOARDS 0x0f
   1612 
   1613 
   1614 #pragma warning (disable : 4113 4133 4047 )
   1615 #define GPA( a ) GetProcAddress( win32.hinstOpenGL, a )
   1616 
   1617 /*
   1618 ** QGL_Init
   1619 **
   1620 ** This is responsible for binding our qgl function pointers to 
   1621 ** the appropriate GL stuff.  In Windows this means doing a 
   1622 ** LoadLibrary and a bunch of calls to GetProcAddress.  On other
   1623 ** operating systems we need to do the right thing, whatever that
   1624 ** might be.
   1625 */
   1626 bool QGL_Init( const char *dllname )
   1627 {
   1628 	assert( win32.hinstOpenGL == 0 );
   1629 
   1630 	common->Printf( "...initializing QGL\n" );
   1631 
   1632 	common->Printf( "...calling LoadLibrary( '%s' ): ", dllname );
   1633 
   1634 	if ( ( win32.hinstOpenGL = LoadLibrary( dllname ) ) == 0 )
   1635 	{
   1636 		common->Printf( "failed\n" );
   1637 		return false;
   1638 	}
   1639 	common->Printf( "succeeded\n" );
   1640 
   1641 	qglAccum                     = dllAccum = glAccum;
   1642 	qglAlphaFunc                 = dllAlphaFunc = glAlphaFunc;
   1643 	qglAreTexturesResident       = dllAreTexturesResident = glAreTexturesResident;
   1644 	qglArrayElement              = dllArrayElement = glArrayElement;
   1645 	qglBegin                     = dllBegin = glBegin;
   1646 	qglBindTexture               = dllBindTexture = glBindTexture;
   1647 	qglBitmap                    = dllBitmap = glBitmap;
   1648 	qglBlendFunc                 = dllBlendFunc = glBlendFunc;
   1649 	qglCallList                  = dllCallList = glCallList;
   1650 	qglCallLists                 = dllCallLists = glCallLists;
   1651 	qglClear                     = dllClear = glClear;
   1652 	qglClearAccum                = dllClearAccum = glClearAccum;
   1653 	qglClearColor                = dllClearColor = glClearColor;
   1654 	qglClearDepth                = dllClearDepth = glClearDepth;
   1655 	qglClearIndex                = dllClearIndex = glClearIndex;
   1656 	qglClearStencil              = dllClearStencil = glClearStencil;
   1657 	qglClipPlane                 = dllClipPlane = glClipPlane;
   1658 	qglColor3b                   = dllColor3b = glColor3b;
   1659 	qglColor3bv                  = dllColor3bv = glColor3bv;
   1660 	qglColor3d                   = dllColor3d = glColor3d;
   1661 	qglColor3dv                  = dllColor3dv = glColor3dv;
   1662 	qglColor3f                   = dllColor3f = glColor3f;
   1663 	qglColor3fv                  = dllColor3fv = glColor3fv;
   1664 	qglColor3i                   = dllColor3i = glColor3i;
   1665 	qglColor3iv                  = dllColor3iv = glColor3iv;
   1666 	qglColor3s                   = dllColor3s = glColor3s;
   1667 	qglColor3sv                  = dllColor3sv = glColor3sv;
   1668 	qglColor3ub                  = dllColor3ub = glColor3ub;
   1669 	qglColor3ubv                 = dllColor3ubv = glColor3ubv;
   1670 	qglColor3ui                  = dllColor3ui = glColor3ui;
   1671 	qglColor3uiv                 = dllColor3uiv = glColor3uiv;
   1672 	qglColor3us                  = dllColor3us = glColor3us;
   1673 	qglColor3usv                 = dllColor3usv = glColor3usv;
   1674 	qglColor4b                   = dllColor4b = glColor4b;
   1675 	qglColor4bv                  = dllColor4bv = glColor4bv;
   1676 	qglColor4d                   = dllColor4d = glColor4d;
   1677 	qglColor4dv                  = dllColor4dv = glColor4dv;
   1678 	qglColor4f                   = dllColor4f = glColor4f;
   1679 	qglColor4fv                  = dllColor4fv = glColor4fv;
   1680 	qglColor4i                   = dllColor4i = glColor4i;
   1681 	qglColor4iv                  = dllColor4iv = glColor4iv;
   1682 	qglColor4s                   = dllColor4s = glColor4s;
   1683 	qglColor4sv                  = dllColor4sv = glColor4sv;
   1684 	qglColor4ub                  = dllColor4ub = glColor4ub;
   1685 	qglColor4ubv                 = dllColor4ubv = glColor4ubv;
   1686 	qglColor4ui                  = dllColor4ui = glColor4ui;
   1687 	qglColor4uiv                 = dllColor4uiv = glColor4uiv;
   1688 	qglColor4us                  = dllColor4us = glColor4us;
   1689 	qglColor4usv                 = dllColor4usv = glColor4usv;
   1690 	qglColorMask                 = dllColorMask = glColorMask;
   1691 	qglColorMaterial             = dllColorMaterial = glColorMaterial;
   1692 	qglColorPointer              = dllColorPointer = glColorPointer;
   1693 	qglCopyPixels                = dllCopyPixels = glCopyPixels;
   1694 	qglCopyTexImage1D            = dllCopyTexImage1D = glCopyTexImage1D;
   1695 	qglCopyTexImage2D            = dllCopyTexImage2D = glCopyTexImage2D;
   1696 	qglCopyTexSubImage1D         = dllCopyTexSubImage1D = glCopyTexSubImage1D;
   1697 	qglCopyTexSubImage2D         = dllCopyTexSubImage2D = glCopyTexSubImage2D;
   1698 	qglCullFace                  = dllCullFace = glCullFace;
   1699 	qglDeleteLists               = dllDeleteLists = glDeleteLists;
   1700 	qglDeleteTextures            = dllDeleteTextures = glDeleteTextures;
   1701 	qglDepthFunc                 = dllDepthFunc = glDepthFunc;
   1702 	qglDepthMask                 = dllDepthMask = glDepthMask;
   1703 	qglDepthRange                = dllDepthRange = glDepthRange;
   1704 	qglDisable                   = dllDisable = glDisable;
   1705 	qglDisableClientState        = dllDisableClientState = glDisableClientState;
   1706 	qglDrawArrays                = dllDrawArrays = glDrawArrays;
   1707 	qglDrawBuffer                = dllDrawBuffer = glDrawBuffer;
   1708 	qglDrawElements              = dllDrawElements = glDrawElements;
   1709 	qglDrawPixels                = dllDrawPixels = glDrawPixels;
   1710 	qglEdgeFlag                  = dllEdgeFlag = glEdgeFlag;
   1711 	qglEdgeFlagPointer           = dllEdgeFlagPointer = glEdgeFlagPointer;
   1712 	qglEdgeFlagv                 = dllEdgeFlagv = glEdgeFlagv;
   1713 	qglEnable                    = 	dllEnable                    = glEnable;
   1714 	qglEnableClientState         = 	dllEnableClientState         = glEnableClientState;
   1715 	qglEnd                       = 	dllEnd                       = glEnd;
   1716 	qglEndList                   = 	dllEndList                   = glEndList;
   1717 	qglEvalCoord1d				 = 	dllEvalCoord1d				 = glEvalCoord1d;
   1718 	qglEvalCoord1dv              = 	dllEvalCoord1dv              = glEvalCoord1dv;
   1719 	qglEvalCoord1f               = 	dllEvalCoord1f               = glEvalCoord1f;
   1720 	qglEvalCoord1fv              = 	dllEvalCoord1fv              = glEvalCoord1fv;
   1721 	qglEvalCoord2d               = 	dllEvalCoord2d               = glEvalCoord2d;
   1722 	qglEvalCoord2dv              = 	dllEvalCoord2dv              = glEvalCoord2dv;
   1723 	qglEvalCoord2f               = 	dllEvalCoord2f               = glEvalCoord2f;
   1724 	qglEvalCoord2fv              = 	dllEvalCoord2fv              = glEvalCoord2fv;
   1725 	qglEvalMesh1                 = 	dllEvalMesh1                 = glEvalMesh1;
   1726 	qglEvalMesh2                 = 	dllEvalMesh2                 = glEvalMesh2;
   1727 	qglEvalPoint1                = 	dllEvalPoint1                = glEvalPoint1;
   1728 	qglEvalPoint2                = 	dllEvalPoint2                = glEvalPoint2;
   1729 	qglFeedbackBuffer            = 	dllFeedbackBuffer            = glFeedbackBuffer;
   1730 	qglFinish                    = 	dllFinish                    = glFinish;
   1731 	qglFlush                     = 	dllFlush                     = glFlush;
   1732 	qglFogf                      = 	dllFogf                      = glFogf;
   1733 	qglFogfv                     = 	dllFogfv                     = glFogfv;
   1734 	qglFogi                      = 	dllFogi                      = glFogi;
   1735 	qglFogiv                     = 	dllFogiv                     = glFogiv;
   1736 	qglFrontFace                 = 	dllFrontFace                 = glFrontFace;
   1737 	qglFrustum                   = 	dllFrustum                   = glFrustum;
   1738 	qglGenLists                  = 	dllGenLists                  = ( GLuint (__stdcall * )(int) ) glGenLists;
   1739 	qglGenTextures               = 	dllGenTextures               = glGenTextures;
   1740 	qglGetBooleanv               = 	dllGetBooleanv               = glGetBooleanv;
   1741 	qglGetClipPlane              = 	dllGetClipPlane              = glGetClipPlane;
   1742 	qglGetDoublev                = 	dllGetDoublev                = glGetDoublev;
   1743 	qglGetError                  = 	dllGetError                  = ( GLenum (__stdcall * )(void) ) glGetError;
   1744 	qglGetFloatv                 = 	dllGetFloatv                 = glGetFloatv;
   1745 	qglGetIntegerv               = 	dllGetIntegerv               = glGetIntegerv;
   1746 	qglGetLightfv                = 	dllGetLightfv                = glGetLightfv;
   1747 	qglGetLightiv                = 	dllGetLightiv                = glGetLightiv;
   1748 	qglGetMapdv                  = 	dllGetMapdv                  = glGetMapdv;
   1749 	qglGetMapfv                  = 	dllGetMapfv                  = glGetMapfv;
   1750 	qglGetMapiv                  = 	dllGetMapiv                  = glGetMapiv;
   1751 	qglGetMaterialfv             = 	dllGetMaterialfv             = glGetMaterialfv;
   1752 	qglGetMaterialiv             = 	dllGetMaterialiv             = glGetMaterialiv;
   1753 	qglGetPixelMapfv             = 	dllGetPixelMapfv             = glGetPixelMapfv;
   1754 	qglGetPixelMapuiv            = 	dllGetPixelMapuiv            = glGetPixelMapuiv;
   1755 	qglGetPixelMapusv            = 	dllGetPixelMapusv            = glGetPixelMapusv;
   1756 	qglGetPointerv               = 	dllGetPointerv               = glGetPointerv;
   1757 	qglGetPolygonStipple         = 	dllGetPolygonStipple         = glGetPolygonStipple;
   1758 	qglGetString                 = 	dllGetString                 = glGetString;
   1759 	qglGetTexEnvfv               = 	dllGetTexEnvfv               = glGetTexEnvfv;
   1760 	qglGetTexEnviv               = 	dllGetTexEnviv               = glGetTexEnviv;
   1761 	qglGetTexGendv               = 	dllGetTexGendv               = glGetTexGendv;
   1762 	qglGetTexGenfv               = 	dllGetTexGenfv               = glGetTexGenfv;
   1763 	qglGetTexGeniv               = 	dllGetTexGeniv               = glGetTexGeniv;
   1764 	qglGetTexImage               = 	dllGetTexImage               = glGetTexImage;
   1765 	qglGetTexLevelParameterfv    = 	dllGetTexLevelParameterfv    = glGetTexLevelParameterfv;
   1766 	qglGetTexLevelParameteriv    = 	dllGetTexLevelParameteriv    = glGetTexLevelParameteriv;
   1767 	qglGetTexParameterfv         = 	dllGetTexParameterfv         = glGetTexParameterfv;
   1768 	qglGetTexParameteriv         = 	dllGetTexParameteriv         = glGetTexParameteriv;
   1769 	qglHint                      = 	dllHint                      = glHint;
   1770 	qglIndexMask                 = 	dllIndexMask                 = glIndexMask;
   1771 	qglIndexPointer              = 	dllIndexPointer              = glIndexPointer;
   1772 	qglIndexd                    = 	dllIndexd                    = glIndexd;
   1773 	qglIndexdv                   = 	dllIndexdv                   = glIndexdv;
   1774 	qglIndexf                    = 	dllIndexf                    = glIndexf;
   1775 	qglIndexfv                   = 	dllIndexfv                   = glIndexfv;
   1776 	qglIndexi                    = 	dllIndexi                    = glIndexi;
   1777 	qglIndexiv                   = 	dllIndexiv                   = glIndexiv;
   1778 	qglIndexs                    = 	dllIndexs                    = glIndexs;
   1779 	qglIndexsv                   = 	dllIndexsv                   = glIndexsv;
   1780 	qglIndexub                   = 	dllIndexub                   = glIndexub;
   1781 	qglIndexubv                  = 	dllIndexubv                  = glIndexubv;
   1782 	qglInitNames                 = 	dllInitNames                 = glInitNames;
   1783 	qglInterleavedArrays         = 	dllInterleavedArrays         = glInterleavedArrays;
   1784 	qglIsEnabled                 = 	dllIsEnabled                 = glIsEnabled;
   1785 	qglIsList                    = 	dllIsList                    = glIsList;
   1786 	qglIsTexture                 = 	dllIsTexture                 = glIsTexture;
   1787 	qglLightModelf               = 	dllLightModelf               = glLightModelf;
   1788 	qglLightModelfv              = 	dllLightModelfv              = glLightModelfv;
   1789 	qglLightModeli               = 	dllLightModeli               = glLightModeli;
   1790 	qglLightModeliv              = 	dllLightModeliv              = glLightModeliv;
   1791 	qglLightf                    = 	dllLightf                    = glLightf;
   1792 	qglLightfv                   = 	dllLightfv                   = glLightfv;
   1793 	qglLighti                    = 	dllLighti                    = glLighti;
   1794 	qglLightiv                   = 	dllLightiv                   = glLightiv;
   1795 	qglLineStipple               = 	dllLineStipple               = glLineStipple;
   1796 	qglLineWidth                 = 	dllLineWidth                 = glLineWidth;
   1797 	qglListBase                  = 	dllListBase                  = glListBase;
   1798 	qglLoadIdentity              = 	dllLoadIdentity              = glLoadIdentity;
   1799 	qglLoadMatrixd               = 	dllLoadMatrixd               = glLoadMatrixd;
   1800 	qglLoadMatrixf               = 	dllLoadMatrixf               = glLoadMatrixf;
   1801 	qglLoadName                  = 	dllLoadName                  = glLoadName;
   1802 	qglLogicOp                   = 	dllLogicOp                   = glLogicOp;
   1803 	qglMap1d                     = 	dllMap1d                     = glMap1d;
   1804 	qglMap1f                     = 	dllMap1f                     = glMap1f;
   1805 	qglMap2d                     = 	dllMap2d                     = glMap2d;
   1806 	qglMap2f                     = 	dllMap2f                     = glMap2f;
   1807 	qglMapGrid1d                 = 	dllMapGrid1d                 = glMapGrid1d;
   1808 	qglMapGrid1f                 = 	dllMapGrid1f                 = glMapGrid1f;
   1809 	qglMapGrid2d                 = 	dllMapGrid2d                 = glMapGrid2d;
   1810 	qglMapGrid2f                 = 	dllMapGrid2f                 = glMapGrid2f;
   1811 	qglMaterialf                 = 	dllMaterialf                 = glMaterialf;
   1812 	qglMaterialfv                = 	dllMaterialfv                = glMaterialfv;
   1813 	qglMateriali                 = 	dllMateriali                 = glMateriali;
   1814 	qglMaterialiv                = 	dllMaterialiv                = glMaterialiv;
   1815 	qglMatrixMode                = 	dllMatrixMode                = glMatrixMode;
   1816 	qglMultMatrixd               = 	dllMultMatrixd               = glMultMatrixd;
   1817 	qglMultMatrixf               = 	dllMultMatrixf               = glMultMatrixf;
   1818 	qglNewList                   = 	dllNewList                   = glNewList;
   1819 	qglNormal3b                  = 	dllNormal3b                  = glNormal3b;
   1820 	qglNormal3bv                 = 	dllNormal3bv                 = glNormal3bv;
   1821 	qglNormal3d                  = 	dllNormal3d                  = glNormal3d;
   1822 	qglNormal3dv                 = 	dllNormal3dv                 = glNormal3dv;
   1823 	qglNormal3f                  = 	dllNormal3f                  = glNormal3f;
   1824 	qglNormal3fv                 = 	dllNormal3fv                 = glNormal3fv;
   1825 	qglNormal3i                  = 	dllNormal3i                  = glNormal3i;
   1826 	qglNormal3iv                 = 	dllNormal3iv                 = glNormal3iv;
   1827 	qglNormal3s                  = 	dllNormal3s                  = glNormal3s;
   1828 	qglNormal3sv                 = 	dllNormal3sv                 = glNormal3sv;
   1829 	qglNormalPointer             = 	dllNormalPointer             = glNormalPointer;
   1830 	qglOrtho                     = 	dllOrtho                     = glOrtho;
   1831 	qglPassThrough               = 	dllPassThrough               = glPassThrough;
   1832 	qglPixelMapfv                = 	dllPixelMapfv                = glPixelMapfv;
   1833 	qglPixelMapuiv               = 	dllPixelMapuiv               = glPixelMapuiv;
   1834 	qglPixelMapusv               = 	dllPixelMapusv               = glPixelMapusv;
   1835 	qglPixelStoref               = 	dllPixelStoref               = glPixelStoref;
   1836 	qglPixelStorei               = 	dllPixelStorei               = glPixelStorei;
   1837 	qglPixelTransferf            = 	dllPixelTransferf            = glPixelTransferf;
   1838 	qglPixelTransferi            = 	dllPixelTransferi            = glPixelTransferi;
   1839 	qglPixelZoom                 = 	dllPixelZoom                 = glPixelZoom;
   1840 	qglPointSize                 = 	dllPointSize                 = glPointSize;
   1841 	qglPolygonMode               = 	dllPolygonMode               = glPolygonMode;
   1842 	qglPolygonOffset             = 	dllPolygonOffset             = glPolygonOffset;
   1843 	qglPolygonStipple            = 	dllPolygonStipple            = glPolygonStipple;
   1844 	qglPopAttrib                 = 	dllPopAttrib                 = glPopAttrib;
   1845 	qglPopClientAttrib           = 	dllPopClientAttrib           = glPopClientAttrib;
   1846 	qglPopMatrix                 = 	dllPopMatrix                 = glPopMatrix;
   1847 	qglPopName                   = 	dllPopName                   = glPopName;
   1848 	qglPrioritizeTextures        = 	dllPrioritizeTextures        = glPrioritizeTextures;
   1849 	qglPushAttrib                = 	dllPushAttrib                = glPushAttrib;
   1850 	qglPushClientAttrib          = 	dllPushClientAttrib          = glPushClientAttrib;
   1851 	qglPushMatrix                = 	dllPushMatrix                = glPushMatrix;
   1852 	qglPushName                  = 	dllPushName                  = glPushName;
   1853 	qglRasterPos2d               = 	dllRasterPos2d               = glRasterPos2d;
   1854 	qglRasterPos2dv              = 	dllRasterPos2dv              = glRasterPos2dv;
   1855 	qglRasterPos2f               = 	dllRasterPos2f               = glRasterPos2f;
   1856 	qglRasterPos2fv              = 	dllRasterPos2fv              = glRasterPos2fv;
   1857 	qglRasterPos2i               = 	dllRasterPos2i               = glRasterPos2i;
   1858 	qglRasterPos2iv              = 	dllRasterPos2iv              = glRasterPos2iv;
   1859 	qglRasterPos2s               = 	dllRasterPos2s               = glRasterPos2s;
   1860 	qglRasterPos2sv              = 	dllRasterPos2sv              = glRasterPos2sv;
   1861 	qglRasterPos3d               = 	dllRasterPos3d               = glRasterPos3d;
   1862 	qglRasterPos3dv              = 	dllRasterPos3dv              = glRasterPos3dv;
   1863 	qglRasterPos3f               = 	dllRasterPos3f               = glRasterPos3f;
   1864 	qglRasterPos3fv              = 	dllRasterPos3fv              = glRasterPos3fv;
   1865 	qglRasterPos3i               = 	dllRasterPos3i               = glRasterPos3i;
   1866 	qglRasterPos3iv              = 	dllRasterPos3iv              = glRasterPos3iv;
   1867 	qglRasterPos3s               = 	dllRasterPos3s               = glRasterPos3s;
   1868 	qglRasterPos3sv              = 	dllRasterPos3sv              = glRasterPos3sv;
   1869 	qglRasterPos4d               = 	dllRasterPos4d               = glRasterPos4d;
   1870 	qglRasterPos4dv              = 	dllRasterPos4dv              = glRasterPos4dv;
   1871 	qglRasterPos4f               = 	dllRasterPos4f               = glRasterPos4f;
   1872 	qglRasterPos4fv              = 	dllRasterPos4fv              = glRasterPos4fv;
   1873 	qglRasterPos4i               = 	dllRasterPos4i               = glRasterPos4i;
   1874 	qglRasterPos4iv              = 	dllRasterPos4iv              = glRasterPos4iv;
   1875 	qglRasterPos4s               = 	dllRasterPos4s               = glRasterPos4s;
   1876 	qglRasterPos4sv              = 	dllRasterPos4sv              = glRasterPos4sv;
   1877 	qglReadBuffer                = 	dllReadBuffer                = glReadBuffer;
   1878 	qglReadPixels                = 	dllReadPixels                = glReadPixels;
   1879 	qglRectd                     = 	dllRectd                     = glRectd;
   1880 	qglRectdv                    = 	dllRectdv                    = glRectdv;
   1881 	qglRectf                     = 	dllRectf                     = glRectf;
   1882 	qglRectfv                    = 	dllRectfv                    = glRectfv;
   1883 	qglRecti                     = 	dllRecti                     = glRecti;
   1884 	qglRectiv                    = 	dllRectiv                    = glRectiv;
   1885 	qglRects                     = 	dllRects                     = glRects;
   1886 	qglRectsv                    = 	dllRectsv                    = glRectsv;
   1887 	qglRenderMode                = 	dllRenderMode                = glRenderMode;
   1888 	qglRotated                   = 	dllRotated                   = glRotated;
   1889 	qglRotatef                   = 	dllRotatef                   = glRotatef;
   1890 	qglScaled                    = 	dllScaled                    = glScaled;
   1891 	qglScalef                    = 	dllScalef                    = glScalef;
   1892 	qglScissor                   = 	dllScissor                   = glScissor;
   1893 	qglSelectBuffer              = 	dllSelectBuffer              = glSelectBuffer;
   1894 	qglShadeModel                = 	dllShadeModel                = glShadeModel;
   1895 	qglStencilFunc               = 	dllStencilFunc               = glStencilFunc;
   1896 	qglStencilMask               = 	dllStencilMask               = glStencilMask;
   1897 	qglStencilOp                 = 	dllStencilOp                 = glStencilOp;
   1898 	qglTexCoord1d                = 	dllTexCoord1d                = glTexCoord1d;
   1899 	qglTexCoord1dv               = 	dllTexCoord1dv               = glTexCoord1dv;
   1900 	qglTexCoord1f                = 	dllTexCoord1f                = glTexCoord1f;
   1901 	qglTexCoord1fv               = 	dllTexCoord1fv               = glTexCoord1fv;
   1902 	qglTexCoord1i                = 	dllTexCoord1i                = glTexCoord1i;
   1903 	qglTexCoord1iv               = 	dllTexCoord1iv               = glTexCoord1iv;
   1904 	qglTexCoord1s                = 	dllTexCoord1s                = glTexCoord1s;
   1905 	qglTexCoord1sv               = 	dllTexCoord1sv               = glTexCoord1sv;
   1906 	qglTexCoord2d                = 	dllTexCoord2d                = glTexCoord2d;
   1907 	qglTexCoord2dv               = 	dllTexCoord2dv               = glTexCoord2dv;
   1908 	qglTexCoord2f                = 	dllTexCoord2f                = glTexCoord2f;
   1909 	qglTexCoord2fv               = 	dllTexCoord2fv               = glTexCoord2fv;
   1910 	qglTexCoord2i                = 	dllTexCoord2i                = glTexCoord2i;
   1911 	qglTexCoord2iv               = 	dllTexCoord2iv               = glTexCoord2iv;
   1912 	qglTexCoord2s                = 	dllTexCoord2s                = glTexCoord2s;
   1913 	qglTexCoord2sv               = 	dllTexCoord2sv               = glTexCoord2sv;
   1914 	qglTexCoord3d                = 	dllTexCoord3d                = glTexCoord3d;
   1915 	qglTexCoord3dv               = 	dllTexCoord3dv               = glTexCoord3dv;
   1916 	qglTexCoord3f                = 	dllTexCoord3f                = glTexCoord3f;
   1917 	qglTexCoord3fv               = 	dllTexCoord3fv               = glTexCoord3fv;
   1918 	qglTexCoord3i                = 	dllTexCoord3i                = glTexCoord3i;
   1919 	qglTexCoord3iv               = 	dllTexCoord3iv               = glTexCoord3iv;
   1920 	qglTexCoord3s                = 	dllTexCoord3s                = glTexCoord3s;
   1921 	qglTexCoord3sv               = 	dllTexCoord3sv               = glTexCoord3sv;
   1922 	qglTexCoord4d                = 	dllTexCoord4d                = glTexCoord4d;
   1923 	qglTexCoord4dv               = 	dllTexCoord4dv               = glTexCoord4dv;
   1924 	qglTexCoord4f                = 	dllTexCoord4f                = glTexCoord4f;
   1925 	qglTexCoord4fv               = 	dllTexCoord4fv               = glTexCoord4fv;
   1926 	qglTexCoord4i                = 	dllTexCoord4i                = glTexCoord4i;
   1927 	qglTexCoord4iv               = 	dllTexCoord4iv               = glTexCoord4iv;
   1928 	qglTexCoord4s                = 	dllTexCoord4s                = glTexCoord4s;
   1929 	qglTexCoord4sv               = 	dllTexCoord4sv               = glTexCoord4sv;
   1930 	qglTexCoordPointer           = 	dllTexCoordPointer           = glTexCoordPointer;
   1931 	qglTexEnvf                   = 	dllTexEnvf                   = glTexEnvf;
   1932 	qglTexEnvfv                  = 	dllTexEnvfv                  = glTexEnvfv;
   1933 	qglTexEnvi                   = 	dllTexEnvi                   = glTexEnvi;
   1934 	qglTexEnviv                  = 	dllTexEnviv                  = glTexEnviv;
   1935 	qglTexGend                   = 	dllTexGend                   = glTexGend;
   1936 	qglTexGendv                  = 	dllTexGendv                  = glTexGendv;
   1937 	qglTexGenf                   = 	dllTexGenf                   = glTexGenf;
   1938 	qglTexGenfv                  = 	dllTexGenfv                  = glTexGenfv;
   1939 	qglTexGeni                   = 	dllTexGeni                   = glTexGeni;
   1940 	qglTexGeniv                  = 	dllTexGeniv                  = glTexGeniv;
   1941 	qglTexImage1D                = 	dllTexImage1D                = glTexImage1D;
   1942 	qglTexImage2D                = 	dllTexImage2D                = glTexImage2D;
   1943 	qglTexParameterf             = 	dllTexParameterf             = glTexParameterf;
   1944 	qglTexParameterfv            = 	dllTexParameterfv            = glTexParameterfv;
   1945 	qglTexParameteri             = 	dllTexParameteri             = glTexParameteri;
   1946 	qglTexParameteriv            = 	dllTexParameteriv            = glTexParameteriv;
   1947 	qglTexSubImage1D             = 	dllTexSubImage1D             = glTexSubImage1D;
   1948 	qglTexSubImage2D             = 	dllTexSubImage2D             = glTexSubImage2D;
   1949 	qglTranslated                = 	dllTranslated                = glTranslated;
   1950 	qglTranslatef                = 	dllTranslatef                = glTranslatef;
   1951 	qglVertex2d                  = 	dllVertex2d                  = glVertex2d;
   1952 	qglVertex2dv                 = 	dllVertex2dv                 = glVertex2dv;
   1953 	qglVertex2f                  = 	dllVertex2f                  = glVertex2f;
   1954 	qglVertex2fv                 = 	dllVertex2fv                 = glVertex2fv;
   1955 	qglVertex2i                  = 	dllVertex2i                  = glVertex2i;
   1956 	qglVertex2iv                 = 	dllVertex2iv                 = glVertex2iv;
   1957 	qglVertex2s                  = 	dllVertex2s                  = glVertex2s;
   1958 	qglVertex2sv                 = 	dllVertex2sv                 = glVertex2sv;
   1959 	qglVertex3d                  = 	dllVertex3d                  = glVertex3d;
   1960 	qglVertex3dv                 = 	dllVertex3dv                 = glVertex3dv;
   1961 	qglVertex3f                  = 	dllVertex3f                  = glVertex3f;
   1962 	qglVertex3fv                 = 	dllVertex3fv                 = glVertex3fv;
   1963 	qglVertex3i                  = 	dllVertex3i                  = glVertex3i;
   1964 	qglVertex3iv                 = 	dllVertex3iv                 = glVertex3iv;
   1965 	qglVertex3s                  = 	dllVertex3s                  = glVertex3s;
   1966 	qglVertex3sv                 = 	dllVertex3sv                 = glVertex3sv;
   1967 	qglVertex4d                  = 	dllVertex4d                  = glVertex4d;
   1968 	qglVertex4dv                 = 	dllVertex4dv                 = glVertex4dv;
   1969 	qglVertex4f                  = 	dllVertex4f                  = glVertex4f;
   1970 	qglVertex4fv                 = 	dllVertex4fv                 = glVertex4fv;
   1971 	qglVertex4i                  = 	dllVertex4i                  = glVertex4i;
   1972 	qglVertex4iv                 = 	dllVertex4iv                 = glVertex4iv;
   1973 	qglVertex4s                  = 	dllVertex4s                  = glVertex4s;
   1974 	qglVertex4sv                 = 	dllVertex4sv                 = glVertex4sv;
   1975 	qglVertexPointer             = 	dllVertexPointer             = glVertexPointer;
   1976 	qglViewport                  = 	dllViewport                  = glViewport;
   1977 
   1978 	qwglCopyContext              = wglCopyContext;
   1979 	qwglCreateContext            = wglCreateContext;
   1980 	qwglCreateLayerContext       = wglCreateLayerContext;
   1981 	qwglDeleteContext            = wglDeleteContext;
   1982 	qwglDescribeLayerPlane       = wglDescribeLayerPlane;
   1983 	qwglGetCurrentContext        = wglGetCurrentContext;
   1984 	qwglGetCurrentDC             = wglGetCurrentDC;
   1985 	qwglGetLayerPaletteEntries   = wglGetLayerPaletteEntries;
   1986 	qwglGetProcAddress           = wglGetProcAddress;
   1987 	qwglMakeCurrent              = wglMakeCurrent;
   1988 	qwglRealizeLayerPalette      = wglRealizeLayerPalette;
   1989 	qwglSetLayerPaletteEntries   = wglSetLayerPaletteEntries;
   1990 	qwglShareLists               = wglShareLists;
   1991 	qwglSwapLayerBuffers         = wglSwapLayerBuffers;
   1992 	qwglUseFontBitmaps           = wglUseFontBitmapsA;
   1993 	qwglUseFontOutlines          = wglUseFontOutlinesA;
   1994 
   1995 	qwglChoosePixelFormat        = ChoosePixelFormat;
   1996 	qwglDescribePixelFormat      = DescribePixelFormat;
   1997 	qwglGetPixelFormat           = GetPixelFormat;
   1998 	qwglSetPixelFormat           = SetPixelFormat;
   1999 	qwglSwapBuffers              = SwapBuffers;
   2000 
   2001 	return true;
   2002 }
   2003 
   2004 /*
   2005 ==================
   2006 GLimp_EnableLogging
   2007 ==================
   2008 */
   2009 void GLimp_EnableLogging( bool enable ) {
   2010 
   2011 }