Quake-III-Arena

Quake III Arena GPL Source Release
Log | Files | Refs

QGL_WIN.C (64825B)


      1 /*
      2 ===========================================================================
      3 Copyright (C) 1999-2005 Id Software, Inc.
      4 
      5 This file is part of Quake III Arena source code.
      6 
      7 Quake III Arena source code is free software; you can redistribute it
      8 and/or modify it under the terms of the GNU General Public License as
      9 published by the Free Software Foundation; either version 2 of the License,
     10 or (at your option) any later version.
     11 
     12 Quake III Arena source code is distributed in the hope that it will be
     13 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 GNU General Public License for more details.
     16 
     17 You should have received a copy of the GNU General Public License
     18 along with Foobar; if not, write to the Free Software
     19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
     20 ===========================================================================
     21 */
     22 /*
     23 ** QGL_WIN.C
     24 **
     25 ** This file implements the operating system binding of GL to QGL function
     26 ** pointers.  When doing a port of Quake2 you must implement the following
     27 ** two functions:
     28 **
     29 ** QGL_Init() - loads libraries, assigns function pointers, etc.
     30 ** QGL_Shutdown() - unloads libraries, NULLs function pointers
     31 */
     32 #include "qgl.h"
     33 #include <float.h>
     34 
     35 HMODULE g_hGLDLL;
     36 HMODULE g_hGLUDLL;
     37 
     38 #	pragma warning (disable : 4113 4133 4047 )
     39 
     40 int   ( WINAPI * qwglChoosePixelFormat )(HDC, CONST PIXELFORMATDESCRIPTOR *);
     41 int   ( WINAPI * qwglDescribePixelFormat) (HDC, int, UINT, LPPIXELFORMATDESCRIPTOR);
     42 int   ( WINAPI * qwglGetPixelFormat)(HDC);
     43 BOOL  ( WINAPI * qwglSetPixelFormat)(HDC, int, CONST PIXELFORMATDESCRIPTOR *);
     44 BOOL  ( WINAPI * qwglSwapBuffers)(HDC);
     45 
     46 BOOL  ( WINAPI * qwglCopyContext)(HGLRC, HGLRC, UINT);
     47 HGLRC ( WINAPI * qwglCreateContext)(HDC);
     48 HGLRC ( WINAPI * qwglCreateLayerContext)(HDC, int);
     49 BOOL  ( WINAPI * qwglDeleteContext)(HGLRC);
     50 HGLRC ( WINAPI * qwglGetCurrentContext)(VOID);
     51 HDC   ( WINAPI * qwglGetCurrentDC)(VOID);
     52 PROC  ( WINAPI * qwglGetProcAddress)(LPCSTR);
     53 BOOL  ( WINAPI * qwglMakeCurrent)(HDC, HGLRC);
     54 BOOL  ( WINAPI * qwglShareLists)(HGLRC, HGLRC);
     55 BOOL  ( WINAPI * qwglUseFontBitmaps)(HDC, DWORD, DWORD, DWORD);
     56 
     57 BOOL  ( WINAPI * qwglUseFontOutlines)(HDC, DWORD, DWORD, DWORD, FLOAT,
     58                                            FLOAT, int, LPGLYPHMETRICSFLOAT);
     59 
     60 BOOL ( WINAPI * qwglDescribeLayerPlane)(HDC, int, int, UINT,
     61                                             LPLAYERPLANEDESCRIPTOR);
     62 int  ( WINAPI * qwglSetLayerPaletteEntries)(HDC, int, int, int,
     63                                                 CONST COLORREF *);
     64 int  ( WINAPI * qwglGetLayerPaletteEntries)(HDC, int, int, int,
     65                                                 COLORREF *);
     66 BOOL ( WINAPI * qwglRealizeLayerPalette)(HDC, int, BOOL);
     67 BOOL ( WINAPI * qwglSwapLayerBuffers)(HDC, UINT);
     68 
     69 void ( APIENTRY * qglAccum )(GLenum op, GLfloat value);
     70 void ( APIENTRY * qglAlphaFunc )(GLenum func, GLclampf ref);
     71 GLboolean ( APIENTRY * qglAreTexturesResident )(GLsizei n, const GLuint *textures, GLboolean *residences);
     72 void ( APIENTRY * qglArrayElement )(GLint i);
     73 void ( APIENTRY * qglBegin )(GLenum mode);
     74 void ( APIENTRY * qglBindTexture )(GLenum target, GLuint texture);
     75 void ( APIENTRY * qglBitmap )(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
     76 void ( APIENTRY * qglBlendFunc )(GLenum sfactor, GLenum dfactor);
     77 void ( APIENTRY * qglCallList )(GLuint list);
     78 void ( APIENTRY * qglCallLists )(GLsizei n, GLenum type, const GLvoid *lists);
     79 void ( APIENTRY * qglClear )(GLbitfield mask);
     80 void ( APIENTRY * qglClearAccum )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
     81 void ( APIENTRY * qglClearColor )(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
     82 void ( APIENTRY * qglClearDepth )(GLclampd depth);
     83 void ( APIENTRY * qglClearIndex )(GLfloat c);
     84 void ( APIENTRY * qglClearStencil )(GLint s);
     85 void ( APIENTRY * qglClipPlane )(GLenum plane, const GLdouble *equation);
     86 void ( APIENTRY * qglColor3b )(GLbyte red, GLbyte green, GLbyte blue);
     87 void ( APIENTRY * qglColor3bv )(const GLbyte *v);
     88 void ( APIENTRY * qglColor3d )(GLdouble red, GLdouble green, GLdouble blue);
     89 void ( APIENTRY * qglColor3dv )(const GLdouble *v);
     90 void ( APIENTRY * qglColor3f )(GLfloat red, GLfloat green, GLfloat blue);
     91 void ( APIENTRY * qglColor3fv )(const GLfloat *v);
     92 void ( APIENTRY * qglColor3i )(GLint red, GLint green, GLint blue);
     93 void ( APIENTRY * qglColor3iv )(const GLint *v);
     94 void ( APIENTRY * qglColor3s )(GLshort red, GLshort green, GLshort blue);
     95 void ( APIENTRY * qglColor3sv )(const GLshort *v);
     96 void ( APIENTRY * qglColor3ub )(GLubyte red, GLubyte green, GLubyte blue);
     97 void ( APIENTRY * qglColor3ubv )(const GLubyte *v);
     98 void ( APIENTRY * qglColor3ui )(GLuint red, GLuint green, GLuint blue);
     99 void ( APIENTRY * qglColor3uiv )(const GLuint *v);
    100 void ( APIENTRY * qglColor3us )(GLushort red, GLushort green, GLushort blue);
    101 void ( APIENTRY * qglColor3usv )(const GLushort *v);
    102 void ( APIENTRY * qglColor4b )(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
    103 void ( APIENTRY * qglColor4bv )(const GLbyte *v);
    104 void ( APIENTRY * qglColor4d )(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
    105 void ( APIENTRY * qglColor4dv )(const GLdouble *v);
    106 void ( APIENTRY * qglColor4f )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
    107 void ( APIENTRY * qglColor4fv )(const GLfloat *v);
    108 void ( APIENTRY * qglColor4i )(GLint red, GLint green, GLint blue, GLint alpha);
    109 void ( APIENTRY * qglColor4iv )(const GLint *v);
    110 void ( APIENTRY * qglColor4s )(GLshort red, GLshort green, GLshort blue, GLshort alpha);
    111 void ( APIENTRY * qglColor4sv )(const GLshort *v);
    112 void ( APIENTRY * qglColor4ub )(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
    113 void ( APIENTRY * qglColor4ubv )(const GLubyte *v);
    114 void ( APIENTRY * qglColor4ui )(GLuint red, GLuint green, GLuint blue, GLuint alpha);
    115 void ( APIENTRY * qglColor4uiv )(const GLuint *v);
    116 void ( APIENTRY * qglColor4us )(GLushort red, GLushort green, GLushort blue, GLushort alpha);
    117 void ( APIENTRY * qglColor4usv )(const GLushort *v);
    118 void ( APIENTRY * qglColorMask )(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
    119 void ( APIENTRY * qglColorMaterial )(GLenum face, GLenum mode);
    120 void ( APIENTRY * qglColorPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    121 void ( APIENTRY * qglCopyPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
    122 void ( APIENTRY * qglCopyTexImage1D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
    123 void ( APIENTRY * qglCopyTexImage2D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
    124 void ( APIENTRY * qglCopyTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
    125 void ( APIENTRY * qglCopyTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
    126 void ( APIENTRY * qglCullFace )(GLenum mode);
    127 void ( APIENTRY * qglDeleteLists )(GLuint list, GLsizei range);
    128 void ( APIENTRY * qglDeleteTextures )(GLsizei n, const GLuint *textures);
    129 void ( APIENTRY * qglDepthFunc )(GLenum func);
    130 void ( APIENTRY * qglDepthMask )(GLboolean flag);
    131 void ( APIENTRY * qglDepthRange )(GLclampd zNear, GLclampd zFar);
    132 void ( APIENTRY * qglDisable )(GLenum cap);
    133 void ( APIENTRY * qglDisableClientState )(GLenum array);
    134 void ( APIENTRY * qglDrawArrays )(GLenum mode, GLint first, GLsizei count);
    135 void ( APIENTRY * qglDrawBuffer )(GLenum mode);
    136 void ( APIENTRY * qglDrawElements )(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
    137 void ( APIENTRY * qglDrawPixels )(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
    138 void ( APIENTRY * qglEdgeFlag )(GLboolean flag);
    139 void ( APIENTRY * qglEdgeFlagPointer )(GLsizei stride, const GLvoid *pointer);
    140 void ( APIENTRY * qglEdgeFlagv )(const GLboolean *flag);
    141 void ( APIENTRY * qglEnable )(GLenum cap);
    142 void ( APIENTRY * qglEnableClientState )(GLenum array);
    143 void ( APIENTRY * qglEnd )(void);
    144 void ( APIENTRY * qglEndList )(void);
    145 void ( APIENTRY * qglEvalCoord1d )(GLdouble u);
    146 void ( APIENTRY * qglEvalCoord1dv )(const GLdouble *u);
    147 void ( APIENTRY * qglEvalCoord1f )(GLfloat u);
    148 void ( APIENTRY * qglEvalCoord1fv )(const GLfloat *u);
    149 void ( APIENTRY * qglEvalCoord2d )(GLdouble u, GLdouble v);
    150 void ( APIENTRY * qglEvalCoord2dv )(const GLdouble *u);
    151 void ( APIENTRY * qglEvalCoord2f )(GLfloat u, GLfloat v);
    152 void ( APIENTRY * qglEvalCoord2fv )(const GLfloat *u);
    153 void ( APIENTRY * qglEvalMesh1 )(GLenum mode, GLint i1, GLint i2);
    154 void ( APIENTRY * qglEvalMesh2 )(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
    155 void ( APIENTRY * qglEvalPoint1 )(GLint i);
    156 void ( APIENTRY * qglEvalPoint2 )(GLint i, GLint j);
    157 void ( APIENTRY * qglFeedbackBuffer )(GLsizei size, GLenum type, GLfloat *buffer);
    158 void ( APIENTRY * qglFinish )(void);
    159 void ( APIENTRY * qglFlush )(void);
    160 void ( APIENTRY * qglFogf )(GLenum pname, GLfloat param);
    161 void ( APIENTRY * qglFogfv )(GLenum pname, const GLfloat *params);
    162 void ( APIENTRY * qglFogi )(GLenum pname, GLint param);
    163 void ( APIENTRY * qglFogiv )(GLenum pname, const GLint *params);
    164 void ( APIENTRY * qglFrontFace )(GLenum mode);
    165 void ( APIENTRY * qglFrustum )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
    166 GLuint ( APIENTRY * qglGenLists )(GLsizei range);
    167 void ( APIENTRY * qglGenTextures )(GLsizei n, GLuint *textures);
    168 void ( APIENTRY * qglGetBooleanv )(GLenum pname, GLboolean *params);
    169 void ( APIENTRY * qglGetClipPlane )(GLenum plane, GLdouble *equation);
    170 void ( APIENTRY * qglGetDoublev )(GLenum pname, GLdouble *params);
    171 GLenum ( APIENTRY * qglGetError )(void);
    172 void ( APIENTRY * qglGetFloatv )(GLenum pname, GLfloat *params);
    173 void ( APIENTRY * qglGetIntegerv )(GLenum pname, GLint *params);
    174 void ( APIENTRY * qglGetLightfv )(GLenum light, GLenum pname, GLfloat *params);
    175 void ( APIENTRY * qglGetLightiv )(GLenum light, GLenum pname, GLint *params);
    176 void ( APIENTRY * qglGetMapdv )(GLenum target, GLenum query, GLdouble *v);
    177 void ( APIENTRY * qglGetMapfv )(GLenum target, GLenum query, GLfloat *v);
    178 void ( APIENTRY * qglGetMapiv )(GLenum target, GLenum query, GLint *v);
    179 void ( APIENTRY * qglGetMaterialfv )(GLenum face, GLenum pname, GLfloat *params);
    180 void ( APIENTRY * qglGetMaterialiv )(GLenum face, GLenum pname, GLint *params);
    181 void ( APIENTRY * qglGetPixelMapfv )(GLenum map, GLfloat *values);
    182 void ( APIENTRY * qglGetPixelMapuiv )(GLenum map, GLuint *values);
    183 void ( APIENTRY * qglGetPixelMapusv )(GLenum map, GLushort *values);
    184 void ( APIENTRY * qglGetPointerv )(GLenum pname, GLvoid* *params);
    185 void ( APIENTRY * qglGetPolygonStipple )(GLubyte *mask);
    186 const GLubyte * ( APIENTRY * qglGetString )(GLenum name);
    187 void ( APIENTRY * qglGetTexEnvfv )(GLenum target, GLenum pname, GLfloat *params);
    188 void ( APIENTRY * qglGetTexEnviv )(GLenum target, GLenum pname, GLint *params);
    189 void ( APIENTRY * qglGetTexGendv )(GLenum coord, GLenum pname, GLdouble *params);
    190 void ( APIENTRY * qglGetTexGenfv )(GLenum coord, GLenum pname, GLfloat *params);
    191 void ( APIENTRY * qglGetTexGeniv )(GLenum coord, GLenum pname, GLint *params);
    192 void ( APIENTRY * qglGetTexImage )(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
    193 void ( APIENTRY * qglGetTexLevelParameterfv )(GLenum target, GLint level, GLenum pname, GLfloat *params);
    194 void ( APIENTRY * qglGetTexLevelParameteriv )(GLenum target, GLint level, GLenum pname, GLint *params);
    195 void ( APIENTRY * qglGetTexParameterfv )(GLenum target, GLenum pname, GLfloat *params);
    196 void ( APIENTRY * qglGetTexParameteriv )(GLenum target, GLenum pname, GLint *params);
    197 void ( APIENTRY * qglHint )(GLenum target, GLenum mode);
    198 void ( APIENTRY * qglIndexMask )(GLuint mask);
    199 void ( APIENTRY * qglIndexPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);
    200 void ( APIENTRY * qglIndexd )(GLdouble c);
    201 void ( APIENTRY * qglIndexdv )(const GLdouble *c);
    202 void ( APIENTRY * qglIndexf )(GLfloat c);
    203 void ( APIENTRY * qglIndexfv )(const GLfloat *c);
    204 void ( APIENTRY * qglIndexi )(GLint c);
    205 void ( APIENTRY * qglIndexiv )(const GLint *c);
    206 void ( APIENTRY * qglIndexs )(GLshort c);
    207 void ( APIENTRY * qglIndexsv )(const GLshort *c);
    208 void ( APIENTRY * qglIndexub )(GLubyte c);
    209 void ( APIENTRY * qglIndexubv )(const GLubyte *c);
    210 void ( APIENTRY * qglInitNames )(void);
    211 void ( APIENTRY * qglInterleavedArrays )(GLenum format, GLsizei stride, const GLvoid *pointer);
    212 GLboolean ( APIENTRY * qglIsEnabled )(GLenum cap);
    213 GLboolean ( APIENTRY * qglIsList )(GLuint list);
    214 GLboolean ( APIENTRY * qglIsTexture )(GLuint texture);
    215 void ( APIENTRY * qglLightModelf )(GLenum pname, GLfloat param);
    216 void ( APIENTRY * qglLightModelfv )(GLenum pname, const GLfloat *params);
    217 void ( APIENTRY * qglLightModeli )(GLenum pname, GLint param);
    218 void ( APIENTRY * qglLightModeliv )(GLenum pname, const GLint *params);
    219 void ( APIENTRY * qglLightf )(GLenum light, GLenum pname, GLfloat param);
    220 void ( APIENTRY * qglLightfv )(GLenum light, GLenum pname, const GLfloat *params);
    221 void ( APIENTRY * qglLighti )(GLenum light, GLenum pname, GLint param);
    222 void ( APIENTRY * qglLightiv )(GLenum light, GLenum pname, const GLint *params);
    223 void ( APIENTRY * qglLineStipple )(GLint factor, GLushort pattern);
    224 void ( APIENTRY * qglLineWidth )(GLfloat width);
    225 void ( APIENTRY * qglListBase )(GLuint base);
    226 void ( APIENTRY * qglLoadIdentity )(void);
    227 void ( APIENTRY * qglLoadMatrixd )(const GLdouble *m);
    228 void ( APIENTRY * qglLoadMatrixf )(const GLfloat *m);
    229 void ( APIENTRY * qglLoadName )(GLuint name);
    230 void ( APIENTRY * qglLogicOp )(GLenum opcode);
    231 void ( APIENTRY * qglMap1d )(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
    232 void ( APIENTRY * qglMap1f )(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
    233 void ( APIENTRY * qglMap2d )(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
    234 void ( APIENTRY * qglMap2f )(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
    235 void ( APIENTRY * qglMapGrid1d )(GLint un, GLdouble u1, GLdouble u2);
    236 void ( APIENTRY * qglMapGrid1f )(GLint un, GLfloat u1, GLfloat u2);
    237 void ( APIENTRY * qglMapGrid2d )(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
    238 void ( APIENTRY * qglMapGrid2f )(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
    239 void ( APIENTRY * qglMaterialf )(GLenum face, GLenum pname, GLfloat param);
    240 void ( APIENTRY * qglMaterialfv )(GLenum face, GLenum pname, const GLfloat *params);
    241 void ( APIENTRY * qglMateriali )(GLenum face, GLenum pname, GLint param);
    242 void ( APIENTRY * qglMaterialiv )(GLenum face, GLenum pname, const GLint *params);
    243 void ( APIENTRY * qglMatrixMode )(GLenum mode);
    244 void ( APIENTRY * qglMultMatrixd )(const GLdouble *m);
    245 void ( APIENTRY * qglMultMatrixf )(const GLfloat *m);
    246 void ( APIENTRY * qglNewList )(GLuint list, GLenum mode);
    247 void ( APIENTRY * qglNormal3b )(GLbyte nx, GLbyte ny, GLbyte nz);
    248 void ( APIENTRY * qglNormal3bv )(const GLbyte *v);
    249 void ( APIENTRY * qglNormal3d )(GLdouble nx, GLdouble ny, GLdouble nz);
    250 void ( APIENTRY * qglNormal3dv )(const GLdouble *v);
    251 void ( APIENTRY * qglNormal3f )(GLfloat nx, GLfloat ny, GLfloat nz);
    252 void ( APIENTRY * qglNormal3fv )(const GLfloat *v);
    253 void ( APIENTRY * qglNormal3i )(GLint nx, GLint ny, GLint nz);
    254 void ( APIENTRY * qglNormal3iv )(const GLint *v);
    255 void ( APIENTRY * qglNormal3s )(GLshort nx, GLshort ny, GLshort nz);
    256 void ( APIENTRY * qglNormal3sv )(const GLshort *v);
    257 void ( APIENTRY * qglNormalPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);
    258 void ( APIENTRY * qglOrtho )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
    259 void ( APIENTRY * qglPassThrough )(GLfloat token);
    260 void ( APIENTRY * qglPixelMapfv )(GLenum map, GLsizei mapsize, const GLfloat *values);
    261 void ( APIENTRY * qglPixelMapuiv )(GLenum map, GLsizei mapsize, const GLuint *values);
    262 void ( APIENTRY * qglPixelMapusv )(GLenum map, GLsizei mapsize, const GLushort *values);
    263 void ( APIENTRY * qglPixelStoref )(GLenum pname, GLfloat param);
    264 void ( APIENTRY * qglPixelStorei )(GLenum pname, GLint param);
    265 void ( APIENTRY * qglPixelTransferf )(GLenum pname, GLfloat param);
    266 void ( APIENTRY * qglPixelTransferi )(GLenum pname, GLint param);
    267 void ( APIENTRY * qglPixelZoom )(GLfloat xfactor, GLfloat yfactor);
    268 void ( APIENTRY * qglPointSize )(GLfloat size);
    269 void ( APIENTRY * qglPolygonMode )(GLenum face, GLenum mode);
    270 void ( APIENTRY * qglPolygonOffset )(GLfloat factor, GLfloat units);
    271 void ( APIENTRY * qglPolygonStipple )(const GLubyte *mask);
    272 void ( APIENTRY * qglPopAttrib )(void);
    273 void ( APIENTRY * qglPopClientAttrib )(void);
    274 void ( APIENTRY * qglPopMatrix )(void);
    275 void ( APIENTRY * qglPopName )(void);
    276 void ( APIENTRY * qglPrioritizeTextures )(GLsizei n, const GLuint *textures, const GLclampf *priorities);
    277 void ( APIENTRY * qglPushAttrib )(GLbitfield mask);
    278 void ( APIENTRY * qglPushClientAttrib )(GLbitfield mask);
    279 void ( APIENTRY * qglPushMatrix )(void);
    280 void ( APIENTRY * qglPushName )(GLuint name);
    281 void ( APIENTRY * qglRasterPos2d )(GLdouble x, GLdouble y);
    282 void ( APIENTRY * qglRasterPos2dv )(const GLdouble *v);
    283 void ( APIENTRY * qglRasterPos2f )(GLfloat x, GLfloat y);
    284 void ( APIENTRY * qglRasterPos2fv )(const GLfloat *v);
    285 void ( APIENTRY * qglRasterPos2i )(GLint x, GLint y);
    286 void ( APIENTRY * qglRasterPos2iv )(const GLint *v);
    287 void ( APIENTRY * qglRasterPos2s )(GLshort x, GLshort y);
    288 void ( APIENTRY * qglRasterPos2sv )(const GLshort *v);
    289 void ( APIENTRY * qglRasterPos3d )(GLdouble x, GLdouble y, GLdouble z);
    290 void ( APIENTRY * qglRasterPos3dv )(const GLdouble *v);
    291 void ( APIENTRY * qglRasterPos3f )(GLfloat x, GLfloat y, GLfloat z);
    292 void ( APIENTRY * qglRasterPos3fv )(const GLfloat *v);
    293 void ( APIENTRY * qglRasterPos3i )(GLint x, GLint y, GLint z);
    294 void ( APIENTRY * qglRasterPos3iv )(const GLint *v);
    295 void ( APIENTRY * qglRasterPos3s )(GLshort x, GLshort y, GLshort z);
    296 void ( APIENTRY * qglRasterPos3sv )(const GLshort *v);
    297 void ( APIENTRY * qglRasterPos4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
    298 void ( APIENTRY * qglRasterPos4dv )(const GLdouble *v);
    299 void ( APIENTRY * qglRasterPos4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
    300 void ( APIENTRY * qglRasterPos4fv )(const GLfloat *v);
    301 void ( APIENTRY * qglRasterPos4i )(GLint x, GLint y, GLint z, GLint w);
    302 void ( APIENTRY * qglRasterPos4iv )(const GLint *v);
    303 void ( APIENTRY * qglRasterPos4s )(GLshort x, GLshort y, GLshort z, GLshort w);
    304 void ( APIENTRY * qglRasterPos4sv )(const GLshort *v);
    305 void ( APIENTRY * qglReadBuffer )(GLenum mode);
    306 void ( APIENTRY * qglReadPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
    307 void ( APIENTRY * qglRectd )(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
    308 void ( APIENTRY * qglRectdv )(const GLdouble *v1, const GLdouble *v2);
    309 void ( APIENTRY * qglRectf )(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
    310 void ( APIENTRY * qglRectfv )(const GLfloat *v1, const GLfloat *v2);
    311 void ( APIENTRY * qglRecti )(GLint x1, GLint y1, GLint x2, GLint y2);
    312 void ( APIENTRY * qglRectiv )(const GLint *v1, const GLint *v2);
    313 void ( APIENTRY * qglRects )(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
    314 void ( APIENTRY * qglRectsv )(const GLshort *v1, const GLshort *v2);
    315 GLint ( APIENTRY * qglRenderMode )(GLenum mode);
    316 void ( APIENTRY * qglRotated )(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
    317 void ( APIENTRY * qglRotatef )(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
    318 void ( APIENTRY * qglScaled )(GLdouble x, GLdouble y, GLdouble z);
    319 void ( APIENTRY * qglScalef )(GLfloat x, GLfloat y, GLfloat z);
    320 void ( APIENTRY * qglScissor )(GLint x, GLint y, GLsizei width, GLsizei height);
    321 void ( APIENTRY * qglSelectBuffer )(GLsizei size, GLuint *buffer);
    322 void ( APIENTRY * qglShadeModel )(GLenum mode);
    323 void ( APIENTRY * qglStencilFunc )(GLenum func, GLint ref, GLuint mask);
    324 void ( APIENTRY * qglStencilMask )(GLuint mask);
    325 void ( APIENTRY * qglStencilOp )(GLenum fail, GLenum zfail, GLenum zpass);
    326 void ( APIENTRY * qglTexCoord1d )(GLdouble s);
    327 void ( APIENTRY * qglTexCoord1dv )(const GLdouble *v);
    328 void ( APIENTRY * qglTexCoord1f )(GLfloat s);
    329 void ( APIENTRY * qglTexCoord1fv )(const GLfloat *v);
    330 void ( APIENTRY * qglTexCoord1i )(GLint s);
    331 void ( APIENTRY * qglTexCoord1iv )(const GLint *v);
    332 void ( APIENTRY * qglTexCoord1s )(GLshort s);
    333 void ( APIENTRY * qglTexCoord1sv )(const GLshort *v);
    334 void ( APIENTRY * qglTexCoord2d )(GLdouble s, GLdouble t);
    335 void ( APIENTRY * qglTexCoord2dv )(const GLdouble *v);
    336 void ( APIENTRY * qglTexCoord2f )(GLfloat s, GLfloat t);
    337 void ( APIENTRY * qglTexCoord2fv )(const GLfloat *v);
    338 void ( APIENTRY * qglTexCoord2i )(GLint s, GLint t);
    339 void ( APIENTRY * qglTexCoord2iv )(const GLint *v);
    340 void ( APIENTRY * qglTexCoord2s )(GLshort s, GLshort t);
    341 void ( APIENTRY * qglTexCoord2sv )(const GLshort *v);
    342 void ( APIENTRY * qglTexCoord3d )(GLdouble s, GLdouble t, GLdouble r);
    343 void ( APIENTRY * qglTexCoord3dv )(const GLdouble *v);
    344 void ( APIENTRY * qglTexCoord3f )(GLfloat s, GLfloat t, GLfloat r);
    345 void ( APIENTRY * qglTexCoord3fv )(const GLfloat *v);
    346 void ( APIENTRY * qglTexCoord3i )(GLint s, GLint t, GLint r);
    347 void ( APIENTRY * qglTexCoord3iv )(const GLint *v);
    348 void ( APIENTRY * qglTexCoord3s )(GLshort s, GLshort t, GLshort r);
    349 void ( APIENTRY * qglTexCoord3sv )(const GLshort *v);
    350 void ( APIENTRY * qglTexCoord4d )(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
    351 void ( APIENTRY * qglTexCoord4dv )(const GLdouble *v);
    352 void ( APIENTRY * qglTexCoord4f )(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
    353 void ( APIENTRY * qglTexCoord4fv )(const GLfloat *v);
    354 void ( APIENTRY * qglTexCoord4i )(GLint s, GLint t, GLint r, GLint q);
    355 void ( APIENTRY * qglTexCoord4iv )(const GLint *v);
    356 void ( APIENTRY * qglTexCoord4s )(GLshort s, GLshort t, GLshort r, GLshort q);
    357 void ( APIENTRY * qglTexCoord4sv )(const GLshort *v);
    358 void ( APIENTRY * qglTexCoordPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    359 void ( APIENTRY * qglTexEnvf )(GLenum target, GLenum pname, GLfloat param);
    360 void ( APIENTRY * qglTexEnvfv )(GLenum target, GLenum pname, const GLfloat *params);
    361 void ( APIENTRY * qglTexEnvi )(GLenum target, GLenum pname, GLint param);
    362 void ( APIENTRY * qglTexEnviv )(GLenum target, GLenum pname, const GLint *params);
    363 void ( APIENTRY * qglTexGend )(GLenum coord, GLenum pname, GLdouble param);
    364 void ( APIENTRY * qglTexGendv )(GLenum coord, GLenum pname, const GLdouble *params);
    365 void ( APIENTRY * qglTexGenf )(GLenum coord, GLenum pname, GLfloat param);
    366 void ( APIENTRY * qglTexGenfv )(GLenum coord, GLenum pname, const GLfloat *params);
    367 void ( APIENTRY * qglTexGeni )(GLenum coord, GLenum pname, GLint param);
    368 void ( APIENTRY * qglTexGeniv )(GLenum coord, GLenum pname, const GLint *params);
    369 void ( APIENTRY * qglTexImage1D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
    370 void ( APIENTRY * qglTexImage2D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
    371 void ( APIENTRY * qglTexParameterf )(GLenum target, GLenum pname, GLfloat param);
    372 void ( APIENTRY * qglTexParameterfv )(GLenum target, GLenum pname, const GLfloat *params);
    373 void ( APIENTRY * qglTexParameteri )(GLenum target, GLenum pname, GLint param);
    374 void ( APIENTRY * qglTexParameteriv )(GLenum target, GLenum pname, const GLint *params);
    375 void ( APIENTRY * qglTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
    376 void ( APIENTRY * qglTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
    377 void ( APIENTRY * qglTranslated )(GLdouble x, GLdouble y, GLdouble z);
    378 void ( APIENTRY * qglTranslatef )(GLfloat x, GLfloat y, GLfloat z);
    379 void ( APIENTRY * qglVertex2d )(GLdouble x, GLdouble y);
    380 void ( APIENTRY * qglVertex2dv )(const GLdouble *v);
    381 void ( APIENTRY * qglVertex2f )(GLfloat x, GLfloat y);
    382 void ( APIENTRY * qglVertex2fv )(const GLfloat *v);
    383 void ( APIENTRY * qglVertex2i )(GLint x, GLint y);
    384 void ( APIENTRY * qglVertex2iv )(const GLint *v);
    385 void ( APIENTRY * qglVertex2s )(GLshort x, GLshort y);
    386 void ( APIENTRY * qglVertex2sv )(const GLshort *v);
    387 void ( APIENTRY * qglVertex3d )(GLdouble x, GLdouble y, GLdouble z);
    388 void ( APIENTRY * qglVertex3dv )(const GLdouble *v);
    389 void ( APIENTRY * qglVertex3f )(GLfloat x, GLfloat y, GLfloat z);
    390 void ( APIENTRY * qglVertex3fv )(const GLfloat *v);
    391 void ( APIENTRY * qglVertex3i )(GLint x, GLint y, GLint z);
    392 void ( APIENTRY * qglVertex3iv )(const GLint *v);
    393 void ( APIENTRY * qglVertex3s )(GLshort x, GLshort y, GLshort z);
    394 void ( APIENTRY * qglVertex3sv )(const GLshort *v);
    395 void ( APIENTRY * qglVertex4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
    396 void ( APIENTRY * qglVertex4dv )(const GLdouble *v);
    397 void ( APIENTRY * qglVertex4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
    398 void ( APIENTRY * qglVertex4fv )(const GLfloat *v);
    399 void ( APIENTRY * qglVertex4i )(GLint x, GLint y, GLint z, GLint w);
    400 void ( APIENTRY * qglVertex4iv )(const GLint *v);
    401 void ( APIENTRY * qglVertex4s )(GLshort x, GLshort y, GLshort z, GLshort w);
    402 void ( APIENTRY * qglVertex4sv )(const GLshort *v);
    403 void ( APIENTRY * qglVertexPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    404 void ( APIENTRY * qglViewport )(GLint x, GLint y, GLsizei width, GLsizei height);
    405 
    406 BOOL ( WINAPI * qwglSwapIntervalEXT)( int interval );
    407 BOOL ( WINAPI * qwglGetDeviceGammaRampEXT)( unsigned char *, unsigned char *, unsigned char * );
    408 BOOL ( WINAPI * qwglSetDeviceGammaRampEXT)( const unsigned char *, const unsigned char *, const unsigned char * );
    409 void ( APIENTRY * qglPointParameterfEXT)( GLenum param, GLfloat value );
    410 void ( APIENTRY * qglPointParameterfvEXT)( GLenum param, const GLfloat *value );
    411 void ( APIENTRY * qglColorTableEXT)( int, int, int, int, int, const void * );
    412 void ( APIENTRY * qglSelectTextureSGIS)( GLenum );
    413 void ( APIENTRY * qglMTexCoord2fSGIS)( GLenum, GLfloat, GLfloat );
    414 
    415 
    416 // glu stuff
    417 void (APIENTRY * qgluPerspective) (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
    418 int  (APIENTRY * qgluBuild2DMipmaps) (GLenum target, GLint components, GLint width, GLint height, GLenum format, GLenum      type, const void  *data);
    419 // added for plugins
    420 void (APIENTRY * qgluLookAt)(
    421   GLdouble eyex,
    422   GLdouble eyey,
    423   GLdouble eyez,
    424   GLdouble centerx,
    425   GLdouble centery,
    426   GLdouble centerz,
    427   GLdouble upx,
    428   GLdouble upy,
    429   GLdouble upz);
    430 
    431 
    432 /*
    433 ** QGL_Shutdown
    434 **
    435 ** Unloads the specified DLL then nulls out all the proc pointers.
    436 */
    437 void QGL_Shutdown()
    438 {
    439 	if (g_hGLDLL)
    440 	{
    441     FreeLibrary(g_hGLDLL);
    442     g_hGLDLL = NULL;
    443 	}
    444 	if (g_hGLUDLL)
    445 	{
    446     FreeLibrary(g_hGLUDLL);
    447     g_hGLUDLL = NULL;
    448 	}
    449 
    450 
    451 	qglAccum                     = NULL;
    452 	qglAlphaFunc                 = NULL;
    453 	qglAreTexturesResident       = NULL;
    454 	qglArrayElement              = NULL;
    455 	qglBegin                     = NULL;
    456 	qglBindTexture               = NULL;
    457 	qglBitmap                    = NULL;
    458 	qglBlendFunc                 = NULL;
    459 	qglCallList                  = NULL;
    460 	qglCallLists                 = NULL;
    461 	qglClear                     = NULL;
    462 	qglClearAccum                = NULL;
    463 	qglClearColor                = NULL;
    464 	qglClearDepth                = NULL;
    465 	qglClearIndex                = NULL;
    466 	qglClearStencil              = NULL;
    467 	qglClipPlane                 = NULL;
    468 	qglColor3b                   = NULL;
    469 	qglColor3bv                  = NULL;
    470 	qglColor3d                   = NULL;
    471 	qglColor3dv                  = NULL;
    472 	qglColor3f                   = NULL;
    473 	qglColor3fv                  = NULL;
    474 	qglColor3i                   = NULL;
    475 	qglColor3iv                  = NULL;
    476 	qglColor3s                   = NULL;
    477 	qglColor3sv                  = NULL;
    478 	qglColor3ub                  = NULL;
    479 	qglColor3ubv                 = NULL;
    480 	qglColor3ui                  = NULL;
    481 	qglColor3uiv                 = NULL;
    482 	qglColor3us                  = NULL;
    483 	qglColor3usv                 = NULL;
    484 	qglColor4b                   = NULL;
    485 	qglColor4bv                  = NULL;
    486 	qglColor4d                   = NULL;
    487 	qglColor4dv                  = NULL;
    488 	qglColor4f                   = NULL;
    489 	qglColor4fv                  = NULL;
    490 	qglColor4i                   = NULL;
    491 	qglColor4iv                  = NULL;
    492 	qglColor4s                   = NULL;
    493 	qglColor4sv                  = NULL;
    494 	qglColor4ub                  = NULL;
    495 	qglColor4ubv                 = NULL;
    496 	qglColor4ui                  = NULL;
    497 	qglColor4uiv                 = NULL;
    498 	qglColor4us                  = NULL;
    499 	qglColor4usv                 = NULL;
    500 	qglColorMask                 = NULL;
    501 	qglColorMaterial             = NULL;
    502 	qglColorPointer              = NULL;
    503 	qglCopyPixels                = NULL;
    504 	qglCopyTexImage1D            = NULL;
    505 	qglCopyTexImage2D            = NULL;
    506 	qglCopyTexSubImage1D         = NULL;
    507 	qglCopyTexSubImage2D         = NULL;
    508 	qglCullFace                  = NULL;
    509 	qglDeleteLists               = NULL;
    510 	qglDeleteTextures            = NULL;
    511 	qglDepthFunc                 = NULL;
    512 	qglDepthMask                 = NULL;
    513 	qglDepthRange                = NULL;
    514 	qglDisable                   = NULL;
    515 	qglDisableClientState        = NULL;
    516 	qglDrawArrays                = NULL;
    517 	qglDrawBuffer                = NULL;
    518 	qglDrawElements              = NULL;
    519 	qglDrawPixels                = NULL;
    520 	qglEdgeFlag                  = NULL;
    521 	qglEdgeFlagPointer           = NULL;
    522 	qglEdgeFlagv                 = NULL;
    523 	qglEnable                    = NULL;
    524 	qglEnableClientState         = NULL;
    525 	qglEnd                       = NULL;
    526 	qglEndList                   = NULL;
    527 	qglEvalCoord1d               = NULL;
    528 	qglEvalCoord1dv              = NULL;
    529 	qglEvalCoord1f               = NULL;
    530 	qglEvalCoord1fv              = NULL;
    531 	qglEvalCoord2d               = NULL;
    532 	qglEvalCoord2dv              = NULL;
    533 	qglEvalCoord2f               = NULL;
    534 	qglEvalCoord2fv              = NULL;
    535 	qglEvalMesh1                 = NULL;
    536 	qglEvalMesh2                 = NULL;
    537 	qglEvalPoint1                = NULL;
    538 	qglEvalPoint2                = NULL;
    539 	qglFeedbackBuffer            = NULL;
    540 	qglFinish                    = NULL;
    541 	qglFlush                     = NULL;
    542 	qglFogf                      = NULL;
    543 	qglFogfv                     = NULL;
    544 	qglFogi                      = NULL;
    545 	qglFogiv                     = NULL;
    546 	qglFrontFace                 = NULL;
    547 	qglFrustum                   = NULL;
    548 	qglGenLists                  = NULL;
    549 	qglGenTextures               = NULL;
    550 	qglGetBooleanv               = NULL;
    551 	qglGetClipPlane              = NULL;
    552 	qglGetDoublev                = NULL;
    553 	qglGetError                  = NULL;
    554 	qglGetFloatv                 = NULL;
    555 	qglGetIntegerv               = NULL;
    556 	qglGetLightfv                = NULL;
    557 	qglGetLightiv                = NULL;
    558 	qglGetMapdv                  = NULL;
    559 	qglGetMapfv                  = NULL;
    560 	qglGetMapiv                  = NULL;
    561 	qglGetMaterialfv             = NULL;
    562 	qglGetMaterialiv             = NULL;
    563 	qglGetPixelMapfv             = NULL;
    564 	qglGetPixelMapuiv            = NULL;
    565 	qglGetPixelMapusv            = NULL;
    566 	qglGetPointerv               = NULL;
    567 	qglGetPolygonStipple         = NULL;
    568 	qglGetString                 = NULL;
    569 	qglGetTexEnvfv               = NULL;
    570 	qglGetTexEnviv               = NULL;
    571 	qglGetTexGendv               = NULL;
    572 	qglGetTexGenfv               = NULL;
    573 	qglGetTexGeniv               = NULL;
    574 	qglGetTexImage               = NULL;
    575 	qglGetTexLevelParameterfv    = NULL;
    576 	qglGetTexLevelParameteriv    = NULL;
    577 	qglGetTexParameterfv         = NULL;
    578 	qglGetTexParameteriv         = NULL;
    579 	qglHint                      = NULL;
    580 	qglIndexMask                 = NULL;
    581 	qglIndexPointer              = NULL;
    582 	qglIndexd                    = NULL;
    583 	qglIndexdv                   = NULL;
    584 	qglIndexf                    = NULL;
    585 	qglIndexfv                   = NULL;
    586 	qglIndexi                    = NULL;
    587 	qglIndexiv                   = NULL;
    588 	qglIndexs                    = NULL;
    589 	qglIndexsv                   = NULL;
    590 	qglIndexub                   = NULL;
    591 	qglIndexubv                  = NULL;
    592 	qglInitNames                 = NULL;
    593 	qglInterleavedArrays         = NULL;
    594 	qglIsEnabled                 = NULL;
    595 	qglIsList                    = NULL;
    596 	qglIsTexture                 = NULL;
    597 	qglLightModelf               = NULL;
    598 	qglLightModelfv              = NULL;
    599 	qglLightModeli               = NULL;
    600 	qglLightModeliv              = NULL;
    601 	qglLightf                    = NULL;
    602 	qglLightfv                   = NULL;
    603 	qglLighti                    = NULL;
    604 	qglLightiv                   = NULL;
    605 	qglLineStipple               = NULL;
    606 	qglLineWidth                 = NULL;
    607 	qglListBase                  = NULL;
    608 	qglLoadIdentity              = NULL;
    609 	qglLoadMatrixd               = NULL;
    610 	qglLoadMatrixf               = NULL;
    611 	qglLoadName                  = NULL;
    612 	qglLogicOp                   = NULL;
    613 	qglMap1d                     = NULL;
    614 	qglMap1f                     = NULL;
    615 	qglMap2d                     = NULL;
    616 	qglMap2f                     = NULL;
    617 	qglMapGrid1d                 = NULL;
    618 	qglMapGrid1f                 = NULL;
    619 	qglMapGrid2d                 = NULL;
    620 	qglMapGrid2f                 = NULL;
    621 	qglMaterialf                 = NULL;
    622 	qglMaterialfv                = NULL;
    623 	qglMateriali                 = NULL;
    624 	qglMaterialiv                = NULL;
    625 	qglMatrixMode                = NULL;
    626 	qglMultMatrixd               = NULL;
    627 	qglMultMatrixf               = NULL;
    628 	qglNewList                   = NULL;
    629 	qglNormal3b                  = NULL;
    630 	qglNormal3bv                 = NULL;
    631 	qglNormal3d                  = NULL;
    632 	qglNormal3dv                 = NULL;
    633 	qglNormal3f                  = NULL;
    634 	qglNormal3fv                 = NULL;
    635 	qglNormal3i                  = NULL;
    636 	qglNormal3iv                 = NULL;
    637 	qglNormal3s                  = NULL;
    638 	qglNormal3sv                 = NULL;
    639 	qglNormalPointer             = NULL;
    640 	qglOrtho                     = NULL;
    641 	qglPassThrough               = NULL;
    642 	qglPixelMapfv                = NULL;
    643 	qglPixelMapuiv               = NULL;
    644 	qglPixelMapusv               = NULL;
    645 	qglPixelStoref               = NULL;
    646 	qglPixelStorei               = NULL;
    647 	qglPixelTransferf            = NULL;
    648 	qglPixelTransferi            = NULL;
    649 	qglPixelZoom                 = NULL;
    650 	qglPointSize                 = NULL;
    651 	qglPolygonMode               = NULL;
    652 	qglPolygonOffset             = NULL;
    653 	qglPolygonStipple            = NULL;
    654 	qglPopAttrib                 = NULL;
    655 	qglPopClientAttrib           = NULL;
    656 	qglPopMatrix                 = NULL;
    657 	qglPopName                   = NULL;
    658 	qglPrioritizeTextures        = NULL;
    659 	qglPushAttrib                = NULL;
    660 	qglPushClientAttrib          = NULL;
    661 	qglPushMatrix                = NULL;
    662 	qglPushName                  = NULL;
    663 	qglRasterPos2d               = NULL;
    664 	qglRasterPos2dv              = NULL;
    665 	qglRasterPos2f               = NULL;
    666 	qglRasterPos2fv              = NULL;
    667 	qglRasterPos2i               = NULL;
    668 	qglRasterPos2iv              = NULL;
    669 	qglRasterPos2s               = NULL;
    670 	qglRasterPos2sv              = NULL;
    671 	qglRasterPos3d               = NULL;
    672 	qglRasterPos3dv              = NULL;
    673 	qglRasterPos3f               = NULL;
    674 	qglRasterPos3fv              = NULL;
    675 	qglRasterPos3i               = NULL;
    676 	qglRasterPos3iv              = NULL;
    677 	qglRasterPos3s               = NULL;
    678 	qglRasterPos3sv              = NULL;
    679 	qglRasterPos4d               = NULL;
    680 	qglRasterPos4dv              = NULL;
    681 	qglRasterPos4f               = NULL;
    682 	qglRasterPos4fv              = NULL;
    683 	qglRasterPos4i               = NULL;
    684 	qglRasterPos4iv              = NULL;
    685 	qglRasterPos4s               = NULL;
    686 	qglRasterPos4sv              = NULL;
    687 	qglReadBuffer                = NULL;
    688 	qglReadPixels                = NULL;
    689 	qglRectd                     = NULL;
    690 	qglRectdv                    = NULL;
    691 	qglRectf                     = NULL;
    692 	qglRectfv                    = NULL;
    693 	qglRecti                     = NULL;
    694 	qglRectiv                    = NULL;
    695 	qglRects                     = NULL;
    696 	qglRectsv                    = NULL;
    697 	qglRenderMode                = NULL;
    698 	qglRotated                   = NULL;
    699 	qglRotatef                   = NULL;
    700 	qglScaled                    = NULL;
    701 	qglScalef                    = NULL;
    702 	qglScissor                   = NULL;
    703 	qglSelectBuffer              = NULL;
    704 	qglShadeModel                = NULL;
    705 	qglStencilFunc               = NULL;
    706 	qglStencilMask               = NULL;
    707 	qglStencilOp                 = NULL;
    708 	qglTexCoord1d                = NULL;
    709 	qglTexCoord1dv               = NULL;
    710 	qglTexCoord1f                = NULL;
    711 	qglTexCoord1fv               = NULL;
    712 	qglTexCoord1i                = NULL;
    713 	qglTexCoord1iv               = NULL;
    714 	qglTexCoord1s                = NULL;
    715 	qglTexCoord1sv               = NULL;
    716 	qglTexCoord2d                = NULL;
    717 	qglTexCoord2dv               = NULL;
    718 	qglTexCoord2f                = NULL;
    719 	qglTexCoord2fv               = NULL;
    720 	qglTexCoord2i                = NULL;
    721 	qglTexCoord2iv               = NULL;
    722 	qglTexCoord2s                = NULL;
    723 	qglTexCoord2sv               = NULL;
    724 	qglTexCoord3d                = NULL;
    725 	qglTexCoord3dv               = NULL;
    726 	qglTexCoord3f                = NULL;
    727 	qglTexCoord3fv               = NULL;
    728 	qglTexCoord3i                = NULL;
    729 	qglTexCoord3iv               = NULL;
    730 	qglTexCoord3s                = NULL;
    731 	qglTexCoord3sv               = NULL;
    732 	qglTexCoord4d                = NULL;
    733 	qglTexCoord4dv               = NULL;
    734 	qglTexCoord4f                = NULL;
    735 	qglTexCoord4fv               = NULL;
    736 	qglTexCoord4i                = NULL;
    737 	qglTexCoord4iv               = NULL;
    738 	qglTexCoord4s                = NULL;
    739 	qglTexCoord4sv               = NULL;
    740 	qglTexCoordPointer           = NULL;
    741 	qglTexEnvf                   = NULL;
    742 	qglTexEnvfv                  = NULL;
    743 	qglTexEnvi                   = NULL;
    744 	qglTexEnviv                  = NULL;
    745 	qglTexGend                   = NULL;
    746 	qglTexGendv                  = NULL;
    747 	qglTexGenf                   = NULL;
    748 	qglTexGenfv                  = NULL;
    749 	qglTexGeni                   = NULL;
    750 	qglTexGeniv                  = NULL;
    751 	qglTexImage1D                = NULL;
    752 	qglTexImage2D                = NULL;
    753 	qglTexParameterf             = NULL;
    754 	qglTexParameterfv            = NULL;
    755 	qglTexParameteri             = NULL;
    756 	qglTexParameteriv            = NULL;
    757 	qglTexSubImage1D             = NULL;
    758 	qglTexSubImage2D             = NULL;
    759 	qglTranslated                = NULL;
    760 	qglTranslatef                = NULL;
    761 	qglVertex2d                  = NULL;
    762 	qglVertex2dv                 = NULL;
    763 	qglVertex2f                  = NULL;
    764 	qglVertex2fv                 = NULL;
    765 	qglVertex2i                  = NULL;
    766 	qglVertex2iv                 = NULL;
    767 	qglVertex2s                  = NULL;
    768 	qglVertex2sv                 = NULL;
    769 	qglVertex3d                  = NULL;
    770 	qglVertex3dv                 = NULL;
    771 	qglVertex3f                  = NULL;
    772 	qglVertex3fv                 = NULL;
    773 	qglVertex3i                  = NULL;
    774 	qglVertex3iv                 = NULL;
    775 	qglVertex3s                  = NULL;
    776 	qglVertex3sv                 = NULL;
    777 	qglVertex4d                  = NULL;
    778 	qglVertex4dv                 = NULL;
    779 	qglVertex4f                  = NULL;
    780 	qglVertex4fv                 = NULL;
    781 	qglVertex4i                  = NULL;
    782 	qglVertex4iv                 = NULL;
    783 	qglVertex4s                  = NULL;
    784 	qglVertex4sv                 = NULL;
    785 	qglVertexPointer             = NULL;
    786 	qglViewport                  = NULL;
    787 
    788 	qwglCopyContext              = NULL;
    789 	qwglCreateContext            = NULL;
    790 	qwglCreateLayerContext       = NULL;
    791 	qwglDeleteContext            = NULL;
    792 	qwglDescribeLayerPlane       = NULL;
    793 	qwglGetCurrentContext        = NULL;
    794 	qwglGetCurrentDC             = NULL;
    795 	qwglGetLayerPaletteEntries   = NULL;
    796 	qwglGetProcAddress           = NULL;
    797 	qwglMakeCurrent              = NULL;
    798 	qwglRealizeLayerPalette      = NULL;
    799 	qwglSetLayerPaletteEntries   = NULL;
    800 	qwglShareLists               = NULL;
    801 	qwglSwapLayerBuffers         = NULL;
    802 	qwglUseFontBitmaps           = NULL;
    803 	qwglUseFontOutlines          = NULL;
    804 
    805 	qwglChoosePixelFormat        = NULL;
    806 	qwglDescribePixelFormat      = NULL;
    807 	qwglGetPixelFormat           = NULL;
    808 	qwglSetPixelFormat           = NULL;
    809 	qwglSwapBuffers              = NULL;
    810 
    811 	qwglSwapIntervalEXT	= NULL;
    812 
    813 	qwglGetDeviceGammaRampEXT = NULL;
    814 	qwglSetDeviceGammaRampEXT = NULL;
    815 
    816   qgluPerspective = NULL;
    817   qgluBuild2DMipmaps = NULL;
    818 
    819   qgluLookAt = NULL;
    820 }
    821 
    822 #	define GPA(h, a ) GetProcAddress( h, a )
    823 
    824 /*
    825 ** QGL_Init
    826 **
    827 ** This is responsible for binding our qgl function pointers to 
    828 ** the appropriate GL stuff.  In Windows this means doing a 
    829 ** LoadLibrary and a bunch of calls to GetProcAddress.  On other
    830 ** operating systems we need to do the right thing, whatever that
    831 ** might be.
    832 ** 
    833 */
    834 int QGL_Init(const char *dllname, const char* pGluName )
    835 {
    836 
    837   g_hGLDLL = LoadLibrary(dllname);
    838   if (g_hGLDLL == NULL)
    839   {
    840     return 0;
    841   }
    842 
    843   g_hGLUDLL = LoadLibrary(pGluName);
    844   if (g_hGLUDLL == NULL)
    845   {
    846     FreeLibrary(g_hGLDLL);
    847     g_hGLDLL = NULL;
    848     return 0;
    849   }
    850 
    851 
    852   qgluPerspective              = GPA(g_hGLUDLL, "gluPerspective");
    853   qgluBuild2DMipmaps           = GPA(g_hGLUDLL, "gluBuild2DMipmaps");
    854 	// added for plugins
    855 	qgluLookAt                   = GPA(g_hGLUDLL, "gluLookAt" );
    856 
    857 	qglAccum                     = GPA(g_hGLDLL, "glAccum" );
    858 	qglAlphaFunc                 = GPA(g_hGLDLL, "glAlphaFunc" );
    859 	qglAreTexturesResident       = GPA(g_hGLDLL, "glAreTexturesResident" );
    860 	qglArrayElement              = GPA(g_hGLDLL, "glArrayElement" );
    861 	qglBegin                     = GPA(g_hGLDLL, "glBegin" );
    862 	qglBindTexture               = GPA(g_hGLDLL, "glBindTexture" );
    863 	qglBitmap                    = GPA(g_hGLDLL, "glBitmap" );
    864 	qglBlendFunc                 = GPA(g_hGLDLL, "glBlendFunc" );
    865 	qglCallList                  = GPA(g_hGLDLL, "glCallList" );
    866 	qglCallLists                 = GPA(g_hGLDLL, "glCallLists" );
    867 	qglClear                     = GPA(g_hGLDLL, "glClear" );
    868 	qglClearAccum                = GPA(g_hGLDLL, "glClearAccum" );
    869 	qglClearColor                = GPA(g_hGLDLL, "glClearColor" );
    870 	qglClearDepth                = GPA(g_hGLDLL, "glClearDepth" );
    871 	qglClearIndex                = GPA(g_hGLDLL, "glClearIndex" );
    872 	qglClearStencil              = GPA(g_hGLDLL, "glClearStencil" );
    873 	qglClipPlane                 = GPA(g_hGLDLL, "glClipPlane" );
    874 	qglColor3b                   = GPA(g_hGLDLL, "glColor3b" );
    875 	qglColor3bv                  = GPA(g_hGLDLL, "glColor3bv" );
    876 	qglColor3d                   = GPA(g_hGLDLL, "glColor3d" );
    877 	qglColor3dv                  = GPA(g_hGLDLL, "glColor3dv" );
    878 	qglColor3f                   = GPA(g_hGLDLL, "glColor3f" );
    879 	qglColor3fv                  = GPA(g_hGLDLL, "glColor3fv" );
    880 	qglColor3i                   = GPA(g_hGLDLL, "glColor3i" );
    881 	qglColor3iv                  = GPA(g_hGLDLL, "glColor3iv" );
    882 	qglColor3s                   = GPA(g_hGLDLL, "glColor3s" );
    883 	qglColor3sv                  = GPA(g_hGLDLL, "glColor3sv" );
    884 	qglColor3ub                  = GPA(g_hGLDLL, "glColor3ub" );
    885 	qglColor3ubv                 = GPA(g_hGLDLL, "glColor3ubv" );
    886 	qglColor3ui                  = GPA(g_hGLDLL, "glColor3ui" );
    887 	qglColor3uiv                 = GPA(g_hGLDLL, "glColor3uiv" );
    888 	qglColor3us                  = GPA(g_hGLDLL, "glColor3us" );
    889 	qglColor3usv                 = GPA(g_hGLDLL, "glColor3usv" );
    890 	qglColor4b                   = GPA(g_hGLDLL, "glColor4b" );
    891 	qglColor4bv                  = GPA(g_hGLDLL, "glColor4bv" );
    892 	qglColor4d                   = GPA(g_hGLDLL, "glColor4d" );
    893 	qglColor4dv                  = GPA(g_hGLDLL, "glColor4dv" );
    894 	qglColor4f                   = GPA(g_hGLDLL, "glColor4f" );
    895 	qglColor4fv                  = GPA(g_hGLDLL, "glColor4fv" );
    896 	qglColor4i                   = GPA(g_hGLDLL, "glColor4i" );
    897 	qglColor4iv                  = GPA(g_hGLDLL, "glColor4iv" );
    898 	qglColor4s                   = GPA(g_hGLDLL, "glColor4s" );
    899 	qglColor4sv                  = GPA(g_hGLDLL, "glColor4sv" );
    900 	qglColor4ub                  = GPA(g_hGLDLL, "glColor4ub" );
    901 	qglColor4ubv                 = GPA(g_hGLDLL, "glColor4ubv" );
    902 	qglColor4ui                  = GPA(g_hGLDLL, "glColor4ui" );
    903 	qglColor4uiv                 = GPA(g_hGLDLL, "glColor4uiv" );
    904 	qglColor4us                  = GPA(g_hGLDLL, "glColor4us" );
    905 	qglColor4usv                 = GPA(g_hGLDLL, "glColor4usv" );
    906 	qglColorMask                 = GPA(g_hGLDLL, "glColorMask" );
    907 	qglColorMaterial             = GPA(g_hGLDLL, "glColorMaterial" );
    908 	qglColorPointer              = GPA(g_hGLDLL, "glColorPointer" );
    909 	qglCopyPixels                = GPA(g_hGLDLL, "glCopyPixels" );
    910 	qglCopyTexImage1D            = GPA(g_hGLDLL, "glCopyTexImage1D" );
    911 	qglCopyTexImage2D            = GPA(g_hGLDLL, "glCopyTexImage2D" );
    912 	qglCopyTexSubImage1D         = GPA(g_hGLDLL, "glCopyTexSubImage1D" );
    913 	qglCopyTexSubImage2D         = GPA(g_hGLDLL, "glCopyTexSubImage2D" );
    914 	qglCullFace                  = GPA(g_hGLDLL, "glCullFace" );
    915 	qglDeleteLists               = GPA(g_hGLDLL, "glDeleteLists" );
    916 	qglDeleteTextures            = GPA(g_hGLDLL, "glDeleteTextures" );
    917 	qglDepthFunc                 = GPA(g_hGLDLL, "glDepthFunc" );
    918 	qglDepthMask                 = GPA(g_hGLDLL, "glDepthMask" );
    919 	qglDepthRange                = GPA(g_hGLDLL, "glDepthRange" );
    920 	qglDisable                   = GPA(g_hGLDLL, "glDisable" );
    921 	qglDisableClientState        = GPA(g_hGLDLL, "glDisableClientState" );
    922 	qglDrawArrays                = GPA(g_hGLDLL, "glDrawArrays" );
    923 	qglDrawBuffer                = GPA(g_hGLDLL, "glDrawBuffer" );
    924 	qglDrawElements              = GPA(g_hGLDLL, "glDrawElements" );
    925 	qglDrawPixels                = GPA(g_hGLDLL, "glDrawPixels" );
    926 	qglEdgeFlag                  = GPA(g_hGLDLL, "glEdgeFlag" );
    927 	qglEdgeFlagPointer           = GPA(g_hGLDLL, "glEdgeFlagPointer" );
    928 	qglEdgeFlagv                 = GPA(g_hGLDLL, "glEdgeFlagv" );
    929 	qglEnable                    = GPA(g_hGLDLL, "glEnable" );
    930 	qglEnableClientState         = GPA(g_hGLDLL, "glEnableClientState" );
    931 	qglEnd                       = GPA(g_hGLDLL, "glEnd" );
    932 	qglEndList                   = GPA(g_hGLDLL, "glEndList" );
    933 	qglEvalCoord1d				       = GPA(g_hGLDLL, "glEvalCoord1d" );
    934 	qglEvalCoord1dv              = GPA(g_hGLDLL, "glEvalCoord1dv" );
    935 	qglEvalCoord1f               = GPA(g_hGLDLL, "glEvalCoord1f" );
    936 	qglEvalCoord1fv              = GPA(g_hGLDLL, "glEvalCoord1fv" );
    937 	qglEvalCoord2d               = GPA(g_hGLDLL, "glEvalCoord2d" );
    938 	qglEvalCoord2dv              = GPA(g_hGLDLL, "glEvalCoord2dv" );
    939 	qglEvalCoord2f               = GPA(g_hGLDLL, "glEvalCoord2f" );
    940 	qglEvalCoord2fv              = GPA(g_hGLDLL, "glEvalCoord2fv" );
    941 	qglEvalMesh1                 = GPA(g_hGLDLL, "glEvalMesh1" );
    942 	qglEvalMesh2                 = GPA(g_hGLDLL, "glEvalMesh2" );
    943 	qglEvalPoint1                = GPA(g_hGLDLL, "glEvalPoint1" );
    944 	qglEvalPoint2                = GPA(g_hGLDLL, "glEvalPoint2" );
    945 	qglFeedbackBuffer            = GPA(g_hGLDLL, "glFeedbackBuffer" );
    946 	qglFinish                    = GPA(g_hGLDLL, "glFinish" );
    947 	qglFlush                     = GPA(g_hGLDLL, "glFlush" );
    948 	qglFogf                      = GPA(g_hGLDLL, "glFogf" );
    949 	qglFogfv                     = GPA(g_hGLDLL, "glFogfv" );
    950 	qglFogi                      = GPA(g_hGLDLL, "glFogi" );
    951 	qglFogiv                     = GPA(g_hGLDLL, "glFogiv" );
    952 	qglFrontFace                 = GPA(g_hGLDLL, "glFrontFace" );
    953 	qglFrustum                   = GPA(g_hGLDLL, "glFrustum" );
    954 	qglGenLists                  = GPA(g_hGLDLL, "glGenLists" );
    955 	qglGenTextures               = GPA(g_hGLDLL, "glGenTextures" );
    956 	qglGetBooleanv               = GPA(g_hGLDLL, "glGetBooleanv" );
    957 	qglGetClipPlane              = GPA(g_hGLDLL, "glGetClipPlane" );
    958 	qglGetDoublev                = GPA(g_hGLDLL, "glGetDoublev" );
    959 	qglGetError                  = GPA(g_hGLDLL, "glGetError" );
    960 	qglGetFloatv                 = GPA(g_hGLDLL, "glGetFloatv" );
    961 	qglGetIntegerv               = GPA(g_hGLDLL, "glGetIntegerv" );
    962 	qglGetLightfv                = GPA(g_hGLDLL, "glGetLightfv" );
    963 	qglGetLightiv                = GPA(g_hGLDLL, "glGetLightiv" );
    964 	qglGetMapdv                  = GPA(g_hGLDLL, "glGetMapdv" );
    965 	qglGetMapfv                  = GPA(g_hGLDLL, "glGetMapfv" );
    966 	qglGetMapiv                  = GPA(g_hGLDLL, "glGetMapiv" );
    967 	qglGetMaterialfv             = GPA(g_hGLDLL, "glGetMaterialfv" );
    968 	qglGetMaterialiv             = GPA(g_hGLDLL, "glGetMaterialiv" );
    969 	qglGetPixelMapfv             = GPA(g_hGLDLL, "glGetPixelMapfv" );
    970 	qglGetPixelMapuiv            = GPA(g_hGLDLL, "glGetPixelMapuiv" );
    971 	qglGetPixelMapusv            = GPA(g_hGLDLL, "glGetPixelMapusv" );
    972 	qglGetPointerv               = GPA(g_hGLDLL, "glGetPointerv" );
    973 	qglGetPolygonStipple         = GPA(g_hGLDLL, "glGetPolygonStipple" );
    974 	qglGetString                 = GPA(g_hGLDLL, "glGetString" );
    975 	qglGetTexEnvfv               = GPA(g_hGLDLL, "glGetTexEnvfv" );
    976 	qglGetTexEnviv               = GPA(g_hGLDLL, "glGetTexEnviv" );
    977 	qglGetTexGendv               = GPA(g_hGLDLL, "glGetTexGendv" );
    978 	qglGetTexGenfv               = GPA(g_hGLDLL, "glGetTexGenfv" );
    979 	qglGetTexGeniv               = GPA(g_hGLDLL, "glGetTexGeniv" );
    980 	qglGetTexImage               = GPA(g_hGLDLL, "glGetTexImage" );
    981 	qglGetTexLevelParameterfv    = GPA(g_hGLDLL, "glGetLevelParameterfv" );
    982 	qglGetTexLevelParameteriv    = GPA(g_hGLDLL, "glGetLevelParameteriv" );
    983 	qglGetTexParameterfv         = GPA(g_hGLDLL, "glGetTexParameterfv" );
    984 	qglGetTexParameteriv         = GPA(g_hGLDLL, "glGetTexParameteriv" );
    985 	qglHint                      = GPA(g_hGLDLL, "glHint" );
    986 	qglIndexMask                 = GPA(g_hGLDLL, "glIndexMask" );
    987 	qglIndexPointer              = GPA(g_hGLDLL, "glIndexPointer" );
    988 	qglIndexd                    = GPA(g_hGLDLL, "glIndexd" );
    989 	qglIndexdv                   = GPA(g_hGLDLL, "glIndexdv" );
    990 	qglIndexf                    = GPA(g_hGLDLL, "glIndexf" );
    991 	qglIndexfv                   = GPA(g_hGLDLL, "glIndexfv" );
    992 	qglIndexi                    = GPA(g_hGLDLL, "glIndexi" );
    993 	qglIndexiv                   = GPA(g_hGLDLL, "glIndexiv" );
    994 	qglIndexs                    = GPA(g_hGLDLL, "glIndexs" );
    995 	qglIndexsv                   = GPA(g_hGLDLL, "glIndexsv" );
    996 	qglIndexub                   = GPA(g_hGLDLL, "glIndexub" );
    997 	qglIndexubv                  = GPA(g_hGLDLL, "glIndexubv" );
    998 	qglInitNames                 = GPA(g_hGLDLL, "glInitNames" );
    999 	qglInterleavedArrays         = GPA(g_hGLDLL, "glInterleavedArrays" );
   1000 	qglIsEnabled                 = GPA(g_hGLDLL, "glIsEnabled" );
   1001 	qglIsList                    = GPA(g_hGLDLL, "glIsList" );
   1002 	qglIsTexture                 = GPA(g_hGLDLL, "glIsTexture" );
   1003 	qglLightModelf               = GPA(g_hGLDLL, "glLightModelf" );
   1004 	qglLightModelfv              = GPA(g_hGLDLL, "glLightModelfv" );
   1005 	qglLightModeli               = GPA(g_hGLDLL, "glLightModeli" );
   1006 	qglLightModeliv              = GPA(g_hGLDLL, "glLightModeliv" );
   1007 	qglLightf                    = GPA(g_hGLDLL, "glLightf" );
   1008 	qglLightfv                   = GPA(g_hGLDLL, "glLightfv" );
   1009 	qglLighti                    = GPA(g_hGLDLL, "glLighti" );
   1010 	qglLightiv                   = GPA(g_hGLDLL, "glLightiv" );
   1011 	qglLineStipple               = GPA(g_hGLDLL, "glLineStipple" );
   1012 	qglLineWidth                 = GPA(g_hGLDLL, "glLineWidth" );
   1013 	qglListBase                  = GPA(g_hGLDLL, "glListBase" );
   1014 	qglLoadIdentity              = GPA(g_hGLDLL, "glLoadIdentity" );
   1015 	qglLoadMatrixd               = GPA(g_hGLDLL, "glLoadMatrixd" );
   1016 	qglLoadMatrixf               = GPA(g_hGLDLL, "glLoadMatrixf" );
   1017 	qglLoadName                  = GPA(g_hGLDLL, "glLoadName" );
   1018 	qglLogicOp                   = GPA(g_hGLDLL, "glLogicOp" );
   1019 	qglMap1d                     = GPA(g_hGLDLL, "glMap1d" );
   1020 	qglMap1f                     = GPA(g_hGLDLL, "glMap1f" );
   1021 	qglMap2d                     = GPA(g_hGLDLL, "glMap2d" );
   1022 	qglMap2f                     = GPA(g_hGLDLL, "glMap2f" );
   1023 	qglMapGrid1d                 = GPA(g_hGLDLL, "glMapGrid1d" );
   1024 	qglMapGrid1f                 = GPA(g_hGLDLL, "glMapGrid1f" );
   1025 	qglMapGrid2d                 = GPA(g_hGLDLL, "glMapGrid2d" );
   1026 	qglMapGrid2f                 = GPA(g_hGLDLL, "glMapGrid2f" );
   1027 	qglMaterialf                 = GPA(g_hGLDLL, "glMaterialf" );
   1028 	qglMaterialfv                = GPA(g_hGLDLL, "glMaterialfv" );
   1029 	qglMateriali                 = GPA(g_hGLDLL, "glMateriali" );
   1030 	qglMaterialiv                = GPA(g_hGLDLL, "glMaterialiv" );
   1031 	qglMatrixMode                = GPA(g_hGLDLL, "glMatrixMode" );
   1032 	qglMultMatrixd               = GPA(g_hGLDLL, "glMultMatrixd" );
   1033 	qglMultMatrixf               = GPA(g_hGLDLL, "glMultMatrixf" );
   1034 	qglNewList                   = GPA(g_hGLDLL, "glNewList" );
   1035 	qglNormal3b                  = GPA(g_hGLDLL, "glNormal3b" );
   1036 	qglNormal3bv                 = GPA(g_hGLDLL, "glNormal3bv" );
   1037 	qglNormal3d                  = GPA(g_hGLDLL, "glNormal3d" );
   1038 	qglNormal3dv                 = GPA(g_hGLDLL, "glNormal3dv" );
   1039 	qglNormal3f                  = GPA(g_hGLDLL, "glNormal3f" );
   1040 	qglNormal3fv                 = GPA(g_hGLDLL, "glNormal3fv" );
   1041 	qglNormal3i                  = GPA(g_hGLDLL, "glNormal3i" );
   1042 	qglNormal3iv                 = GPA(g_hGLDLL, "glNormal3iv" );
   1043 	qglNormal3s                  = GPA(g_hGLDLL, "glNormal3s" );
   1044 	qglNormal3sv                 = GPA(g_hGLDLL, "glNormal3sv" );
   1045 	qglNormalPointer             = GPA(g_hGLDLL, "glNormalPointer" );
   1046 	qglOrtho                     = GPA(g_hGLDLL, "glOrtho" );
   1047 	qglPassThrough               = GPA(g_hGLDLL, "glPassThrough" );
   1048 	qglPixelMapfv                = GPA(g_hGLDLL, "glPixelMapfv" );
   1049 	qglPixelMapuiv               = GPA(g_hGLDLL, "glPixelMapuiv" );
   1050 	qglPixelMapusv               = GPA(g_hGLDLL, "glPixelMapusv" );
   1051 	qglPixelStoref               = GPA(g_hGLDLL, "glPixelStoref" );
   1052 	qglPixelStorei               = GPA(g_hGLDLL, "glPixelStorei" );
   1053 	qglPixelTransferf            = GPA(g_hGLDLL, "glPixelTransferf" );
   1054 	qglPixelTransferi            = GPA(g_hGLDLL, "glPixelTransferi" );
   1055 	qglPixelZoom                 = GPA(g_hGLDLL, "glPixelZoom" );
   1056 	qglPointSize                 = GPA(g_hGLDLL, "glPointSize" );
   1057 	qglPolygonMode               = GPA(g_hGLDLL, "glPolygonMode" );
   1058 	qglPolygonOffset             = GPA(g_hGLDLL, "glPolygonOffset" );
   1059 	qglPolygonStipple            = GPA(g_hGLDLL, "glPolygonStipple" );
   1060 	qglPopAttrib                 = GPA(g_hGLDLL, "glPopAttrib" );
   1061 	qglPopClientAttrib           = GPA(g_hGLDLL, "glPopClientAttrib" );
   1062 	qglPopMatrix                 = GPA(g_hGLDLL, "glPopMatrix" );
   1063 	qglPopName                   = GPA(g_hGLDLL, "glPopName" );
   1064 	qglPrioritizeTextures        = GPA(g_hGLDLL, "glPrioritizeTextures" );
   1065 	qglPushAttrib                = GPA(g_hGLDLL, "glPushAttrib" );
   1066 	qglPushClientAttrib          = GPA(g_hGLDLL, "glPushClientAttrib" );
   1067 	qglPushMatrix                = GPA(g_hGLDLL, "glPushMatrix" );
   1068 	qglPushName                  = GPA(g_hGLDLL, "glPushName" );
   1069 	qglRasterPos2d               = GPA(g_hGLDLL, "glRasterPos2d" );
   1070 	qglRasterPos2dv              = GPA(g_hGLDLL, "glRasterPos2dv" );
   1071 	qglRasterPos2f               = GPA(g_hGLDLL, "glRasterPos2f" );
   1072 	qglRasterPos2fv              = GPA(g_hGLDLL, "glRasterPos2fv" );
   1073 	qglRasterPos2i               = GPA(g_hGLDLL, "glRasterPos2i" );
   1074 	qglRasterPos2iv              = GPA(g_hGLDLL, "glRasterPos2iv" );
   1075 	qglRasterPos2s               = GPA(g_hGLDLL, "glRasterPos2s" );
   1076 	qglRasterPos2sv              = GPA(g_hGLDLL, "glRasterPos2sv" );
   1077 	qglRasterPos3d               = GPA(g_hGLDLL, "glRasterPos3d" );
   1078 	qglRasterPos3dv              = GPA(g_hGLDLL, "glRasterPos3dv" );
   1079 	qglRasterPos3f               = GPA(g_hGLDLL, "glRasterPos3f" );
   1080 	qglRasterPos3fv              = GPA(g_hGLDLL, "glRasterPos3fv" );
   1081 	qglRasterPos3i               = GPA(g_hGLDLL, "glRasterPos3i" );
   1082 	qglRasterPos3iv              = GPA(g_hGLDLL, "glRasterPos3iv" );
   1083 	qglRasterPos3s               = GPA(g_hGLDLL, "glRasterPos3s" );
   1084 	qglRasterPos3sv              = GPA(g_hGLDLL, "glRasterPos3sv" );
   1085 	qglRasterPos4d               = GPA(g_hGLDLL, "glRasterPos4d" );
   1086 	qglRasterPos4dv              = GPA(g_hGLDLL, "glRasterPos4dv" );
   1087 	qglRasterPos4f               = GPA(g_hGLDLL, "glRasterPos4f" );
   1088 	qglRasterPos4fv              = GPA(g_hGLDLL, "glRasterPos4fv" );
   1089 	qglRasterPos4i               = GPA(g_hGLDLL, "glRasterPos4i" );
   1090 	qglRasterPos4iv              = GPA(g_hGLDLL, "glRasterPos4iv" );
   1091 	qglRasterPos4s               = GPA(g_hGLDLL, "glRasterPos4s" );
   1092 	qglRasterPos4sv              = GPA(g_hGLDLL, "glRasterPos4sv" );
   1093 	qglReadBuffer                = GPA(g_hGLDLL, "glReadBuffer" );
   1094 	qglReadPixels                = GPA(g_hGLDLL, "glReadPixels" );
   1095 	qglRectd                     = GPA(g_hGLDLL, "glRectd" );
   1096 	qglRectdv                    = GPA(g_hGLDLL, "glRectdv" );
   1097 	qglRectf                     = GPA(g_hGLDLL, "glRectf" );
   1098 	qglRectfv                    = GPA(g_hGLDLL, "glRectfv" );
   1099 	qglRecti                     = GPA(g_hGLDLL, "glRecti" );
   1100 	qglRectiv                    = GPA(g_hGLDLL, "glRectiv" );
   1101 	qglRects                     = GPA(g_hGLDLL, "glRects" );
   1102 	qglRectsv                    = GPA(g_hGLDLL, "glRectsv" );
   1103 	qglRenderMode                = GPA(g_hGLDLL, "glRenderMode" );
   1104 	qglRotated                   = GPA(g_hGLDLL, "glRotated" );
   1105 	qglRotatef                   = GPA(g_hGLDLL, "glRotatef" );
   1106 	qglScaled                    = GPA(g_hGLDLL, "glScaled" );
   1107 	qglScalef                    = GPA(g_hGLDLL, "glScalef" );
   1108 	qglScissor                   = GPA(g_hGLDLL, "glScissor" );
   1109 	qglSelectBuffer              = GPA(g_hGLDLL, "glSelectBuffer" );
   1110 	qglShadeModel                = GPA(g_hGLDLL, "glShadeModel" );
   1111 	qglStencilFunc               = GPA(g_hGLDLL, "glStencilFunc" );
   1112 	qglStencilMask               = GPA(g_hGLDLL, "glStencilMask" );
   1113 	qglStencilOp                 = GPA(g_hGLDLL, "glStencilOp" );
   1114 	qglTexCoord1d                = GPA(g_hGLDLL, "glTexCoord1d" );
   1115 	qglTexCoord1dv               = GPA(g_hGLDLL, "glTexCoord1dv" );
   1116 	qglTexCoord1f                = GPA(g_hGLDLL, "glTexCoord1f" );
   1117 	qglTexCoord1fv               = GPA(g_hGLDLL, "glTexCoord1fv" );
   1118 	qglTexCoord1i                = GPA(g_hGLDLL, "glTexCoord1i" );
   1119 	qglTexCoord1iv               = GPA(g_hGLDLL, "glTexCoord1iv" );
   1120 	qglTexCoord1s                = GPA(g_hGLDLL, "glTexCoord1s" );
   1121 	qglTexCoord1sv               = GPA(g_hGLDLL, "glTexCoord1sv" );
   1122 	qglTexCoord2d                = GPA(g_hGLDLL, "glTexCoord2d" );
   1123 	qglTexCoord2dv               = GPA(g_hGLDLL, "glTexCoord2dv" );
   1124 	qglTexCoord2f                = GPA(g_hGLDLL, "glTexCoord2f" );
   1125 	qglTexCoord2fv               = GPA(g_hGLDLL, "glTexCoord2fv" );
   1126 	qglTexCoord2i                = GPA(g_hGLDLL, "glTexCoord2i" );
   1127 	qglTexCoord2iv               = GPA(g_hGLDLL, "glTexCoord2iv" );
   1128 	qglTexCoord2s                = GPA(g_hGLDLL, "glTexCoord2s" );
   1129 	qglTexCoord2sv               = GPA(g_hGLDLL, "glTexCoord2sv" );
   1130 	qglTexCoord3d                = GPA(g_hGLDLL, "glTexCoord3d" );
   1131 	qglTexCoord3dv               = GPA(g_hGLDLL, "glTexCoord3dv" );
   1132 	qglTexCoord3f                = GPA(g_hGLDLL, "glTexCoord3f" );
   1133 	qglTexCoord3fv               = GPA(g_hGLDLL, "glTexCoord3fv" );
   1134 	qglTexCoord3i                = GPA(g_hGLDLL, "glTexCoord3i" );
   1135 	qglTexCoord3iv               = GPA(g_hGLDLL, "glTexCoord3iv" );
   1136 	qglTexCoord3s                = GPA(g_hGLDLL, "glTexCoord3s" );
   1137 	qglTexCoord3sv               = GPA(g_hGLDLL, "glTexCoord3sv" );
   1138 	qglTexCoord4d                = GPA(g_hGLDLL, "glTexCoord4d" );
   1139 	qglTexCoord4dv               = GPA(g_hGLDLL, "glTexCoord4dv" );
   1140 	qglTexCoord4f                = GPA(g_hGLDLL, "glTexCoord4f" );
   1141 	qglTexCoord4fv               = GPA(g_hGLDLL, "glTexCoord4fv" );
   1142 	qglTexCoord4i                = GPA(g_hGLDLL, "glTexCoord4i" );
   1143 	qglTexCoord4iv               = GPA(g_hGLDLL, "glTexCoord4iv" );
   1144 	qglTexCoord4s                = GPA(g_hGLDLL, "glTexCoord4s" );
   1145 	qglTexCoord4sv               = GPA(g_hGLDLL, "glTexCoord4sv" );
   1146 	qglTexCoordPointer           = GPA(g_hGLDLL, "glTexCoordPointer" );
   1147 	qglTexEnvf                   = GPA(g_hGLDLL, "glTexEnvf" );
   1148 	qglTexEnvfv                  = GPA(g_hGLDLL, "glTexEnvfv" );
   1149 	qglTexEnvi                   = GPA(g_hGLDLL, "glTexEnvi" );
   1150 	qglTexEnviv                  = GPA(g_hGLDLL, "glTexEnviv" );
   1151 	qglTexGend                   = GPA(g_hGLDLL, "glTexGend" );
   1152 	qglTexGendv                  = GPA(g_hGLDLL, "glTexGendv" );
   1153 	qglTexGenf                   = GPA(g_hGLDLL, "glTexGenf" );
   1154 	qglTexGenfv                  = GPA(g_hGLDLL, "glTexGenfv" );
   1155 	qglTexGeni                   = GPA(g_hGLDLL, "glTexGeni" );
   1156 	qglTexGeniv                  = GPA(g_hGLDLL, "glTexGeniv" );
   1157 	qglTexImage1D                = GPA(g_hGLDLL, "glTexImage1D" );
   1158 	qglTexImage2D                = GPA(g_hGLDLL, "glTexImage2D" );
   1159 	qglTexParameterf             = GPA(g_hGLDLL, "glTexParameterf" );
   1160 	qglTexParameterfv            = GPA(g_hGLDLL, "glTexParameterfv" );
   1161 	qglTexParameteri             = GPA(g_hGLDLL, "glTexParameteri" );
   1162 	qglTexParameteriv            = GPA(g_hGLDLL, "glTexParameteriv" );
   1163 	qglTexSubImage1D             = GPA(g_hGLDLL, "glTexSubImage1D" );
   1164 	qglTexSubImage2D             = GPA(g_hGLDLL, "glTexSubImage2D" );
   1165 	qglTranslated                = GPA(g_hGLDLL, "glTranslated" );
   1166 	qglTranslatef                = GPA(g_hGLDLL, "glTranslatef" );
   1167 	qglVertex2d                  = GPA(g_hGLDLL, "glVertex2d" );
   1168 	qglVertex2dv                 = GPA(g_hGLDLL, "glVertex2dv" );
   1169 	qglVertex2f                  = GPA(g_hGLDLL, "glVertex2f" );
   1170 	qglVertex2fv                 = GPA(g_hGLDLL, "glVertex2fv" );
   1171 	qglVertex2i                  = GPA(g_hGLDLL, "glVertex2i" );
   1172 	qglVertex2iv                 = GPA(g_hGLDLL, "glVertex2iv" );
   1173 	qglVertex2s                  = GPA(g_hGLDLL, "glVertex2s" );
   1174 	qglVertex2sv                 = GPA(g_hGLDLL, "glVertex2sv" );
   1175 	qglVertex3d                  = GPA(g_hGLDLL, "glVertex3d" );
   1176 	qglVertex3dv                 = GPA(g_hGLDLL, "glVertex3dv" );
   1177 	qglVertex3f                  = GPA(g_hGLDLL, "glVertex3f" );
   1178 	qglVertex3fv                 = GPA(g_hGLDLL, "glVertex3fv" );
   1179 	qglVertex3i                  = GPA(g_hGLDLL, "glVertex3i" );
   1180 	qglVertex3iv                 = GPA(g_hGLDLL, "glVertex3iv" );
   1181 	qglVertex3s                  = GPA(g_hGLDLL, "glVertex3s" );
   1182 	qglVertex3sv                 = GPA(g_hGLDLL, "glVertex3sv" );
   1183 	qglVertex4d                  = GPA(g_hGLDLL, "glVertex4d" );
   1184 	qglVertex4dv                 = GPA(g_hGLDLL, "glVertex4dv" );
   1185 	qglVertex4f                  = GPA(g_hGLDLL, "glVertex4f" );
   1186 	qglVertex4fv                 = GPA(g_hGLDLL, "glVertex4fv" );
   1187 	qglVertex4i                  = GPA(g_hGLDLL, "glVertex4i" );
   1188 	qglVertex4iv                 = GPA(g_hGLDLL, "glVertex4iv" );
   1189 	qglVertex4s                  = GPA(g_hGLDLL, "glVertex4s" );
   1190 	qglVertex4sv                 = GPA(g_hGLDLL, "glVertex4sv" );
   1191 	qglVertexPointer             = GPA(g_hGLDLL, "glVertexPointer" );
   1192 	qglViewport                  = GPA(g_hGLDLL, "glViewport" );
   1193 
   1194 	qwglCopyContext              = GPA(g_hGLDLL, "wglCopyContext" );
   1195 	qwglCreateContext            = GPA(g_hGLDLL, "wglCreateContext" );
   1196 	qwglCreateLayerContext       = GPA(g_hGLDLL, "wglCreateLayerContext" );
   1197 	qwglDeleteContext            = GPA(g_hGLDLL, "wglDeleteContext" );
   1198 	qwglDescribeLayerPlane       = GPA(g_hGLDLL, "wglDescribeLayerPlane" );
   1199 	qwglGetCurrentContext        = GPA(g_hGLDLL, "wglGetCurrentContext" );
   1200 	qwglGetCurrentDC             = GPA(g_hGLDLL, "wglGetCurrentDC" );
   1201 	qwglGetLayerPaletteEntries   = GPA(g_hGLDLL, "wglGetLayerPaletteEntries" );
   1202 	qwglGetProcAddress           = GPA(g_hGLDLL, "wglGetProcAddress" );
   1203 	qwglMakeCurrent              = GPA(g_hGLDLL, "wglMakeCurrent" );
   1204 	qwglRealizeLayerPalette      = GPA(g_hGLDLL, "wglRealizeLayerPalette" );
   1205 	qwglSetLayerPaletteEntries   = GPA(g_hGLDLL, "wglSetLayerPaletteEntries" );
   1206 	qwglShareLists               = GPA(g_hGLDLL, "wglShareLists" );
   1207 	qwglSwapLayerBuffers         = GPA(g_hGLDLL, "wglSwapLayerBuffers" );
   1208 	qwglUseFontBitmaps           = GPA(g_hGLDLL, "wglUseFontBitmapsA" );
   1209 	qwglUseFontOutlines          = GPA(g_hGLDLL, "wglUseFontOutlinesA" );
   1210 
   1211 	qwglChoosePixelFormat        = GPA(g_hGLDLL, "wglChoosePixelFormat" );
   1212 	qwglDescribePixelFormat      = GPA(g_hGLDLL, "wglDescribePixelFormat" );
   1213 	qwglGetPixelFormat           = GPA(g_hGLDLL, "wglGetPixelFormat" );
   1214 	qwglSetPixelFormat           = GPA(g_hGLDLL, "wglSetPixelFormat" );
   1215 	qwglSwapBuffers              = GPA(g_hGLDLL, "wglSwapBuffers" );
   1216 
   1217 	qwglSwapIntervalEXT = 0;
   1218 	qglPointParameterfEXT = 0;
   1219 	qglPointParameterfvEXT = 0;
   1220 	qglColorTableEXT = 0;
   1221 	qglSelectTextureSGIS = 0;
   1222 	qglMTexCoord2fSGIS = 0;
   1223 
   1224 	return 1;
   1225 }
   1226 
   1227 #pragma warning (default : 4113 4133 4047 )
   1228 
   1229 
   1230