zoukankan      html  css  js  c++  java
  • [MetaHook] Quake OpenGL function

    Quake OpenGL function for MetaHook plugin.

    Thank hzqst :D

    QGL.h

      1 #ifndef QGL_H
      2 #define QGL_H
      3 
      4 #include <gl/gl.h>
      5 #include <gl/glext.h>
      6 
      7 extern void (APIENTRY *qglAccum)(GLenum op, GLfloat value);
      8 extern void (APIENTRY *qglAlphaFunc)(GLenum func, GLclampf ref);
      9 extern GLboolean (APIENTRY *qglAreTexturesResident)(GLsizei n, const GLuint *textures, GLboolean *residences);
     10 extern void (APIENTRY *qglArrayElement)(GLint i);
     11 extern void (APIENTRY *qglBegin)(GLenum mode);
     12 extern void (APIENTRY *qglBindTexture)(GLenum target, GLuint texture);
     13 extern void (APIENTRY *qglBitmap)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
     14 extern void (APIENTRY *qglBlendFunc)(GLenum sfactor, GLenum dfactor);
     15 extern void (APIENTRY *qglCallList)(GLuint list);
     16 extern void (APIENTRY *qglCallLists)(GLsizei n, GLenum type, const GLvoid *lists);
     17 extern void (APIENTRY *qglClear)(GLbitfield mask);
     18 extern void (APIENTRY *qglClearAccum)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
     19 extern void (APIENTRY *qglClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
     20 extern void (APIENTRY *qglClearDepth)(GLclampd depth);
     21 extern void (APIENTRY *qglClearIndex)(GLfloat c);
     22 extern void (APIENTRY *qglClearStencil)(GLint s);
     23 extern void (APIENTRY *qglClipPlane)(GLenum plane, const GLdouble *equation);
     24 extern void (APIENTRY *qglColor3b)(GLbyte red, GLbyte green, GLbyte blue);
     25 extern void (APIENTRY *qglColor3bv)(const GLbyte *v);
     26 extern void (APIENTRY *qglColor3d)(GLdouble red, GLdouble green, GLdouble blue);
     27 extern void (APIENTRY *qglColor3dv)(const GLdouble *v);
     28 extern void (APIENTRY *qglColor3f)(GLfloat red, GLfloat green, GLfloat blue);
     29 extern void (APIENTRY *qglColor3fv)(const GLfloat *v);
     30 extern void (APIENTRY *qglColor3i)(GLint red, GLint green, GLint blue);
     31 extern void (APIENTRY *qglColor3iv)(const GLint *v);
     32 extern void (APIENTRY *qglColor3s)(GLshort red, GLshort green, GLshort blue);
     33 extern void (APIENTRY *qglColor3sv)(const GLshort *v);
     34 extern void (APIENTRY *qglColor3ub)(GLubyte red, GLubyte green, GLubyte blue);
     35 extern void (APIENTRY *qglColor3ubv)(const GLubyte *v);
     36 extern void (APIENTRY *qglColor3ui)(GLuint red, GLuint green, GLuint blue);
     37 extern void (APIENTRY *qglColor3uiv)(const GLuint *v);
     38 extern void (APIENTRY *qglColor3us)(GLushort red, GLushort green, GLushort blue);
     39 extern void (APIENTRY *qglColor3usv)(const GLushort *v);
     40 extern void (APIENTRY *qglColor4b)(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
     41 extern void (APIENTRY *qglColor4bv)(const GLbyte *v);
     42 extern void (APIENTRY *qglColor4d)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
     43 extern void (APIENTRY *qglColor4dv)(const GLdouble *v);
     44 extern void (APIENTRY *qglColor4f)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
     45 extern void (APIENTRY *qglColor4fv)(const GLfloat *v);
     46 extern void (APIENTRY *qglColor4i)(GLint red, GLint green, GLint blue, GLint alpha);
     47 extern void (APIENTRY *qglColor4iv)(const GLint *v);
     48 extern void (APIENTRY *qglColor4s)(GLshort red, GLshort green, GLshort blue, GLshort alpha);
     49 extern void (APIENTRY *qglColor4sv)(const GLshort *v);
     50 extern void (APIENTRY *qglColor4ub)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
     51 extern void (APIENTRY *qglColor4ubv)(const GLubyte *v);
     52 extern void (APIENTRY *qglColor4ui)(GLuint red, GLuint green, GLuint blue, GLuint alpha);
     53 extern void (APIENTRY *qglColor4uiv)(const GLuint *v);
     54 extern void (APIENTRY *qglColor4us)(GLushort red, GLushort green, GLushort blue, GLushort alpha);
     55 extern void (APIENTRY *qglColor4usv)(const GLushort *v);
     56 extern void (APIENTRY *qglColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
     57 extern void (APIENTRY *qglColorMaterial)(GLenum face, GLenum mode);
     58 extern void (APIENTRY *qglColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
     59 extern void (APIENTRY *qglCopyPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
     60 extern void (APIENTRY *qglCopyTexImage1D)(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
     61 extern void (APIENTRY *qglCopyTexImage2D)(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
     62 extern void (APIENTRY *qglCopyTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
     63 extern void (APIENTRY *qglCopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
     64 extern void (APIENTRY *qglCullFace)(GLenum mode);
     65 extern void (APIENTRY *qglDeleteLists)(GLuint list, GLsizei range);
     66 extern void (APIENTRY *qglDeleteTextures)(GLsizei n, const GLuint *textures);
     67 extern void (APIENTRY *qglDepthFunc)(GLenum func);
     68 extern void (APIENTRY *qglDepthMask)(GLboolean flag);
     69 extern void (APIENTRY *qglDepthRange)(GLclampd zNear, GLclampd zFar);
     70 extern void (APIENTRY *qglDisable)(GLenum cap);
     71 extern void (APIENTRY *qglDisableClientState)(GLenum array);
     72 extern void (APIENTRY *qglDrawArrays)(GLenum mode, GLint first, GLsizei count);
     73 extern void (APIENTRY *qglDrawBuffer)(GLenum mode);
     74 extern void (APIENTRY *qglDrawElements)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
     75 extern void (APIENTRY *qglDrawPixels)(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
     76 extern void (APIENTRY *qglEdgeFlag)(GLboolean flag);
     77 extern void (APIENTRY *qglEdgeFlagPointer)(GLsizei stride, const GLvoid *pointer);
     78 extern void (APIENTRY *qglEdgeFlagv)(const GLboolean *flag);
     79 extern void (APIENTRY *qglEnable)(GLenum cap);
     80 extern void (APIENTRY *qglEnableClientState)(GLenum array);
     81 extern void (APIENTRY *qglEnd)(void);
     82 extern void (APIENTRY *qglEndList)(void);
     83 extern void (APIENTRY *qglEvalCoord1d)(GLdouble u);
     84 extern void (APIENTRY *qglEvalCoord1dv)(const GLdouble *u);
     85 extern void (APIENTRY *qglEvalCoord1f)(GLfloat u);
     86 extern void (APIENTRY *qglEvalCoord1fv)(const GLfloat *u);
     87 extern void (APIENTRY *qglEvalCoord2d)(GLdouble u, GLdouble v);
     88 extern void (APIENTRY *qglEvalCoord2dv)(const GLdouble *u);
     89 extern void (APIENTRY *qglEvalCoord2f)(GLfloat u, GLfloat v);
     90 extern void (APIENTRY *qglEvalCoord2fv)(const GLfloat *u);
     91 extern void (APIENTRY *qglEvalMesh1)(GLenum mode, GLint i1, GLint i2);
     92 extern void (APIENTRY *qglEvalMesh2)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
     93 extern void (APIENTRY *qglEvalPoint1)(GLint i);
     94 extern void (APIENTRY *qglEvalPoint2)(GLint i, GLint j);
     95 extern void (APIENTRY *qglFeedbackBuffer)(GLsizei size, GLenum type, GLfloat *buffer);
     96 extern void (APIENTRY *qglFinish)(void);
     97 extern void (APIENTRY *qglFlush)(void);
     98 extern void (APIENTRY *qglFogf)(GLenum pname, GLfloat param);
     99 extern void (APIENTRY *qglFogfv)(GLenum pname, const GLfloat *params);
    100 extern void (APIENTRY *qglFogi)(GLenum pname, GLint param);
    101 extern void (APIENTRY *qglFogiv)(GLenum pname, const GLint *params);
    102 extern void (APIENTRY *qglFrontFace)(GLenum mode);
    103 extern void (APIENTRY *qglFrustum)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
    104 extern GLuint (APIENTRY *qglGenLists)(GLsizei range);
    105 extern void (APIENTRY *qglGenTextures)(GLsizei n, GLuint *textures);
    106 extern void (APIENTRY *qglGetBooleanv)(GLenum pname, GLboolean *params);
    107 extern void (APIENTRY *qglGetClipPlane)(GLenum plane, GLdouble *equation);
    108 extern void (APIENTRY *qglGetDoublev)(GLenum pname, GLdouble *params);
    109 extern GLenum (APIENTRY *qglGetError)(void);
    110 extern void (APIENTRY *qglGetFloatv)(GLenum pname, GLfloat *params);
    111 extern void (APIENTRY *qglGetIntegerv)(GLenum pname, GLint *params);
    112 extern void (APIENTRY *qglGetLightfv)(GLenum light, GLenum pname, GLfloat *params);
    113 extern void (APIENTRY *qglGetLightiv)(GLenum light, GLenum pname, GLint *params);
    114 extern void (APIENTRY *qglGetMapdv)(GLenum target, GLenum query, GLdouble *v);
    115 extern void (APIENTRY *qglGetMapfv)(GLenum target, GLenum query, GLfloat *v);
    116 extern void (APIENTRY *qglGetMapiv)(GLenum target, GLenum query, GLint *v);
    117 extern void (APIENTRY *qglGetMaterialfv)(GLenum face, GLenum pname, GLfloat *params);
    118 extern void (APIENTRY *qglGetMaterialiv)(GLenum face, GLenum pname, GLint *params);
    119 extern void (APIENTRY *qglGetPixelMapfv)(GLenum map, GLfloat *values);
    120 extern void (APIENTRY *qglGetPixelMapuiv)(GLenum map, GLuint *values);
    121 extern void (APIENTRY *qglGetPixelMapusv)(GLenum map, GLushort *values);
    122 extern void (APIENTRY *qglGetPointerv)(GLenum pname, GLvoid* *params);
    123 extern void (APIENTRY *qglGetPolygonStipple)(GLubyte *mask);
    124 extern const GLubyte * (APIENTRY *qglGetString)(GLenum name);
    125 extern void (APIENTRY *qglGetTexEnvfv)(GLenum target, GLenum pname, GLfloat *params);
    126 extern void (APIENTRY *qglGetTexEnviv)(GLenum target, GLenum pname, GLint *params);
    127 extern void (APIENTRY *qglGetTexGendv)(GLenum coord, GLenum pname, GLdouble *params);
    128 extern void (APIENTRY *qglGetTexGenfv)(GLenum coord, GLenum pname, GLfloat *params);
    129 extern void (APIENTRY *qglGetTexGeniv)(GLenum coord, GLenum pname, GLint *params);
    130 extern void (APIENTRY *qglGetTexImage)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
    131 extern void (APIENTRY *qglGetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat *params);
    132 extern void (APIENTRY *qglGetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint *params);
    133 extern void (APIENTRY *qglGetTexParameterfv)(GLenum target, GLenum pname, GLfloat *params);
    134 extern void (APIENTRY *qglGetTexParameteriv)(GLenum target, GLenum pname, GLint *params);
    135 extern void (APIENTRY *qglHint)(GLenum target, GLenum mode);
    136 extern void (APIENTRY *qglIndexMask)(GLuint mask);
    137 extern void (APIENTRY *qglIndexPointer)(GLenum type, GLsizei stride, const GLvoid *pointer);
    138 extern void (APIENTRY *qglIndexd)(GLdouble c);
    139 extern void (APIENTRY *qglIndexdv)(const GLdouble *c);
    140 extern void (APIENTRY *qglIndexf)(GLfloat c);
    141 extern void (APIENTRY *qglIndexfv)(const GLfloat *c);
    142 extern void (APIENTRY *qglIndexi)(GLint c);
    143 extern void (APIENTRY *qglIndexiv)(const GLint *c);
    144 extern void (APIENTRY *qglIndexs)(GLshort c);
    145 extern void (APIENTRY *qglIndexsv)(const GLshort *c);
    146 extern void (APIENTRY *qglIndexub)(GLubyte c);
    147 extern void (APIENTRY *qglIndexubv)(const GLubyte *c);
    148 extern void (APIENTRY *qglInitNames)(void);
    149 extern void (APIENTRY *qglInterleavedArrays)(GLenum format, GLsizei stride, const GLvoid *pointer);
    150 extern GLboolean (APIENTRY *qglIsEnabled)(GLenum cap);
    151 extern GLboolean (APIENTRY *qglIsList)(GLuint list);
    152 extern GLboolean (APIENTRY *qglIsTexture)(GLuint texture);
    153 extern void (APIENTRY *qglLightModelf)(GLenum pname, GLfloat param);
    154 extern void (APIENTRY *qglLightModelfv)(GLenum pname, const GLfloat *params);
    155 extern void (APIENTRY *qglLightModeli)(GLenum pname, GLint param);
    156 extern void (APIENTRY *qglLightModeliv)(GLenum pname, const GLint *params);
    157 extern void (APIENTRY *qglLightf)(GLenum light, GLenum pname, GLfloat param);
    158 extern void (APIENTRY *qglLightfv)(GLenum light, GLenum pname, const GLfloat *params);
    159 extern void (APIENTRY *qglLighti)(GLenum light, GLenum pname, GLint param);
    160 extern void (APIENTRY *qglLightiv)(GLenum light, GLenum pname, const GLint *params);
    161 extern void (APIENTRY *qglLineStipple)(GLint factor, GLushort pattern);
    162 extern void (APIENTRY *qglLineWidth)(GLfloat width);
    163 extern void (APIENTRY *qglListBase)(GLuint base);
    164 extern void (APIENTRY *qglLoadIdentity)(void);
    165 extern void (APIENTRY *qglLoadMatrixd)(const GLdouble *m);
    166 extern void (APIENTRY *qglLoadMatrixf)(const GLfloat *m);
    167 extern void (APIENTRY *qglLoadName)(GLuint name);
    168 extern void (APIENTRY *qglLogicOp)(GLenum opcode);
    169 extern void (APIENTRY *qglMap1d)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
    170 extern void (APIENTRY *qglMap1f)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
    171 extern void (APIENTRY *qglMap2d)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
    172 extern void (APIENTRY *qglMap2f)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
    173 extern void (APIENTRY *qglMapGrid1d)(GLint un, GLdouble u1, GLdouble u2);
    174 extern void (APIENTRY *qglMapGrid1f)(GLint un, GLfloat u1, GLfloat u2);
    175 extern void (APIENTRY *qglMapGrid2d)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
    176 extern void (APIENTRY *qglMapGrid2f)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
    177 extern void (APIENTRY *qglMaterialf)(GLenum face, GLenum pname, GLfloat param);
    178 extern void (APIENTRY *qglMaterialfv)(GLenum face, GLenum pname, const GLfloat *params);
    179 extern void (APIENTRY *qglMateriali)(GLenum face, GLenum pname, GLint param);
    180 extern void (APIENTRY *qglMaterialiv)(GLenum face, GLenum pname, const GLint *params);
    181 extern void (APIENTRY *qglMatrixMode)(GLenum mode);
    182 extern void (APIENTRY *qglMultMatrixd)(const GLdouble *m);
    183 extern void (APIENTRY *qglMultMatrixf)(const GLfloat *m);
    184 extern void (APIENTRY *qglNewList)(GLuint list, GLenum mode);
    185 extern void (APIENTRY *qglNormal3b)(GLbyte nx, GLbyte ny, GLbyte nz);
    186 extern void (APIENTRY *qglNormal3bv)(const GLbyte *v);
    187 extern void (APIENTRY *qglNormal3d)(GLdouble nx, GLdouble ny, GLdouble nz);
    188 extern void (APIENTRY *qglNormal3dv)(const GLdouble *v);
    189 extern void (APIENTRY *qglNormal3f)(GLfloat nx, GLfloat ny, GLfloat nz);
    190 extern void (APIENTRY *qglNormal3fv)(const GLfloat *v);
    191 extern void (APIENTRY *qglNormal3i)(GLint nx, GLint ny, GLint nz);
    192 extern void (APIENTRY *qglNormal3iv)(const GLint *v);
    193 extern void (APIENTRY *qglNormal3s)(GLshort nx, GLshort ny, GLshort nz);
    194 extern void (APIENTRY *qglNormal3sv)(const GLshort *v);
    195 extern void (APIENTRY *qglNormalPointer)(GLenum type, GLsizei stride, const GLvoid *pointer);
    196 extern void (APIENTRY *qglOrtho)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
    197 extern void (APIENTRY *qglPassThrough)(GLfloat token);
    198 extern void (APIENTRY *qglPixelMapfv)(GLenum map, GLsizei mapsize, const GLfloat *values);
    199 extern void (APIENTRY *qglPixelMapuiv)(GLenum map, GLsizei mapsize, const GLuint *values);
    200 extern void (APIENTRY *qglPixelMapusv)(GLenum map, GLsizei mapsize, const GLushort *values);
    201 extern void (APIENTRY *qglPixelStoref)(GLenum pname, GLfloat param);
    202 extern void (APIENTRY *qglPixelStorei)(GLenum pname, GLint param);
    203 extern void (APIENTRY *qglPixelTransferf)(GLenum pname, GLfloat param);
    204 extern void (APIENTRY *qglPixelTransferi)(GLenum pname, GLint param);
    205 extern void (APIENTRY *qglPixelZoom)(GLfloat xfactor, GLfloat yfactor);
    206 extern void (APIENTRY *qglPointSize)(GLfloat size);
    207 extern void (APIENTRY *qglPolygonMode)(GLenum face, GLenum mode);
    208 extern void (APIENTRY *qglPolygonOffset)(GLfloat factor, GLfloat units);
    209 extern void (APIENTRY *qglPolygonStipple)(const GLubyte *mask);
    210 extern void (APIENTRY *qglPopAttrib)(void);
    211 extern void (APIENTRY *qglPopClientAttrib)(void);
    212 extern void (APIENTRY *qglPopMatrix)(void);
    213 extern void (APIENTRY *qglPopName)(void);
    214 extern void (APIENTRY *qglPrioritizeTextures)(GLsizei n, const GLuint *textures, const GLclampf *priorities);
    215 extern void (APIENTRY *qglPushAttrib)(GLbitfield mask);
    216 extern void (APIENTRY *qglPushClientAttrib)(GLbitfield mask);
    217 extern void (APIENTRY *qglPushMatrix)(void);
    218 extern void (APIENTRY *qglPushName)(GLuint name);
    219 extern void (APIENTRY *qglRasterPos2d)(GLdouble x, GLdouble y);
    220 extern void (APIENTRY *qglRasterPos2dv)(const GLdouble *v);
    221 extern void (APIENTRY *qglRasterPos2f)(GLfloat x, GLfloat y);
    222 extern void (APIENTRY *qglRasterPos2fv)(const GLfloat *v);
    223 extern void (APIENTRY *qglRasterPos2i)(GLint x, GLint y);
    224 extern void (APIENTRY *qglRasterPos2iv)(const GLint *v);
    225 extern void (APIENTRY *qglRasterPos2s)(GLshort x, GLshort y);
    226 extern void (APIENTRY *qglRasterPos2sv)(const GLshort *v);
    227 extern void (APIENTRY *qglRasterPos3d)(GLdouble x, GLdouble y, GLdouble z);
    228 extern void (APIENTRY *qglRasterPos3dv)(const GLdouble *v);
    229 extern void (APIENTRY *qglRasterPos3f)(GLfloat x, GLfloat y, GLfloat z);
    230 extern void (APIENTRY *qglRasterPos3fv)(const GLfloat *v);
    231 extern void (APIENTRY *qglRasterPos3i)(GLint x, GLint y, GLint z);
    232 extern void (APIENTRY *qglRasterPos3iv)(const GLint *v);
    233 extern void (APIENTRY *qglRasterPos3s)(GLshort x, GLshort y, GLshort z);
    234 extern void (APIENTRY *qglRasterPos3sv)(const GLshort *v);
    235 extern void (APIENTRY *qglRasterPos4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
    236 extern void (APIENTRY *qglRasterPos4dv)(const GLdouble *v);
    237 extern void (APIENTRY *qglRasterPos4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
    238 extern void (APIENTRY *qglRasterPos4fv)(const GLfloat *v);
    239 extern void (APIENTRY *qglRasterPos4i)(GLint x, GLint y, GLint z, GLint w);
    240 extern void (APIENTRY *qglRasterPos4iv)(const GLint *v);
    241 extern void (APIENTRY *qglRasterPos4s)(GLshort x, GLshort y, GLshort z, GLshort w);
    242 extern void (APIENTRY *qglRasterPos4sv)(const GLshort *v);
    243 extern void (APIENTRY *qglReadBuffer)(GLenum mode);
    244 extern void (APIENTRY *qglReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
    245 extern void (APIENTRY *qglRectd)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
    246 extern void (APIENTRY *qglRectdv)(const GLdouble *v1, const GLdouble *v2);
    247 extern void (APIENTRY *qglRectf)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
    248 extern void (APIENTRY *qglRectfv)(const GLfloat *v1, const GLfloat *v2);
    249 extern void (APIENTRY *qglRecti)(GLint x1, GLint y1, GLint x2, GLint y2);
    250 extern void (APIENTRY *qglRectiv)(const GLint *v1, const GLint *v2);
    251 extern void (APIENTRY *qglRects)(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
    252 extern void (APIENTRY *qglRectsv)(const GLshort *v1, const GLshort *v2);
    253 extern GLint (APIENTRY *qglRenderMode)(GLenum mode);
    254 extern void (APIENTRY *qglRotated)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
    255 extern void (APIENTRY *qglRotatef)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
    256 extern void (APIENTRY *qglScaled)(GLdouble x, GLdouble y, GLdouble z);
    257 extern void (APIENTRY *qglScalef)(GLfloat x, GLfloat y, GLfloat z);
    258 extern void (APIENTRY *qglScissor)(GLint x, GLint y, GLsizei width, GLsizei height);
    259 extern void (APIENTRY *qglSelectBuffer)(GLsizei size, GLuint *buffer);
    260 extern void (APIENTRY *qglShadeModel)(GLenum mode);
    261 extern void (APIENTRY *qglStencilFunc)(GLenum func, GLint ref, GLuint mask);
    262 extern void (APIENTRY *qglStencilMask)(GLuint mask);
    263 extern void (APIENTRY *qglStencilOp)(GLenum fail, GLenum zfail, GLenum zpass);
    264 extern void (APIENTRY *qglTexCoord1d)(GLdouble s);
    265 extern void (APIENTRY *qglTexCoord1dv)(const GLdouble *v);
    266 extern void (APIENTRY *qglTexCoord1f)(GLfloat s);
    267 extern void (APIENTRY *qglTexCoord1fv)(const GLfloat *v);
    268 extern void (APIENTRY *qglTexCoord1i)(GLint s);
    269 extern void (APIENTRY *qglTexCoord1iv)(const GLint *v);
    270 extern void (APIENTRY *qglTexCoord1s)(GLshort s);
    271 extern void (APIENTRY *qglTexCoord1sv)(const GLshort *v);
    272 extern void (APIENTRY *qglTexCoord2d)(GLdouble s, GLdouble t);
    273 extern void (APIENTRY *qglTexCoord2dv)(const GLdouble *v);
    274 extern void (APIENTRY *qglTexCoord2f)(GLfloat s, GLfloat t);
    275 extern void (APIENTRY *qglTexCoord2fv)(const GLfloat *v);
    276 extern void (APIENTRY *qglTexCoord2i)(GLint s, GLint t);
    277 extern void (APIENTRY *qglTexCoord2iv)(const GLint *v);
    278 extern void (APIENTRY *qglTexCoord2s)(GLshort s, GLshort t);
    279 extern void (APIENTRY *qglTexCoord2sv)(const GLshort *v);
    280 extern void (APIENTRY *qglTexCoord3d)(GLdouble s, GLdouble t, GLdouble r);
    281 extern void (APIENTRY *qglTexCoord3dv)(const GLdouble *v);
    282 extern void (APIENTRY *qglTexCoord3f)(GLfloat s, GLfloat t, GLfloat r);
    283 extern void (APIENTRY *qglTexCoord3fv)(const GLfloat *v);
    284 extern void (APIENTRY *qglTexCoord3i)(GLint s, GLint t, GLint r);
    285 extern void (APIENTRY *qglTexCoord3iv)(const GLint *v);
    286 extern void (APIENTRY *qglTexCoord3s)(GLshort s, GLshort t, GLshort r);
    287 extern void (APIENTRY *qglTexCoord3sv)(const GLshort *v);
    288 extern void (APIENTRY *qglTexCoord4d)(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
    289 extern void (APIENTRY *qglTexCoord4dv)(const GLdouble *v);
    290 extern void (APIENTRY *qglTexCoord4f)(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
    291 extern void (APIENTRY *qglTexCoord4fv)(const GLfloat *v);
    292 extern void (APIENTRY *qglTexCoord4i)(GLint s, GLint t, GLint r, GLint q);
    293 extern void (APIENTRY *qglTexCoord4iv)(const GLint *v);
    294 extern void (APIENTRY *qglTexCoord4s)(GLshort s, GLshort t, GLshort r, GLshort q);
    295 extern void (APIENTRY *qglTexCoord4sv)(const GLshort *v);
    296 extern void (APIENTRY *qglTexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    297 extern void (APIENTRY *qglTexEnvf)(GLenum target, GLenum pname, GLfloat param);
    298 extern void (APIENTRY *qglTexEnvfv)(GLenum target, GLenum pname, const GLfloat *params);
    299 extern void (APIENTRY *qglTexEnvi)(GLenum target, GLenum pname, GLint param);
    300 extern void (APIENTRY *qglTexEnviv)(GLenum target, GLenum pname, const GLint *params);
    301 extern void (APIENTRY *qglTexGend)(GLenum coord, GLenum pname, GLdouble param);
    302 extern void (APIENTRY *qglTexGendv)(GLenum coord, GLenum pname, const GLdouble *params);
    303 extern void (APIENTRY *qglTexGenf)(GLenum coord, GLenum pname, GLfloat param);
    304 extern void (APIENTRY *qglTexGenfv)(GLenum coord, GLenum pname, const GLfloat *params);
    305 extern void (APIENTRY *qglTexGeni)(GLenum coord, GLenum pname, GLint param);
    306 extern void (APIENTRY *qglTexGeniv)(GLenum coord, GLenum pname, const GLint *params);
    307 extern void (APIENTRY *qglTexImage1D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
    308 extern void (APIENTRY *qglTexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
    309 extern void (APIENTRY *qglTexParameterf)(GLenum target, GLenum pname, GLfloat param);
    310 extern void (APIENTRY *qglTexParameterfv)(GLenum target, GLenum pname, const GLfloat *params);
    311 extern void (APIENTRY *qglTexParameteri)(GLenum target, GLenum pname, GLint param);
    312 extern void (APIENTRY *qglTexParameteriv)(GLenum target, GLenum pname, const GLint *params);
    313 extern void (APIENTRY *qglTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
    314 extern void (APIENTRY *qglTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
    315 extern void (APIENTRY *qglTranslated)(GLdouble x, GLdouble y, GLdouble z);
    316 extern void (APIENTRY *qglTranslatef)(GLfloat x, GLfloat y, GLfloat z);
    317 extern void (APIENTRY *qglVertex2d)(GLdouble x, GLdouble y);
    318 extern void (APIENTRY *qglVertex2dv)(const GLdouble *v);
    319 extern void (APIENTRY *qglVertex2f)(GLfloat x, GLfloat y);
    320 extern void (APIENTRY *qglVertex2fv)(const GLfloat *v);
    321 extern void (APIENTRY *qglVertex2i)(GLint x, GLint y);
    322 extern void (APIENTRY *qglVertex2iv)(const GLint *v);
    323 extern void (APIENTRY *qglVertex2s)(GLshort x, GLshort y);
    324 extern void (APIENTRY *qglVertex2sv)(const GLshort *v);
    325 extern void (APIENTRY *qglVertex3d)(GLdouble x, GLdouble y, GLdouble z);
    326 extern void (APIENTRY *qglVertex3dv)(const GLdouble *v);
    327 extern void (APIENTRY *qglVertex3f)(GLfloat x, GLfloat y, GLfloat z);
    328 extern void (APIENTRY *qglVertex3fv)(const GLfloat *v);
    329 extern void (APIENTRY *qglVertex3i)(GLint x, GLint y, GLint z);
    330 extern void (APIENTRY *qglVertex3iv)(const GLint *v);
    331 extern void (APIENTRY *qglVertex3s)(GLshort x, GLshort y, GLshort z);
    332 extern void (APIENTRY *qglVertex3sv)(const GLshort *v);
    333 extern void (APIENTRY *qglVertex4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
    334 extern void (APIENTRY *qglVertex4dv)(const GLdouble *v);
    335 extern void (APIENTRY *qglVertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
    336 extern void (APIENTRY *qglVertex4fv)(const GLfloat *v);
    337 extern void (APIENTRY *qglVertex4i)(GLint x, GLint y, GLint z, GLint w);
    338 extern void (APIENTRY *qglVertex4iv)(const GLint *v);
    339 extern void (APIENTRY *qglVertex4s)(GLshort x, GLshort y, GLshort z, GLshort w);
    340 extern void (APIENTRY *qglVertex4sv)(const GLshort *v);
    341 extern void (APIENTRY *qglVertexPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    342 extern void (APIENTRY *qglViewport)(GLint x, GLint y, GLsizei width, GLsizei height);
    343 
    344 extern void (APIENTRY *qglActiveTexture)(GLenum texture);
    345 extern void (APIENTRY *qglSampleCoverage)(GLclampf value, GLboolean invert);
    346 extern void (APIENTRY *qglCompressedTexImage3D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
    347 extern void (APIENTRY *qglCompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
    348 extern void (APIENTRY *qglCompressedTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
    349 extern void (APIENTRY *qglCompressedTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
    350 extern void (APIENTRY *qglCompressedTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
    351 extern void (APIENTRY *qglCompressedTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
    352 extern void (APIENTRY *qglGetCompressedTexImage)(GLenum target, GLint level, GLvoid *img);
    353 
    354 extern GLboolean (APIENTRY *qglIsRenderbuffer)(GLuint renderbuffer);
    355 extern void (APIENTRY *qglBindRenderbuffer)(GLenum target, GLuint renderbuffer);
    356 extern void (APIENTRY *qglDeleteRenderbuffers)(GLsizei n, const GLuint *renderbuffers);
    357 extern void (APIENTRY *qglGenRenderbuffers)(GLsizei n, GLuint *renderbuffers);
    358 extern void (APIENTRY *qglRenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
    359 extern void (APIENTRY *qglGetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint *params);
    360 extern GLboolean (APIENTRY *qglIsFramebuffer)(GLuint framebuffer);
    361 extern void (APIENTRY *qglBindFramebuffer)(GLenum target, GLuint framebuffer);
    362 extern void (APIENTRY *qglDeleteFramebuffers)(GLsizei n, const GLuint *framebuffers);
    363 extern void (APIENTRY *qglGenFramebuffers)(GLsizei n, GLuint *framebuffers);
    364 extern GLenum (APIENTRY *qglCheckFramebufferStatus)(GLenum target);
    365 extern void (APIENTRY *qglFramebufferTexture1D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
    366 extern void (APIENTRY *qglFramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
    367 extern void (APIENTRY *qglFramebufferTexture3D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
    368 extern void (APIENTRY *qglFramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
    369 extern void (APIENTRY *qglGetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint *params);
    370 extern void (APIENTRY *qglGenerateMipmap)(GLenum target);
    371 extern void (APIENTRY *qglBlitFramebuffer)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
    372 extern void (APIENTRY *qglRenderbufferStorageMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
    373 extern void (APIENTRY *qglFramebufferTextureLayer)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer);
    374 
    375 void QGL_Init(void);
    376 
    377 #endif

    QGL.cpp

      1 #include <metahook.h>
      2 
      3 #include <gl/gl.h>
      4 #include <gl/glext.h>
      5 
      6 void (APIENTRY *qglAccum)(GLenum op, GLfloat value) = 0;
      7 void (APIENTRY *qglAlphaFunc)(GLenum func, GLclampf ref) = 0;
      8 GLboolean (APIENTRY *qglAreTexturesResident)(GLsizei n, const GLuint *textures, GLboolean *residences) = 0;
      9 void (APIENTRY *qglArrayElement)(GLint i) = 0;
     10 void (APIENTRY *qglBegin)(GLenum mode) = 0;
     11 void (APIENTRY *qglBindTexture)(GLenum target, GLuint texture) = 0;
     12 void (APIENTRY *qglBitmap)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap) = 0;
     13 void (APIENTRY *qglBlendFunc)(GLenum sfactor, GLenum dfactor) = 0;
     14 void (APIENTRY *qglCallList)(GLuint list) = 0;
     15 void (APIENTRY *qglCallLists)(GLsizei n, GLenum type, const GLvoid *lists) = 0;
     16 void (APIENTRY *qglClear)(GLbitfield mask) = 0;
     17 void (APIENTRY *qglClearAccum)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) = 0;
     18 void (APIENTRY *qglClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) = 0;
     19 void (APIENTRY *qglClearDepth)(GLclampd depth) = 0;
     20 void (APIENTRY *qglClearIndex)(GLfloat c) = 0;
     21 void (APIENTRY *qglClearStencil)(GLint s) = 0;
     22 void (APIENTRY *qglClipPlane)(GLenum plane, const GLdouble *equation) = 0;
     23 void (APIENTRY *qglColor3b)(GLbyte red, GLbyte green, GLbyte blue) = 0;
     24 void (APIENTRY *qglColor3bv)(const GLbyte *v) = 0;
     25 void (APIENTRY *qglColor3d)(GLdouble red, GLdouble green, GLdouble blue) = 0;
     26 void (APIENTRY *qglColor3dv)(const GLdouble *v) = 0;
     27 void (APIENTRY *qglColor3f)(GLfloat red, GLfloat green, GLfloat blue) = 0;
     28 void (APIENTRY *qglColor3fv)(const GLfloat *v) = 0;
     29 void (APIENTRY *qglColor3i)(GLint red, GLint green, GLint blue) = 0;
     30 void (APIENTRY *qglColor3iv)(const GLint *v) = 0;
     31 void (APIENTRY *qglColor3s)(GLshort red, GLshort green, GLshort blue) = 0;
     32 void (APIENTRY *qglColor3sv)(const GLshort *v) = 0;
     33 void (APIENTRY *qglColor3ub)(GLubyte red, GLubyte green, GLubyte blue) = 0;
     34 void (APIENTRY *qglColor3ubv)(const GLubyte *v) = 0;
     35 void (APIENTRY *qglColor3ui)(GLuint red, GLuint green, GLuint blue) = 0;
     36 void (APIENTRY *qglColor3uiv)(const GLuint *v) = 0;
     37 void (APIENTRY *qglColor3us)(GLushort red, GLushort green, GLushort blue) = 0;
     38 void (APIENTRY *qglColor3usv)(const GLushort *v) = 0;
     39 void (APIENTRY *qglColor4b)(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha) = 0;
     40 void (APIENTRY *qglColor4bv)(const GLbyte *v) = 0;
     41 void (APIENTRY *qglColor4d)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha) = 0;
     42 void (APIENTRY *qglColor4dv)(const GLdouble *v) = 0;
     43 void (APIENTRY *qglColor4f)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) = 0;
     44 void (APIENTRY *qglColor4fv)(const GLfloat *v) = 0;
     45 void (APIENTRY *qglColor4i)(GLint red, GLint green, GLint blue, GLint alpha) = 0;
     46 void (APIENTRY *qglColor4iv)(const GLint *v) = 0;
     47 void (APIENTRY *qglColor4s)(GLshort red, GLshort green, GLshort blue, GLshort alpha) = 0;
     48 void (APIENTRY *qglColor4sv)(const GLshort *v) = 0;
     49 void (APIENTRY *qglColor4ub)(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha) = 0;
     50 void (APIENTRY *qglColor4ubv)(const GLubyte *v) = 0;
     51 void (APIENTRY *qglColor4ui)(GLuint red, GLuint green, GLuint blue, GLuint alpha) = 0;
     52 void (APIENTRY *qglColor4uiv)(const GLuint *v) = 0;
     53 void (APIENTRY *qglColor4us)(GLushort red, GLushort green, GLushort blue, GLushort alpha) = 0;
     54 void (APIENTRY *qglColor4usv)(const GLushort *v) = 0;
     55 void (APIENTRY *qglColorMask)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) = 0;
     56 void (APIENTRY *qglColorMaterial)(GLenum face, GLenum mode) = 0;
     57 void (APIENTRY *qglColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) = 0;
     58 void (APIENTRY *qglCopyPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type) = 0;
     59 void (APIENTRY *qglCopyTexImage1D)(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border) = 0;
     60 void (APIENTRY *qglCopyTexImage2D)(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border) = 0;
     61 void (APIENTRY *qglCopyTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width) = 0;
     62 void (APIENTRY *qglCopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) = 0;
     63 void (APIENTRY *qglCullFace)(GLenum mode) = 0;
     64 void (APIENTRY *qglDeleteLists)(GLuint list, GLsizei range) = 0;
     65 void (APIENTRY *qglDeleteTextures)(GLsizei n, const GLuint *textures) = 0;
     66 void (APIENTRY *qglDepthFunc)(GLenum func) = 0;
     67 void (APIENTRY *qglDepthMask)(GLboolean flag) = 0;
     68 void (APIENTRY *qglDepthRange)(GLclampd zNear, GLclampd zFar) = 0;
     69 void (APIENTRY *qglDisable)(GLenum cap) = 0;
     70 void (APIENTRY *qglDisableClientState)(GLenum array) = 0;
     71 void (APIENTRY *qglDrawArrays)(GLenum mode, GLint first, GLsizei count) = 0;
     72 void (APIENTRY *qglDrawBuffer)(GLenum mode) = 0;
     73 void (APIENTRY *qglDrawElements)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices) = 0;
     74 void (APIENTRY *qglDrawPixels)(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) = 0;
     75 void (APIENTRY *qglEdgeFlag)(GLboolean flag) = 0;
     76 void (APIENTRY *qglEdgeFlagPointer)(GLsizei stride, const GLvoid *pointer) = 0;
     77 void (APIENTRY *qglEdgeFlagv)(const GLboolean *flag) = 0;
     78 void (APIENTRY *qglEnable)(GLenum cap) = 0;
     79 void (APIENTRY *qglEnableClientState)(GLenum array) = 0;
     80 void (APIENTRY *qglEnd)(void) = 0;
     81 void (APIENTRY *qglEndList)(void) = 0;
     82 void (APIENTRY *qglEvalCoord1d)(GLdouble u) = 0;
     83 void (APIENTRY *qglEvalCoord1dv)(const GLdouble *u) = 0;
     84 void (APIENTRY *qglEvalCoord1f)(GLfloat u) = 0;
     85 void (APIENTRY *qglEvalCoord1fv)(const GLfloat *u) = 0;
     86 void (APIENTRY *qglEvalCoord2d)(GLdouble u, GLdouble v) = 0;
     87 void (APIENTRY *qglEvalCoord2dv)(const GLdouble *u) = 0;
     88 void (APIENTRY *qglEvalCoord2f)(GLfloat u, GLfloat v) = 0;
     89 void (APIENTRY *qglEvalCoord2fv)(const GLfloat *u) = 0;
     90 void (APIENTRY *qglEvalMesh1)(GLenum mode, GLint i1, GLint i2) = 0;
     91 void (APIENTRY *qglEvalMesh2)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2) = 0;
     92 void (APIENTRY *qglEvalPoint1)(GLint i) = 0;
     93 void (APIENTRY *qglEvalPoint2)(GLint i, GLint j) = 0;
     94 void (APIENTRY *qglFeedbackBuffer)(GLsizei size, GLenum type, GLfloat *buffer) = 0;
     95 void (APIENTRY *qglFinish)(void) = 0;
     96 void (APIENTRY *qglFlush)(void) = 0;
     97 void (APIENTRY *qglFogf)(GLenum pname, GLfloat param) = 0;
     98 void (APIENTRY *qglFogfv)(GLenum pname, const GLfloat *params) = 0;
     99 void (APIENTRY *qglFogi)(GLenum pname, GLint param) = 0;
    100 void (APIENTRY *qglFogiv)(GLenum pname, const GLint *params) = 0;
    101 void (APIENTRY *qglFrontFace)(GLenum mode) = 0;
    102 void (APIENTRY *qglFrustum)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) = 0;
    103 GLuint (APIENTRY *qglGenLists)(GLsizei range) = 0;
    104 void (APIENTRY *qglGenTextures)(GLsizei n, GLuint *textures) = 0;
    105 void (APIENTRY *qglGetBooleanv)(GLenum pname, GLboolean *params) = 0;
    106 void (APIENTRY *qglGetClipPlane)(GLenum plane, GLdouble *equation) = 0;
    107 void (APIENTRY *qglGetDoublev)(GLenum pname, GLdouble *params) = 0;
    108 GLenum (APIENTRY *qglGetError)(void) = 0;
    109 void (APIENTRY *qglGetFloatv)(GLenum pname, GLfloat *params) = 0;
    110 void (APIENTRY *qglGetIntegerv)(GLenum pname, GLint *params) = 0;
    111 void (APIENTRY *qglGetLightfv)(GLenum light, GLenum pname, GLfloat *params) = 0;
    112 void (APIENTRY *qglGetLightiv)(GLenum light, GLenum pname, GLint *params) = 0;
    113 void (APIENTRY *qglGetMapdv)(GLenum target, GLenum query, GLdouble *v) = 0;
    114 void (APIENTRY *qglGetMapfv)(GLenum target, GLenum query, GLfloat *v) = 0;
    115 void (APIENTRY *qglGetMapiv)(GLenum target, GLenum query, GLint *v) = 0;
    116 void (APIENTRY *qglGetMaterialfv)(GLenum face, GLenum pname, GLfloat *params) = 0;
    117 void (APIENTRY *qglGetMaterialiv)(GLenum face, GLenum pname, GLint *params) = 0;
    118 void (APIENTRY *qglGetPixelMapfv)(GLenum map, GLfloat *values) = 0;
    119 void (APIENTRY *qglGetPixelMapuiv)(GLenum map, GLuint *values) = 0;
    120 void (APIENTRY *qglGetPixelMapusv)(GLenum map, GLushort *values) = 0;
    121 void (APIENTRY *qglGetPointerv)(GLenum pname, GLvoid* *params) = 0;
    122 void (APIENTRY *qglGetPolygonStipple)(GLubyte *mask) = 0;
    123 const GLubyte * (APIENTRY *qglGetString)(GLenum name) = 0;
    124 void (APIENTRY *qglGetTexEnvfv)(GLenum target, GLenum pname, GLfloat *params) = 0;
    125 void (APIENTRY *qglGetTexEnviv)(GLenum target, GLenum pname, GLint *params) = 0;
    126 void (APIENTRY *qglGetTexGendv)(GLenum coord, GLenum pname, GLdouble *params) = 0;
    127 void (APIENTRY *qglGetTexGenfv)(GLenum coord, GLenum pname, GLfloat *params) = 0;
    128 void (APIENTRY *qglGetTexGeniv)(GLenum coord, GLenum pname, GLint *params) = 0;
    129 void (APIENTRY *qglGetTexImage)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels) = 0;
    130 void (APIENTRY *qglGetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat *params) = 0;
    131 void (APIENTRY *qglGetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint *params) = 0;
    132 void (APIENTRY *qglGetTexParameterfv)(GLenum target, GLenum pname, GLfloat *params) = 0;
    133 void (APIENTRY *qglGetTexParameteriv)(GLenum target, GLenum pname, GLint *params) = 0;
    134 void (APIENTRY *qglHint)(GLenum target, GLenum mode) = 0;
    135 void (APIENTRY *qglIndexMask)(GLuint mask) = 0;
    136 void (APIENTRY *qglIndexPointer)(GLenum type, GLsizei stride, const GLvoid *pointer) = 0;
    137 void (APIENTRY *qglIndexd)(GLdouble c) = 0;
    138 void (APIENTRY *qglIndexdv)(const GLdouble *c) = 0;
    139 void (APIENTRY *qglIndexf)(GLfloat c) = 0;
    140 void (APIENTRY *qglIndexfv)(const GLfloat *c) = 0;
    141 void (APIENTRY *qglIndexi)(GLint c) = 0;
    142 void (APIENTRY *qglIndexiv)(const GLint *c) = 0;
    143 void (APIENTRY *qglIndexs)(GLshort c) = 0;
    144 void (APIENTRY *qglIndexsv)(const GLshort *c) = 0;
    145 void (APIENTRY *qglIndexub)(GLubyte c) = 0;
    146 void (APIENTRY *qglIndexubv)(const GLubyte *c) = 0;
    147 void (APIENTRY *qglInitNames)(void) = 0;
    148 void (APIENTRY *qglInterleavedArrays)(GLenum format, GLsizei stride, const GLvoid *pointer) = 0;
    149 GLboolean (APIENTRY *qglIsEnabled)(GLenum cap) = 0;
    150 GLboolean (APIENTRY *qglIsList)(GLuint list) = 0;
    151 GLboolean (APIENTRY *qglIsTexture)(GLuint texture) = 0;
    152 void (APIENTRY *qglLightModelf)(GLenum pname, GLfloat param) = 0;
    153 void (APIENTRY *qglLightModelfv)(GLenum pname, const GLfloat *params) = 0;
    154 void (APIENTRY *qglLightModeli)(GLenum pname, GLint param) = 0;
    155 void (APIENTRY *qglLightModeliv)(GLenum pname, const GLint *params) = 0;
    156 void (APIENTRY *qglLightf)(GLenum light, GLenum pname, GLfloat param) = 0;
    157 void (APIENTRY *qglLightfv)(GLenum light, GLenum pname, const GLfloat *params) = 0;
    158 void (APIENTRY *qglLighti)(GLenum light, GLenum pname, GLint param) = 0;
    159 void (APIENTRY *qglLightiv)(GLenum light, GLenum pname, const GLint *params) = 0;
    160 void (APIENTRY *qglLineStipple)(GLint factor, GLushort pattern) = 0;
    161 void (APIENTRY *qglLineWidth)(GLfloat width) = 0;
    162 void (APIENTRY *qglListBase)(GLuint base) = 0;
    163 void (APIENTRY *qglLoadIdentity)(void) = 0;
    164 void (APIENTRY *qglLoadMatrixd)(const GLdouble *m) = 0;
    165 void (APIENTRY *qglLoadMatrixf)(const GLfloat *m) = 0;
    166 void (APIENTRY *qglLoadName)(GLuint name) = 0;
    167 void (APIENTRY *qglLogicOp)(GLenum opcode) = 0;
    168 void (APIENTRY *qglMap1d)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points) = 0;
    169 void (APIENTRY *qglMap1f)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points) = 0;
    170 void (APIENTRY *qglMap2d)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points) = 0;
    171 void (APIENTRY *qglMap2f)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points) = 0;
    172 void (APIENTRY *qglMapGrid1d)(GLint un, GLdouble u1, GLdouble u2) = 0;
    173 void (APIENTRY *qglMapGrid1f)(GLint un, GLfloat u1, GLfloat u2) = 0;
    174 void (APIENTRY *qglMapGrid2d)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2) = 0;
    175 void (APIENTRY *qglMapGrid2f)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2) = 0;
    176 void (APIENTRY *qglMaterialf)(GLenum face, GLenum pname, GLfloat param) = 0;
    177 void (APIENTRY *qglMaterialfv)(GLenum face, GLenum pname, const GLfloat *params) = 0;
    178 void (APIENTRY *qglMateriali)(GLenum face, GLenum pname, GLint param) = 0;
    179 void (APIENTRY *qglMaterialiv)(GLenum face, GLenum pname, const GLint *params) = 0;
    180 void (APIENTRY *qglMatrixMode)(GLenum mode) = 0;
    181 void (APIENTRY *qglMultMatrixd)(const GLdouble *m) = 0;
    182 void (APIENTRY *qglMultMatrixf)(const GLfloat *m) = 0;
    183 void (APIENTRY *qglNewList)(GLuint list, GLenum mode) = 0;
    184 void (APIENTRY *qglNormal3b)(GLbyte nx, GLbyte ny, GLbyte nz) = 0;
    185 void (APIENTRY *qglNormal3bv)(const GLbyte *v) = 0;
    186 void (APIENTRY *qglNormal3d)(GLdouble nx, GLdouble ny, GLdouble nz) = 0;
    187 void (APIENTRY *qglNormal3dv)(const GLdouble *v) = 0;
    188 void (APIENTRY *qglNormal3f)(GLfloat nx, GLfloat ny, GLfloat nz) = 0;
    189 void (APIENTRY *qglNormal3fv)(const GLfloat *v) = 0;
    190 void (APIENTRY *qglNormal3i)(GLint nx, GLint ny, GLint nz) = 0;
    191 void (APIENTRY *qglNormal3iv)(const GLint *v) = 0;
    192 void (APIENTRY *qglNormal3s)(GLshort nx, GLshort ny, GLshort nz) = 0;
    193 void (APIENTRY *qglNormal3sv)(const GLshort *v) = 0;
    194 void (APIENTRY *qglNormalPointer)(GLenum type, GLsizei stride, const GLvoid *pointer) = 0;
    195 void (APIENTRY *qglOrtho)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar) = 0;
    196 void (APIENTRY *qglPassThrough)(GLfloat token) = 0;
    197 void (APIENTRY *qglPixelMapfv)(GLenum map, GLsizei mapsize, const GLfloat *values) = 0;
    198 void (APIENTRY *qglPixelMapuiv)(GLenum map, GLsizei mapsize, const GLuint *values) = 0;
    199 void (APIENTRY *qglPixelMapusv)(GLenum map, GLsizei mapsize, const GLushort *values) = 0;
    200 void (APIENTRY *qglPixelStoref)(GLenum pname, GLfloat param) = 0;
    201 void (APIENTRY *qglPixelStorei)(GLenum pname, GLint param) = 0;
    202 void (APIENTRY *qglPixelTransferf)(GLenum pname, GLfloat param) = 0;
    203 void (APIENTRY *qglPixelTransferi)(GLenum pname, GLint param) = 0;
    204 void (APIENTRY *qglPixelZoom)(GLfloat xfactor, GLfloat yfactor) = 0;
    205 void (APIENTRY *qglPointSize)(GLfloat size) = 0;
    206 void (APIENTRY *qglPolygonMode)(GLenum face, GLenum mode) = 0;
    207 void (APIENTRY *qglPolygonOffset)(GLfloat factor, GLfloat units) = 0;
    208 void (APIENTRY *qglPolygonStipple)(const GLubyte *mask) = 0;
    209 void (APIENTRY *qglPopAttrib)(void) = 0;
    210 void (APIENTRY *qglPopClientAttrib)(void) = 0;
    211 void (APIENTRY *qglPopMatrix)(void) = 0;
    212 void (APIENTRY *qglPopName)(void) = 0;
    213 void (APIENTRY *qglPrioritizeTextures)(GLsizei n, const GLuint *textures, const GLclampf *priorities) = 0;
    214 void (APIENTRY *qglPushAttrib)(GLbitfield mask) = 0;
    215 void (APIENTRY *qglPushClientAttrib)(GLbitfield mask) = 0;
    216 void (APIENTRY *qglPushMatrix)(void) = 0;
    217 void (APIENTRY *qglPushName)(GLuint name) = 0;
    218 void (APIENTRY *qglRasterPos2d)(GLdouble x, GLdouble y) = 0;
    219 void (APIENTRY *qglRasterPos2dv)(const GLdouble *v) = 0;
    220 void (APIENTRY *qglRasterPos2f)(GLfloat x, GLfloat y) = 0;
    221 void (APIENTRY *qglRasterPos2fv)(const GLfloat *v) = 0;
    222 void (APIENTRY *qglRasterPos2i)(GLint x, GLint y) = 0;
    223 void (APIENTRY *qglRasterPos2iv)(const GLint *v) = 0;
    224 void (APIENTRY *qglRasterPos2s)(GLshort x, GLshort y) = 0;
    225 void (APIENTRY *qglRasterPos2sv)(const GLshort *v) = 0;
    226 void (APIENTRY *qglRasterPos3d)(GLdouble x, GLdouble y, GLdouble z) = 0;
    227 void (APIENTRY *qglRasterPos3dv)(const GLdouble *v) = 0;
    228 void (APIENTRY *qglRasterPos3f)(GLfloat x, GLfloat y, GLfloat z) = 0;
    229 void (APIENTRY *qglRasterPos3fv)(const GLfloat *v) = 0;
    230 void (APIENTRY *qglRasterPos3i)(GLint x, GLint y, GLint z) = 0;
    231 void (APIENTRY *qglRasterPos3iv)(const GLint *v) = 0;
    232 void (APIENTRY *qglRasterPos3s)(GLshort x, GLshort y, GLshort z) = 0;
    233 void (APIENTRY *qglRasterPos3sv)(const GLshort *v) = 0;
    234 void (APIENTRY *qglRasterPos4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w) = 0;
    235 void (APIENTRY *qglRasterPos4dv)(const GLdouble *v) = 0;
    236 void (APIENTRY *qglRasterPos4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w) = 0;
    237 void (APIENTRY *qglRasterPos4fv)(const GLfloat *v) = 0;
    238 void (APIENTRY *qglRasterPos4i)(GLint x, GLint y, GLint z, GLint w) = 0;
    239 void (APIENTRY *qglRasterPos4iv)(const GLint *v) = 0;
    240 void (APIENTRY *qglRasterPos4s)(GLshort x, GLshort y, GLshort z, GLshort w) = 0;
    241 void (APIENTRY *qglRasterPos4sv)(const GLshort *v) = 0;
    242 void (APIENTRY *qglReadBuffer)(GLenum mode) = 0;
    243 void (APIENTRY *qglReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels) = 0;
    244 void (APIENTRY *qglRectd)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) = 0;
    245 void (APIENTRY *qglRectdv)(const GLdouble *v1, const GLdouble *v2) = 0;
    246 void (APIENTRY *qglRectf)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2) = 0;
    247 void (APIENTRY *qglRectfv)(const GLfloat *v1, const GLfloat *v2) = 0;
    248 void (APIENTRY *qglRecti)(GLint x1, GLint y1, GLint x2, GLint y2) = 0;
    249 void (APIENTRY *qglRectiv)(const GLint *v1, const GLint *v2) = 0;
    250 void (APIENTRY *qglRects)(GLshort x1, GLshort y1, GLshort x2, GLshort y2) = 0;
    251 void (APIENTRY *qglRectsv)(const GLshort *v1, const GLshort *v2) = 0;
    252 GLint (APIENTRY *qglRenderMode)(GLenum mode) = 0;
    253 void (APIENTRY *qglRotated)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) = 0;
    254 void (APIENTRY *qglRotatef)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) = 0;
    255 void (APIENTRY *qglScaled)(GLdouble x, GLdouble y, GLdouble z) = 0;
    256 void (APIENTRY *qglScalef)(GLfloat x, GLfloat y, GLfloat z) = 0;
    257 void (APIENTRY *qglScissor)(GLint x, GLint y, GLsizei width, GLsizei height) = 0;
    258 void (APIENTRY *qglSelectBuffer)(GLsizei size, GLuint *buffer) = 0;
    259 void (APIENTRY *qglShadeModel)(GLenum mode) = 0;
    260 void (APIENTRY *qglStencilFunc)(GLenum func, GLint ref, GLuint mask) = 0;
    261 void (APIENTRY *qglStencilMask)(GLuint mask) = 0;
    262 void (APIENTRY *qglStencilOp)(GLenum fail, GLenum zfail, GLenum zpass) = 0;
    263 void (APIENTRY *qglTexCoord1d)(GLdouble s) = 0;
    264 void (APIENTRY *qglTexCoord1dv)(const GLdouble *v) = 0;
    265 void (APIENTRY *qglTexCoord1f)(GLfloat s) = 0;
    266 void (APIENTRY *qglTexCoord1fv)(const GLfloat *v) = 0;
    267 void (APIENTRY *qglTexCoord1i)(GLint s) = 0;
    268 void (APIENTRY *qglTexCoord1iv)(const GLint *v) = 0;
    269 void (APIENTRY *qglTexCoord1s)(GLshort s) = 0;
    270 void (APIENTRY *qglTexCoord1sv)(const GLshort *v) = 0;
    271 void (APIENTRY *qglTexCoord2d)(GLdouble s, GLdouble t) = 0;
    272 void (APIENTRY *qglTexCoord2dv)(const GLdouble *v) = 0;
    273 void (APIENTRY *qglTexCoord2f)(GLfloat s, GLfloat t) = 0;
    274 void (APIENTRY *qglTexCoord2fv)(const GLfloat *v) = 0;
    275 void (APIENTRY *qglTexCoord2i)(GLint s, GLint t) = 0;
    276 void (APIENTRY *qglTexCoord2iv)(const GLint *v) = 0;
    277 void (APIENTRY *qglTexCoord2s)(GLshort s, GLshort t) = 0;
    278 void (APIENTRY *qglTexCoord2sv)(const GLshort *v) = 0;
    279 void (APIENTRY *qglTexCoord3d)(GLdouble s, GLdouble t, GLdouble r) = 0;
    280 void (APIENTRY *qglTexCoord3dv)(const GLdouble *v) = 0;
    281 void (APIENTRY *qglTexCoord3f)(GLfloat s, GLfloat t, GLfloat r) = 0;
    282 void (APIENTRY *qglTexCoord3fv)(const GLfloat *v) = 0;
    283 void (APIENTRY *qglTexCoord3i)(GLint s, GLint t, GLint r) = 0;
    284 void (APIENTRY *qglTexCoord3iv)(const GLint *v) = 0;
    285 void (APIENTRY *qglTexCoord3s)(GLshort s, GLshort t, GLshort r) = 0;
    286 void (APIENTRY *qglTexCoord3sv)(const GLshort *v) = 0;
    287 void (APIENTRY *qglTexCoord4d)(GLdouble s, GLdouble t, GLdouble r, GLdouble q) = 0;
    288 void (APIENTRY *qglTexCoord4dv)(const GLdouble *v) = 0;
    289 void (APIENTRY *qglTexCoord4f)(GLfloat s, GLfloat t, GLfloat r, GLfloat q) = 0;
    290 void (APIENTRY *qglTexCoord4fv)(const GLfloat *v) = 0;
    291 void (APIENTRY *qglTexCoord4i)(GLint s, GLint t, GLint r, GLint q) = 0;
    292 void (APIENTRY *qglTexCoord4iv)(const GLint *v) = 0;
    293 void (APIENTRY *qglTexCoord4s)(GLshort s, GLshort t, GLshort r, GLshort q) = 0;
    294 void (APIENTRY *qglTexCoord4sv)(const GLshort *v) = 0;
    295 void (APIENTRY *qglTexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) = 0;
    296 void (APIENTRY *qglTexEnvf)(GLenum target, GLenum pname, GLfloat param) = 0;
    297 void (APIENTRY *qglTexEnvfv)(GLenum target, GLenum pname, const GLfloat *params) = 0;
    298 void (APIENTRY *qglTexEnvi)(GLenum target, GLenum pname, GLint param) = 0;
    299 void (APIENTRY *qglTexEnviv)(GLenum target, GLenum pname, const GLint *params) = 0;
    300 void (APIENTRY *qglTexGend)(GLenum coord, GLenum pname, GLdouble param) = 0;
    301 void (APIENTRY *qglTexGendv)(GLenum coord, GLenum pname, const GLdouble *params) = 0;
    302 void (APIENTRY *qglTexGenf)(GLenum coord, GLenum pname, GLfloat param) = 0;
    303 void (APIENTRY *qglTexGenfv)(GLenum coord, GLenum pname, const GLfloat *params) = 0;
    304 void (APIENTRY *qglTexGeni)(GLenum coord, GLenum pname, GLint param) = 0;
    305 void (APIENTRY *qglTexGeniv)(GLenum coord, GLenum pname, const GLint *params) = 0;
    306 void (APIENTRY *qglTexImage1D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels) = 0;
    307 void (APIENTRY *qglTexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) = 0;
    308 void (APIENTRY *qglTexParameterf)(GLenum target, GLenum pname, GLfloat param) = 0;
    309 void (APIENTRY *qglTexParameterfv)(GLenum target, GLenum pname, const GLfloat *params) = 0;
    310 void (APIENTRY *qglTexParameteri)(GLenum target, GLenum pname, GLint param) = 0;
    311 void (APIENTRY *qglTexParameteriv)(GLenum target, GLenum pname, const GLint *params) = 0;
    312 void (APIENTRY *qglTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels) = 0;
    313 void (APIENTRY *qglTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels) = 0;
    314 void (APIENTRY *qglTranslated)(GLdouble x, GLdouble y, GLdouble z) = 0;
    315 void (APIENTRY *qglTranslatef)(GLfloat x, GLfloat y, GLfloat z) = 0;
    316 void (APIENTRY *qglVertex2d)(GLdouble x, GLdouble y) = 0;
    317 void (APIENTRY *qglVertex2dv)(const GLdouble *v) = 0;
    318 void (APIENTRY *qglVertex2f)(GLfloat x, GLfloat y) = 0;
    319 void (APIENTRY *qglVertex2fv)(const GLfloat *v) = 0;
    320 void (APIENTRY *qglVertex2i)(GLint x, GLint y) = 0;
    321 void (APIENTRY *qglVertex2iv)(const GLint *v) = 0;
    322 void (APIENTRY *qglVertex2s)(GLshort x, GLshort y) = 0;
    323 void (APIENTRY *qglVertex2sv)(const GLshort *v) = 0;
    324 void (APIENTRY *qglVertex3d)(GLdouble x, GLdouble y, GLdouble z) = 0;
    325 void (APIENTRY *qglVertex3dv)(const GLdouble *v) = 0;
    326 void (APIENTRY *qglVertex3f)(GLfloat x, GLfloat y, GLfloat z) = 0;
    327 void (APIENTRY *qglVertex3fv)(const GLfloat *v) = 0;
    328 void (APIENTRY *qglVertex3i)(GLint x, GLint y, GLint z) = 0;
    329 void (APIENTRY *qglVertex3iv)(const GLint *v) = 0;
    330 void (APIENTRY *qglVertex3s)(GLshort x, GLshort y, GLshort z) = 0;
    331 void (APIENTRY *qglVertex3sv)(const GLshort *v) = 0;
    332 void (APIENTRY *qglVertex4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w) = 0;
    333 void (APIENTRY *qglVertex4dv)(const GLdouble *v) = 0;
    334 void (APIENTRY *qglVertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w) = 0;
    335 void (APIENTRY *qglVertex4fv)(const GLfloat *v) = 0;
    336 void (APIENTRY *qglVertex4i)(GLint x, GLint y, GLint z, GLint w) = 0;
    337 void (APIENTRY *qglVertex4iv)(const GLint *v) = 0;
    338 void (APIENTRY *qglVertex4s)(GLshort x, GLshort y, GLshort z, GLshort w) = 0;
    339 void (APIENTRY *qglVertex4sv)(const GLshort *v) = 0;
    340 void (APIENTRY *qglVertexPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) = 0;
    341 void (APIENTRY *qglViewport)(GLint x, GLint y, GLsizei width, GLsizei height) = 0;
    342 
    343 PROC (WINAPI *qwglGetProcAddress)(LPCSTR) = 0;
    344 
    345 void (APIENTRY *qglActiveTexture)(GLenum texture) = 0;
    346 void (APIENTRY *qglSampleCoverage)(GLclampf value, GLboolean invert) = 0;
    347 void (APIENTRY *qglCompressedTexImage3D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data) = 0;
    348 void (APIENTRY *qglCompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data) = 0;
    349 void (APIENTRY *qglCompressedTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data) = 0;
    350 void (APIENTRY *qglCompressedTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data) = 0;
    351 void (APIENTRY *qglCompressedTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data) = 0;
    352 void (APIENTRY *qglCompressedTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data) = 0;
    353 void (APIENTRY *qglGetCompressedTexImage)(GLenum target, GLint level, GLvoid *img) = 0;
    354 
    355 GLboolean (APIENTRY *qglIsRenderbuffer)(GLuint renderbuffer) = 0;
    356 void (APIENTRY *qglBindRenderbuffer)(GLenum target, GLuint renderbuffer) = 0;
    357 void (APIENTRY *qglDeleteRenderbuffers)(GLsizei n, const GLuint *renderbuffers) = 0;
    358 void (APIENTRY *qglGenRenderbuffers)(GLsizei n, GLuint *renderbuffers) = 0;
    359 void (APIENTRY *qglRenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) = 0;
    360 void (APIENTRY *qglGetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint *params) = 0;
    361 GLboolean (APIENTRY *qglIsFramebuffer)(GLuint framebuffer) = 0;
    362 void (APIENTRY *qglBindFramebuffer)(GLenum target, GLuint framebuffer) = 0;
    363 void (APIENTRY *qglDeleteFramebuffers)(GLsizei n, const GLuint *framebuffers) = 0;
    364 void (APIENTRY *qglGenFramebuffers)(GLsizei n, GLuint *framebuffers) = 0;
    365 GLenum (APIENTRY *qglCheckFramebufferStatus)(GLenum target) = 0;
    366 void (APIENTRY *qglFramebufferTexture1D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) = 0;
    367 void (APIENTRY *qglFramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) = 0;
    368 void (APIENTRY *qglFramebufferTexture3D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) = 0;
    369 void (APIENTRY *qglFramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) = 0;
    370 void (APIENTRY *qglGetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint *params) = 0;
    371 void (APIENTRY *qglGenerateMipmap)(GLenum target) = 0;
    372 void (APIENTRY *qglBlitFramebuffer)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) = 0;
    373 void (APIENTRY *qglRenderbufferStorageMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height) = 0;
    374 void (APIENTRY *qglFramebufferTextureLayer)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer) = 0;
    375 
    376 void QGL_InitExtension(void);
    377 
    378 void QGL_Init(void)
    379 {
    380     HMODULE hOpenGL = GetModuleHandleA("opengl32.dll");
    381 
    382     if (hOpenGL)
    383     {
    384         qglAccum = (void (APIENTRY *)(GLenum, GLfloat))GetProcAddress(hOpenGL, "glAccum");
    385         qglAlphaFunc = (void (APIENTRY *)(GLenum, GLclampf))GetProcAddress(hOpenGL, "glAlphaFunc");
    386         qglAreTexturesResident = (GLboolean (APIENTRY *)(GLsizei, const GLuint *, GLboolean *))GetProcAddress(hOpenGL, "glAreTexturesResident");
    387         qglArrayElement = (void (APIENTRY *)(GLint))GetProcAddress(hOpenGL, "glArrayElement");
    388         qglBegin = (void (APIENTRY *)(GLenum))GetProcAddress(hOpenGL, "glBegin");
    389         qglBindTexture = (void (APIENTRY *)(GLenum, GLuint))GetProcAddress(hOpenGL, "glBindTexture");
    390         qglBitmap = (void (APIENTRY *)(GLsizei, GLsizei, GLfloat, GLfloat, GLfloat, GLfloat, const GLubyte *))GetProcAddress(hOpenGL, "glBitmap");
    391         qglBlendFunc = (void (APIENTRY *)(GLenum, GLenum))GetProcAddress(hOpenGL, "glBlendFunc");
    392         qglCallList = (void (APIENTRY *)(GLuint))GetProcAddress(hOpenGL, "glCallList");
    393         qglCallLists = (void (APIENTRY *)(GLsizei, GLenum, const GLvoid *))GetProcAddress(hOpenGL, "glCallLists");
    394         qglClear = (void (APIENTRY *)(GLbitfield))GetProcAddress(hOpenGL, "glClear");
    395         qglClearAccum = (void (APIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat))GetProcAddress(hOpenGL, "glClearAccum");
    396         qglClearColor = (void (APIENTRY *)(GLclampf, GLclampf, GLclampf, GLclampf))GetProcAddress(hOpenGL, "glClearColor");
    397         qglClearDepth = (void (APIENTRY *)(GLclampd))GetProcAddress(hOpenGL, "glClearDepth");
    398         qglClearIndex = (void (APIENTRY *)(GLfloat))GetProcAddress(hOpenGL, "glClearIndex");
    399         qglClearStencil = (void (APIENTRY *)(GLint))GetProcAddress(hOpenGL, "glClearStencil");
    400         qglClipPlane = (void (APIENTRY *)(GLenum, const GLdouble *))GetProcAddress(hOpenGL, "glClipPlane");
    401         qglColor3b = (void (APIENTRY *)(GLbyte, GLbyte, GLbyte))GetProcAddress(hOpenGL, "glColor3b");
    402         qglColor3bv = (void (APIENTRY *)(const GLbyte *))GetProcAddress(hOpenGL, "glColor3bv");
    403         qglColor3d = (void (APIENTRY *)(GLdouble, GLdouble, GLdouble))GetProcAddress(hOpenGL, "glColor3d");
    404         qglColor3dv = (void (APIENTRY *)(const GLdouble *))GetProcAddress(hOpenGL, "glColor3dv");
    405         qglColor3f = (void (APIENTRY *)(GLfloat, GLfloat, GLfloat))GetProcAddress(hOpenGL, "glColor3f");
    406         qglColor3fv = (void (APIENTRY *)(const GLfloat *))GetProcAddress(hOpenGL, "glColor3fv");
    407         qglColor3i = (void (APIENTRY *)(GLint, GLint, GLint))GetProcAddress(hOpenGL, "glColor3i");
    408         qglColor3iv = (void (APIENTRY *)(const GLint *))GetProcAddress(hOpenGL, "glColor3iv");
    409         qglColor3s = (void (APIENTRY *)(GLshort, GLshort, GLshort))GetProcAddress(hOpenGL, "glColor3s");
    410         qglColor3sv = (void (APIENTRY *)(const GLshort *))GetProcAddress(hOpenGL, "glColor3sv");
    411         qglColor3ub = (void (APIENTRY *)(GLubyte, GLubyte, GLubyte))GetProcAddress(hOpenGL, "glColor3ub");
    412         qglColor3ubv = (void (APIENTRY *)(const GLubyte *))GetProcAddress(hOpenGL, "glColor3ubv");
    413         qglColor3ui = (void (APIENTRY *)(GLuint, GLuint, GLuint))GetProcAddress(hOpenGL, "glColor3ui");
    414         qglColor3uiv = (void (APIENTRY *)(const GLuint *))GetProcAddress(hOpenGL, "glColor3uiv");
    415         qglColor3us = (void (APIENTRY *)(GLushort, GLushort, GLushort))GetProcAddress(hOpenGL, "glColor3us");
    416         qglColor3usv = (void (APIENTRY *)(const GLushort *))GetProcAddress(hOpenGL, "glColor3usv");
    417         qglColor4b = (void (APIENTRY *)(GLbyte, GLbyte, GLbyte, GLbyte))GetProcAddress(hOpenGL, "glColor4b");
    418         qglColor4bv = (void (APIENTRY *)(const GLbyte *))GetProcAddress(hOpenGL, "glColor4bv");
    419         qglColor4d = (void (APIENTRY *)(GLdouble, GLdouble, GLdouble, GLdouble))GetProcAddress(hOpenGL, "glColor4d");
    420         qglColor4dv = (void (APIENTRY *)(const GLdouble *))GetProcAddress(hOpenGL, "glColor4dv");
    421         qglColor4f = (void (APIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat))GetProcAddress(hOpenGL, "glColor4f");
    422         qglColor4fv = (void (APIENTRY *)(const GLfloat *))GetProcAddress(hOpenGL, "glColor4fv");
    423         qglColor4i = (void (APIENTRY *)(GLint, GLint, GLint, GLint))GetProcAddress(hOpenGL, "glColor4i");
    424         qglColor4iv = (void (APIENTRY *)(const GLint *))GetProcAddress(hOpenGL, "glColor4iv");
    425         qglColor4s = (void (APIENTRY *)(GLshort, GLshort, GLshort, GLshort))GetProcAddress(hOpenGL, "glColor4s");
    426         qglColor4sv = (void (APIENTRY *)(const GLshort *))GetProcAddress(hOpenGL, "glColor4sv");
    427         qglColor4ub = (void (APIENTRY *)(GLubyte, GLubyte, GLubyte, GLubyte))GetProcAddress(hOpenGL, "glColor4ub");
    428         qglColor4ubv = (void (APIENTRY *)(const GLubyte *))GetProcAddress(hOpenGL, "glColor4ubv");
    429         qglColor4ui = (void (APIENTRY *)(GLuint, GLuint, GLuint, GLuint))GetProcAddress(hOpenGL, "glColor4ui");
    430         qglColor4uiv = (void (APIENTRY *)(const GLuint *))GetProcAddress(hOpenGL, "glColor4uiv");
    431         qglColor4us = (void (APIENTRY *)(GLushort, GLushort, GLushort, GLushort))GetProcAddress(hOpenGL, "glColor4us");
    432         qglColor4usv = (void (APIENTRY *)(const GLushort *))GetProcAddress(hOpenGL, "glColor4usv");
    433         qglColorMask = (void (APIENTRY *)(GLboolean, GLboolean, GLboolean, GLboolean))GetProcAddress(hOpenGL, "glColorMask");
    434         qglColorMaterial = (void (APIENTRY *)(GLenum, GLenum))GetProcAddress(hOpenGL, "glColorMaterial");
    435         qglColorPointer = (void (APIENTRY *)(GLint, GLenum, GLsizei, const GLvoid *))GetProcAddress(hOpenGL, "glColorPointer");
    436         qglCopyPixels = (void (APIENTRY *)(GLint, GLint, GLsizei, GLsizei, GLenum))GetProcAddress(hOpenGL, "glCopyPixels");
    437         qglCopyTexImage1D = (void (APIENTRY *)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint))GetProcAddress(hOpenGL, "glCopyTexImage1D");
    438         qglCopyTexImage2D = (void (APIENTRY *)(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint))GetProcAddress(hOpenGL, "glCopyTexImage2D");
    439         qglCopyTexSubImage1D = (void (APIENTRY *)(GLenum, GLint, GLint, GLint, GLint, GLsizei))GetProcAddress(hOpenGL, "glCopyTexSubImage1D");
    440         qglCopyTexSubImage2D = (void (APIENTRY *)(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei))GetProcAddress(hOpenGL, "glCopyTexSubImage2D");
    441         qglCullFace = (void (APIENTRY *)(GLenum))GetProcAddress(hOpenGL, "glCullFace");
    442         qglDeleteLists = (void (APIENTRY *)(GLuint, GLsizei))GetProcAddress(hOpenGL, "glDeleteLists");
    443         qglDeleteTextures = (void (APIENTRY *)(GLsizei, const GLuint *))GetProcAddress(hOpenGL, "glDeleteTextures");
    444         qglDepthFunc = (void (APIENTRY *)(GLenum))GetProcAddress(hOpenGL, "glDepthFunc");
    445         qglDepthMask = (void (APIENTRY *)(GLboolean))GetProcAddress(hOpenGL, "glDepthMask");
    446         qglDepthRange = (void (APIENTRY *)(GLclampd, GLclampd))GetProcAddress(hOpenGL, "glDepthRange");
    447         qglDisable = (void (APIENTRY *)(GLenum))GetProcAddress(hOpenGL, "glDisable");
    448         qglDisableClientState = (void (APIENTRY *)(GLenum))GetProcAddress(hOpenGL, "glDisableClientState");
    449         qglDrawArrays = (void (APIENTRY *)(GLenum, GLint, GLsizei))GetProcAddress(hOpenGL, "glDrawArrays");
    450         qglDrawBuffer = (void (APIENTRY *)(GLenum))GetProcAddress(hOpenGL, "glDrawBuffer");
    451         qglDrawElements = (void (APIENTRY *)(GLenum, GLsizei, GLenum, const GLvoid *))GetProcAddress(hOpenGL, "glDrawElements");
    452         qglDrawPixels = (void (APIENTRY *)(GLsizei, GLsizei, GLenum, GLenum, const GLvoid *))GetProcAddress(hOpenGL, "glDrawPixels");
    453         qglEdgeFlag = (void (APIENTRY *)(GLboolean))GetProcAddress(hOpenGL, "glEdgeFlag");
    454         qglEdgeFlagPointer = (void (APIENTRY *)(GLsizei, const GLvoid *))GetProcAddress(hOpenGL, "glEdgeFlagPointer");
    455         qglEdgeFlagv = (void (APIENTRY *)(const GLboolean *))GetProcAddress(hOpenGL, "glEdgeFlagv");
    456         qglEnable = (void (APIENTRY *)(GLenum))GetProcAddress(hOpenGL, "glEnable");
    457         qglEnableClientState = (void (APIENTRY *)(GLenum))GetProcAddress(hOpenGL, "glEnableClientState");
    458         qglEnd = (void (APIENTRY *)(void))GetProcAddress(hOpenGL, "glEnd");
    459         qglEndList = (void (APIENTRY *)(void))GetProcAddress(hOpenGL, "glEndList");
    460         qglEvalCoord1d = (void (APIENTRY *)(GLdouble))GetProcAddress(hOpenGL, "glEvalCoord1d");
    461         qglEvalCoord1dv = (void (APIENTRY *)(const GLdouble *))GetProcAddress(hOpenGL, "glEvalCoord1dv");
    462         qglEvalCoord1f = (void (APIENTRY *)(GLfloat))GetProcAddress(hOpenGL, "glEvalCoord1f");
    463         qglEvalCoord1fv = (void (APIENTRY *)(const GLfloat *))GetProcAddress(hOpenGL, "glEvalCoord1fv");
    464         qglEvalCoord2d = (void (APIENTRY *)(GLdouble, GLdouble))GetProcAddress(hOpenGL, "glEvalCoord2d");
    465         qglEvalCoord2dv = (void (APIENTRY *)(const GLdouble *))GetProcAddress(hOpenGL, "glEvalCoord2dv");
    466         qglEvalCoord2f = (void (APIENTRY *)(GLfloat, GLfloat))GetProcAddress(hOpenGL, "glEvalCoord2f");
    467         qglEvalCoord2fv = (void (APIENTRY *)(const GLfloat *))GetProcAddress(hOpenGL, "glEvalCoord2fv");
    468         qglEvalMesh1 = (void (APIENTRY *)(GLenum, GLint, GLint))GetProcAddress(hOpenGL, "glEvalMesh1");
    469         qglEvalMesh2 = (void (APIENTRY *)(GLenum, GLint, GLint, GLint, GLint))GetProcAddress(hOpenGL, "glEvalMesh2");
    470         qglEvalPoint1 = (void (APIENTRY *)(GLint))GetProcAddress(hOpenGL, "glEvalPoint1");
    471         qglEvalPoint2 = (void (APIENTRY *)(GLint, GLint))GetProcAddress(hOpenGL, "glEvalPoint2");
    472         qglFeedbackBuffer = (void (APIENTRY *)(GLsizei, GLenum, GLfloat *))GetProcAddress(hOpenGL, "glFeedbackBuffer");
    473         qglFinish = (void (APIENTRY *)(void))GetProcAddress(hOpenGL, "glFinish");
    474         qglFlush = (void (APIENTRY *)(void))GetProcAddress(hOpenGL, "glFlush");
    475         qglFogf = (void (APIENTRY *)(GLenum, GLfloat))GetProcAddress(hOpenGL, "glFogf");
    476         qglFogfv = (void (APIENTRY *)(GLenum, const GLfloat *))GetProcAddress(hOpenGL, "glFogfv");
    477         qglFogi = (void (APIENTRY *)(GLenum, GLint))GetProcAddress(hOpenGL, "glFogi");
    478         qglFogiv = (void (APIENTRY *)(GLenum, const GLint *))GetProcAddress(hOpenGL, "glFogiv");
    479         qglFrontFace = (void (APIENTRY *)(GLenum))GetProcAddress(hOpenGL, "glFrontFace");
    480         qglFrustum = (void (APIENTRY *)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble))GetProcAddress(hOpenGL, "glFrustum");
    481         qglGenLists = (GLuint (APIENTRY *)(GLsizei))GetProcAddress(hOpenGL, "glGenLists");
    482         qglGenTextures = (void (APIENTRY *)(GLsizei, GLuint *))GetProcAddress(hOpenGL, "glGenTextures");
    483         qglGetBooleanv = (void (APIENTRY *)(GLenum, GLboolean *))GetProcAddress(hOpenGL, "glGetBooleanv");
    484         qglGetClipPlane = (void (APIENTRY *)(GLenum, GLdouble *))GetProcAddress(hOpenGL, "glGetClipPlane");
    485         qglGetDoublev = (void (APIENTRY *)(GLenum, GLdouble *))GetProcAddress(hOpenGL, "glGetDoublev");
    486         qglGetError = (GLenum (APIENTRY *)(void))GetProcAddress(hOpenGL, "glGetError");
    487         qglGetFloatv = (void (APIENTRY *)(GLenum, GLfloat *))GetProcAddress(hOpenGL, "glGetFloatv");
    488         qglGetIntegerv = (void (APIENTRY *)(GLenum, GLint *))GetProcAddress(hOpenGL, "glGetIntegerv");
    489         qglGetLightfv = (void (APIENTRY *)(GLenum, GLenum, GLfloat *))GetProcAddress(hOpenGL, "glGetLightfv");
    490         qglGetLightiv = (void (APIENTRY *)(GLenum, GLenum, GLint *))GetProcAddress(hOpenGL, "glGetLightiv");
    491         qglGetMapdv = (void (APIENTRY *)(GLenum, GLenum, GLdouble *))GetProcAddress(hOpenGL, "glGetMapdv");
    492         qglGetMapfv = (void (APIENTRY *)(GLenum, GLenum, GLfloat *))GetProcAddress(hOpenGL, "glGetMapfv");
    493         qglGetMapiv = (void (APIENTRY *)(GLenum, GLenum, GLint *))GetProcAddress(hOpenGL, "glGetMapiv");
    494         qglGetMaterialfv = (void (APIENTRY *)(GLenum, GLenum, GLfloat *))GetProcAddress(hOpenGL, "glGetMaterialfv");
    495         qglGetMaterialiv = (void (APIENTRY *)(GLenum, GLenum, GLint *))GetProcAddress(hOpenGL, "glGetMaterialiv");
    496         qglGetPixelMapfv = (void (APIENTRY *)(GLenum, GLfloat *))GetProcAddress(hOpenGL, "glGetPixelMapfv");
    497         qglGetPixelMapuiv = (void (APIENTRY *)(GLenum, GLuint *))GetProcAddress(hOpenGL, "glGetPixelMapuiv");
    498         qglGetPixelMapusv = (void (APIENTRY *)(GLenum, GLushort *))GetProcAddress(hOpenGL, "glGetPixelMapusv");
    499         qglGetPointerv = (void (APIENTRY *)(GLenum, GLvoid* *))GetProcAddress(hOpenGL, "glGetPointerv");
    500         qglGetPolygonStipple = (void (APIENTRY *)(GLubyte *))GetProcAddress(hOpenGL, "glGetPolygonStipple");
    501         qglGetString = (const GLubyte * (APIENTRY *)(GLenum))GetProcAddress(hOpenGL, "glGetString");
    502         qglGetTexEnvfv = (void (APIENTRY *)(GLenum, GLenum, GLfloat *))GetProcAddress(hOpenGL, "glGetTexEnvfv");
    503         qglGetTexEnviv = (void (APIENTRY *)(GLenum, GLenum, GLint *))GetProcAddress(hOpenGL, "glGetTexEnviv");
    504         qglGetTexGendv = (void (APIENTRY *)(GLenum, GLenum, GLdouble *))GetProcAddress(hOpenGL, "glGetTexGendv");
    505         qglGetTexGenfv = (void (APIENTRY *)(GLenum, GLenum, GLfloat *))GetProcAddress(hOpenGL, "glGetTexGenfv");
    506         qglGetTexGeniv = (void (APIENTRY *)(GLenum, GLenum, GLint *))GetProcAddress(hOpenGL, "glGetTexGeniv");
    507         qglGetTexImage = (void (APIENTRY *)(GLenum, GLint, GLenum, GLenum, GLvoid *))GetProcAddress(hOpenGL, "glGetTexImage");
    508         qglGetTexLevelParameterfv = (void (APIENTRY *)(GLenum, GLint, GLenum, GLfloat *))GetProcAddress(hOpenGL, "glGetTexLevelParameterfv");
    509         qglGetTexLevelParameteriv = (void (APIENTRY *)(GLenum, GLint, GLenum, GLint *))GetProcAddress(hOpenGL, "glGetTexLevelParameteriv");
    510         qglGetTexParameterfv = (void (APIENTRY *)(GLenum, GLenum, GLfloat *))GetProcAddress(hOpenGL, "glGetTexParameterfv");
    511         qglGetTexParameteriv = (void (APIENTRY *)(GLenum, GLenum, GLint *))GetProcAddress(hOpenGL, "glGetTexParameteriv");
    512         qglHint = (void (APIENTRY *)(GLenum, GLenum))GetProcAddress(hOpenGL, "glHint");
    513         qglIndexMask = (void (APIENTRY *)(GLuint))GetProcAddress(hOpenGL, "glIndexMask");
    514         qglIndexPointer = (void (APIENTRY *)(GLenum, GLsizei, const GLvoid *))GetProcAddress(hOpenGL, "glIndexPointer");
    515         qglIndexd = (void (APIENTRY *)(GLdouble))GetProcAddress(hOpenGL, "glIndexd");
    516         qglIndexdv = (void (APIENTRY *)(const GLdouble *))GetProcAddress(hOpenGL, "glIndexdv");
    517         qglIndexf = (void (APIENTRY *)(GLfloat))GetProcAddress(hOpenGL, "glIndexf");
    518         qglIndexfv = (void (APIENTRY *)(const GLfloat *))GetProcAddress(hOpenGL, "glIndexfv");
    519         qglIndexi = (void (APIENTRY *)(GLint))GetProcAddress(hOpenGL, "glIndexi");
    520         qglIndexiv = (void (APIENTRY *)(const GLint *))GetProcAddress(hOpenGL, "glIndexiv");
    521         qglIndexs = (void (APIENTRY *)(GLshort))GetProcAddress(hOpenGL, "glIndexs");
    522         qglIndexsv = (void (APIENTRY *)(const GLshort *))GetProcAddress(hOpenGL, "glIndexsv");
    523         qglIndexub = (void (APIENTRY *)(GLubyte))GetProcAddress(hOpenGL, "glIndexub");
    524         qglIndexubv = (void (APIENTRY *)(const GLubyte *))GetProcAddress(hOpenGL, "glIndexubv");
    525         qglInitNames = (void (APIENTRY *)(void))GetProcAddress(hOpenGL, "glInitNames");
    526         qglInterleavedArrays = (void (APIENTRY *)(GLenum, GLsizei, const GLvoid *))GetProcAddress(hOpenGL, "glInterleavedArrays");
    527         qglIsEnabled = (GLboolean (APIENTRY *)(GLenum))GetProcAddress(hOpenGL, "glIsEnabled");
    528         qglIsList = (GLboolean (APIENTRY *)(GLuint))GetProcAddress(hOpenGL, "glIsList");
    529         qglIsTexture = (GLboolean (APIENTRY *)(GLuint))GetProcAddress(hOpenGL, "glIsTexture");
    530         qglLightModelf = (void (APIENTRY *)(GLenum, GLfloat))GetProcAddress(hOpenGL, "glLightModelf");
    531         qglLightModelfv = (void (APIENTRY *)(GLenum, const GLfloat *))GetProcAddress(hOpenGL, "glLightModelfv");
    532         qglLightModeli = (void (APIENTRY *)(GLenum, GLint))GetProcAddress(hOpenGL, "glLightModeli");
    533         qglLightModeliv = (void (APIENTRY *)(GLenum, const GLint *))GetProcAddress(hOpenGL, "glLightModeliv");
    534         qglLightf = (void (APIENTRY *)(GLenum, GLenum, GLfloat))GetProcAddress(hOpenGL, "glLightf");
    535         qglLightfv = (void (APIENTRY *)(GLenum, GLenum, const GLfloat *))GetProcAddress(hOpenGL, "glLightfv");
    536         qglLighti = (void (APIENTRY *)(GLenum, GLenum, GLint))GetProcAddress(hOpenGL, "glLighti");
    537         qglLightiv = (void (APIENTRY *)(GLenum, GLenum, const GLint *))GetProcAddress(hOpenGL, "glLightiv");
    538         qglLineStipple = (void (APIENTRY *)(GLint, GLushort))GetProcAddress(hOpenGL, "glLineStipple");
    539         qglLineWidth = (void (APIENTRY *)(GLfloat))GetProcAddress(hOpenGL, "glLineWidth");
    540         qglListBase = (void (APIENTRY *)(GLuint))GetProcAddress(hOpenGL, "glListBase");
    541         qglLoadIdentity = (void (APIENTRY *)(void))GetProcAddress(hOpenGL, "glLoadIdentity");
    542         qglLoadMatrixd = (void (APIENTRY *)(const GLdouble *))GetProcAddress(hOpenGL, "glLoadMatrixd");
    543         qglLoadMatrixf = (void (APIENTRY *)(const GLfloat *))GetProcAddress(hOpenGL, "glLoadMatrixf");
    544         qglLoadName = (void (APIENTRY *)(GLuint))GetProcAddress(hOpenGL, "glLoadName");
    545         qglLogicOp = (void (APIENTRY *)(GLenum))GetProcAddress(hOpenGL, "glLogicOp");
    546         qglMap1d = (void (APIENTRY *)(GLenum, GLdouble, GLdouble, GLint, GLint, const GLdouble *))GetProcAddress(hOpenGL, "glMap1d");
    547         qglMap1f = (void (APIENTRY *)(GLenum, GLfloat, GLfloat, GLint, GLint, const GLfloat *))GetProcAddress(hOpenGL, "glMap1f");
    548         qglMap2d = (void (APIENTRY *)(GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *))GetProcAddress(hOpenGL, "glMap2d");
    549         qglMap2f = (void (APIENTRY *)(GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *))GetProcAddress(hOpenGL, "glMap2f");
    550         qglMapGrid1d = (void (APIENTRY *)(GLint, GLdouble, GLdouble))GetProcAddress(hOpenGL, "glMapGrid1d");
    551         qglMapGrid1f = (void (APIENTRY *)(GLint, GLfloat, GLfloat))GetProcAddress(hOpenGL, "glMapGrid1f");
    552         qglMapGrid2d = (void (APIENTRY *)(GLint, GLdouble, GLdouble, GLint, GLdouble, GLdouble))GetProcAddress(hOpenGL, "glMapGrid2d");
    553         qglMapGrid2f = (void (APIENTRY *)(GLint, GLfloat, GLfloat, GLint, GLfloat, GLfloat))GetProcAddress(hOpenGL, "glMapGrid2f");
    554         qglMaterialf = (void (APIENTRY *)(GLenum, GLenum, GLfloat))GetProcAddress(hOpenGL, "glMaterialf");
    555         qglMaterialfv = (void (APIENTRY *)(GLenum, GLenum, const GLfloat *))GetProcAddress(hOpenGL, "glMaterialfv");
    556         qglMateriali = (void (APIENTRY *)(GLenum, GLenum, GLint))GetProcAddress(hOpenGL, "glMateriali");
    557         qglMaterialiv = (void (APIENTRY *)(GLenum, GLenum, const GLint *))GetProcAddress(hOpenGL, "glMaterialiv");
    558         qglMatrixMode = (void (APIENTRY *)(GLenum))GetProcAddress(hOpenGL, "glMatrixMode");
    559         qglMultMatrixd = (void (APIENTRY *)(const GLdouble *))GetProcAddress(hOpenGL, "glMultMatrixd");
    560         qglMultMatrixf = (void (APIENTRY *)(const GLfloat *))GetProcAddress(hOpenGL, "glMultMatrixf");
    561         qglNewList = (void (APIENTRY *)(GLuint, GLenum))GetProcAddress(hOpenGL, "glNewList");
    562         qglNormal3b = (void (APIENTRY *)(GLbyte, GLbyte, GLbyte))GetProcAddress(hOpenGL, "glNormal3b");
    563         qglNormal3bv = (void (APIENTRY *)(const GLbyte *))GetProcAddress(hOpenGL, "glNormal3bv");
    564         qglNormal3d = (void (APIENTRY *)(GLdouble, GLdouble, GLdouble))GetProcAddress(hOpenGL, "glNormal3d");
    565         qglNormal3dv = (void (APIENTRY *)(const GLdouble *))GetProcAddress(hOpenGL, "glNormal3dv");
    566         qglNormal3f = (void (APIENTRY *)(GLfloat, GLfloat, GLfloat))GetProcAddress(hOpenGL, "glNormal3f");
    567         qglNormal3fv = (void (APIENTRY *)(const GLfloat *))GetProcAddress(hOpenGL, "glNormal3fv");
    568         qglNormal3i = (void (APIENTRY *)(GLint, GLint, GLint))GetProcAddress(hOpenGL, "glNormal3i");
    569         qglNormal3iv = (void (APIENTRY *)(const GLint *))GetProcAddress(hOpenGL, "glNormal3iv");
    570         qglNormal3s = (void (APIENTRY *)(GLshort, GLshort, GLshort))GetProcAddress(hOpenGL, "glNormal3s");
    571         qglNormal3sv = (void (APIENTRY *)(const GLshort *))GetProcAddress(hOpenGL, "glNormal3sv");
    572         qglNormalPointer = (void (APIENTRY *)(GLenum, GLsizei, const GLvoid *))GetProcAddress(hOpenGL, "glNormalPointer");
    573         qglOrtho = (void (APIENTRY *)(GLdouble, GLdouble, GLdouble, GLdouble, GLdouble, GLdouble))GetProcAddress(hOpenGL, "glOrtho");
    574         qglPassThrough = (void (APIENTRY *)(GLfloat))GetProcAddress(hOpenGL, "glPassThrough");
    575         qglPixelMapfv = (void (APIENTRY *)(GLenum, GLsizei, const GLfloat *))GetProcAddress(hOpenGL, "glPixelMapfv");
    576         qglPixelMapuiv = (void (APIENTRY *)(GLenum, GLsizei, const GLuint *))GetProcAddress(hOpenGL, "glPixelMapuiv");
    577         qglPixelMapusv = (void (APIENTRY *)(GLenum, GLsizei, const GLushort *))GetProcAddress(hOpenGL, "glPixelMapusv");
    578         qglPixelStoref = (void (APIENTRY *)(GLenum, GLfloat))GetProcAddress(hOpenGL, "glPixelStoref");
    579         qglPixelStorei = (void (APIENTRY *)(GLenum, GLint))GetProcAddress(hOpenGL, "glPixelStorei");
    580         qglPixelTransferf = (void (APIENTRY *)(GLenum, GLfloat))GetProcAddress(hOpenGL, "glPixelTransferf");
    581         qglPixelTransferi = (void (APIENTRY *)(GLenum, GLint))GetProcAddress(hOpenGL, "glPixelTransferi");
    582         qglPixelZoom = (void (APIENTRY *)(GLfloat, GLfloat))GetProcAddress(hOpenGL, "glPixelZoom");
    583         qglPointSize = (void (APIENTRY *)(GLfloat))GetProcAddress(hOpenGL, "glPointSize");
    584         qglPolygonMode = (void (APIENTRY *)(GLenum, GLenum))GetProcAddress(hOpenGL, "glPolygonMode");
    585         qglPolygonOffset = (void (APIENTRY *)(GLfloat, GLfloat))GetProcAddress(hOpenGL, "glPolygonOffset");
    586         qglPolygonStipple = (void (APIENTRY *)(const GLubyte *))GetProcAddress(hOpenGL, "glPolygonStipple");
    587         qglPopAttrib = (void (APIENTRY *)(void))GetProcAddress(hOpenGL, "glPopAttrib");
    588         qglPopClientAttrib = (void (APIENTRY *)(void))GetProcAddress(hOpenGL, "glPopClientAttrib");
    589         qglPopMatrix = (void (APIENTRY *)(void))GetProcAddress(hOpenGL, "glPopMatrix");
    590         qglPopName = (void (APIENTRY *)(void))GetProcAddress(hOpenGL, "glPopName");
    591         qglPrioritizeTextures = (void (APIENTRY *)(GLsizei, const GLuint *, const GLclampf *))GetProcAddress(hOpenGL, "glPrioritizeTextures");
    592         qglPushAttrib = (void (APIENTRY *)(GLbitfield))GetProcAddress(hOpenGL, "glPushAttrib");
    593         qglPushClientAttrib = (void (APIENTRY *)(GLbitfield))GetProcAddress(hOpenGL, "glPushClientAttrib");
    594         qglPushMatrix = (void (APIENTRY *)(void))GetProcAddress(hOpenGL, "glPushMatrix");
    595         qglPushName = (void (APIENTRY *)(GLuint))GetProcAddress(hOpenGL, "glPushName");
    596         qglRasterPos2d = (void (APIENTRY *)(GLdouble, GLdouble))GetProcAddress(hOpenGL, "glRasterPos2d");
    597         qglRasterPos2dv = (void (APIENTRY *)(const GLdouble *))GetProcAddress(hOpenGL, "glRasterPos2dv");
    598         qglRasterPos2f = (void (APIENTRY *)(GLfloat, GLfloat))GetProcAddress(hOpenGL, "glRasterPos2f");
    599         qglRasterPos2fv = (void (APIENTRY *)(const GLfloat *))GetProcAddress(hOpenGL, "glRasterPos2fv");
    600         qglRasterPos2i = (void (APIENTRY *)(GLint, GLint))GetProcAddress(hOpenGL, "glRasterPos2i");
    601         qglRasterPos2iv = (void (APIENTRY *)(const GLint *))GetProcAddress(hOpenGL, "glRasterPos2iv");
    602         qglRasterPos2s = (void (APIENTRY *)(GLshort, GLshort))GetProcAddress(hOpenGL, "glRasterPos2s");
    603         qglRasterPos2sv = (void (APIENTRY *)(const GLshort *))GetProcAddress(hOpenGL, "glRasterPos2sv");
    604         qglRasterPos3d = (void (APIENTRY *)(GLdouble, GLdouble, GLdouble))GetProcAddress(hOpenGL, "glRasterPos3d");
    605         qglRasterPos3dv = (void (APIENTRY *)(const GLdouble *))GetProcAddress(hOpenGL, "glRasterPos3dv");
    606         qglRasterPos3f = (void (APIENTRY *)(GLfloat, GLfloat, GLfloat))GetProcAddress(hOpenGL, "glRasterPos3f");
    607         qglRasterPos3fv = (void (APIENTRY *)(const GLfloat *))GetProcAddress(hOpenGL, "glRasterPos3fv");
    608         qglRasterPos3i = (void (APIENTRY *)(GLint, GLint, GLint))GetProcAddress(hOpenGL, "glRasterPos3i");
    609         qglRasterPos3iv = (void (APIENTRY *)(const GLint *))GetProcAddress(hOpenGL, "glRasterPos3iv");
    610         qglRasterPos3s = (void (APIENTRY *)(GLshort, GLshort, GLshort))GetProcAddress(hOpenGL, "glRasterPos3s");
    611         qglRasterPos3sv = (void (APIENTRY *)(const GLshort *))GetProcAddress(hOpenGL, "glRasterPos3sv");
    612         qglRasterPos4d = (void (APIENTRY *)(GLdouble, GLdouble, GLdouble, GLdouble))GetProcAddress(hOpenGL, "glRasterPos4d");
    613         qglRasterPos4dv = (void (APIENTRY *)(const GLdouble *))GetProcAddress(hOpenGL, "glRasterPos4dv");
    614         qglRasterPos4f = (void (APIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat))GetProcAddress(hOpenGL, "glRasterPos4f");
    615         qglRasterPos4fv = (void (APIENTRY *)(const GLfloat *))GetProcAddress(hOpenGL, "glRasterPos4fv");
    616         qglRasterPos4i = (void (APIENTRY *)(GLint, GLint, GLint, GLint))GetProcAddress(hOpenGL, "glRasterPos4i");
    617         qglRasterPos4iv = (void (APIENTRY *)(const GLint *))GetProcAddress(hOpenGL, "glRasterPos4iv");
    618         qglRasterPos4s = (void (APIENTRY *)(GLshort, GLshort, GLshort, GLshort))GetProcAddress(hOpenGL, "glRasterPos4s");
    619         qglRasterPos4sv = (void (APIENTRY *)(const GLshort *))GetProcAddress(hOpenGL, "glRasterPos4sv");
    620         qglReadBuffer = (void (APIENTRY *)(GLenum))GetProcAddress(hOpenGL, "glReadBuffer");
    621         qglReadPixels = (void (APIENTRY *)(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid *))GetProcAddress(hOpenGL, "glReadPixels");
    622         qglRectd = (void (APIENTRY *)(GLdouble, GLdouble, GLdouble, GLdouble))GetProcAddress(hOpenGL, "glRectd");
    623         qglRectdv = (void (APIENTRY *)(const GLdouble *, const GLdouble *))GetProcAddress(hOpenGL, "glRectdv");
    624         qglRectf = (void (APIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat))GetProcAddress(hOpenGL, "glRectf");
    625         qglRectfv = (void (APIENTRY *)(const GLfloat *, const GLfloat *))GetProcAddress(hOpenGL, "glRectfv");
    626         qglRecti = (void (APIENTRY *)(GLint, GLint, GLint, GLint))GetProcAddress(hOpenGL, "glRecti");
    627         qglRectiv = (void (APIENTRY *)(const GLint *, const GLint *))GetProcAddress(hOpenGL, "glRectiv");
    628         qglRects = (void (APIENTRY *)(GLshort, GLshort, GLshort, GLshort))GetProcAddress(hOpenGL, "glRects");
    629         qglRectsv = (void (APIENTRY *)(const GLshort *, const GLshort *))GetProcAddress(hOpenGL, "glRectsv");
    630         qglRenderMode = (GLint (APIENTRY *)(GLenum))GetProcAddress(hOpenGL, "glRenderMode");
    631         qglRotated = (void (APIENTRY *)(GLdouble, GLdouble, GLdouble, GLdouble))GetProcAddress(hOpenGL, "glRotated");
    632         qglRotatef = (void (APIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat))GetProcAddress(hOpenGL, "glRotatef");
    633         qglScaled = (void (APIENTRY *)(GLdouble, GLdouble, GLdouble))GetProcAddress(hOpenGL, "glScaled");
    634         qglScalef = (void (APIENTRY *)(GLfloat, GLfloat, GLfloat))GetProcAddress(hOpenGL, "glScalef");
    635         qglScissor = (void (APIENTRY *)(GLint, GLint, GLsizei, GLsizei))GetProcAddress(hOpenGL, "glScissor");
    636         qglSelectBuffer = (void (APIENTRY *)(GLsizei, GLuint *))GetProcAddress(hOpenGL, "glSelectBuffer");
    637         qglShadeModel = (void (APIENTRY *)(GLenum))GetProcAddress(hOpenGL, "glShadeModel");
    638         qglStencilFunc = (void (APIENTRY *)(GLenum, GLint, GLuint))GetProcAddress(hOpenGL, "glStencilFunc");
    639         qglStencilMask = (void (APIENTRY *)(GLuint))GetProcAddress(hOpenGL, "glStencilMask");
    640         qglStencilOp = (void (APIENTRY *)(GLenum, GLenum, GLenum))GetProcAddress(hOpenGL, "glStencilOp");
    641         qglTexCoord1d = (void (APIENTRY *)(GLdouble))GetProcAddress(hOpenGL, "glTexCoord1d");
    642         qglTexCoord1dv = (void (APIENTRY *)(const GLdouble *))GetProcAddress(hOpenGL, "glTexCoord1dv");
    643         qglTexCoord1f = (void (APIENTRY *)(GLfloat))GetProcAddress(hOpenGL, "glTexCoord1f");
    644         qglTexCoord1fv = (void (APIENTRY *)(const GLfloat *))GetProcAddress(hOpenGL, "glTexCoord1fv");
    645         qglTexCoord1i = (void (APIENTRY *)(GLint))GetProcAddress(hOpenGL, "glTexCoord1i");
    646         qglTexCoord1iv = (void (APIENTRY *)(const GLint *))GetProcAddress(hOpenGL, "glTexCoord1iv");
    647         qglTexCoord1s = (void (APIENTRY *)(GLshort))GetProcAddress(hOpenGL, "glTexCoord1s");
    648         qglTexCoord1sv = (void (APIENTRY *)(const GLshort *))GetProcAddress(hOpenGL, "glTexCoord1sv");
    649         qglTexCoord2d = (void (APIENTRY *)(GLdouble, GLdouble))GetProcAddress(hOpenGL, "glTexCoord2d");
    650         qglTexCoord2dv = (void (APIENTRY *)(const GLdouble *))GetProcAddress(hOpenGL, "glTexCoord2dv");
    651         qglTexCoord2f = (void (APIENTRY *)(GLfloat, GLfloat))GetProcAddress(hOpenGL, "glTexCoord2f");
    652         qglTexCoord2fv = (void (APIENTRY *)(const GLfloat *))GetProcAddress(hOpenGL, "glTexCoord2fv");
    653         qglTexCoord2i = (void (APIENTRY *)(GLint, GLint))GetProcAddress(hOpenGL, "glTexCoord2i");
    654         qglTexCoord2iv = (void (APIENTRY *)(const GLint *))GetProcAddress(hOpenGL, "glTexCoord2iv");
    655         qglTexCoord2s = (void (APIENTRY *)(GLshort, GLshort))GetProcAddress(hOpenGL, "glTexCoord2s");
    656         qglTexCoord2sv = (void (APIENTRY *)(const GLshort *))GetProcAddress(hOpenGL, "glTexCoord2sv");
    657         qglTexCoord3d = (void (APIENTRY *)(GLdouble, GLdouble, GLdouble))GetProcAddress(hOpenGL, "glTexCoord3d");
    658         qglTexCoord3dv = (void (APIENTRY *)(const GLdouble *))GetProcAddress(hOpenGL, "glTexCoord3dv");
    659         qglTexCoord3f = (void (APIENTRY *)(GLfloat, GLfloat, GLfloat))GetProcAddress(hOpenGL, "glTexCoord3f");
    660         qglTexCoord3fv = (void (APIENTRY *)(const GLfloat *))GetProcAddress(hOpenGL, "glTexCoord3fv");
    661         qglTexCoord3i = (void (APIENTRY *)(GLint, GLint, GLint))GetProcAddress(hOpenGL, "glTexCoord3i");
    662         qglTexCoord3iv = (void (APIENTRY *)(const GLint *))GetProcAddress(hOpenGL, "glTexCoord3iv");
    663         qglTexCoord3s = (void (APIENTRY *)(GLshort, GLshort, GLshort))GetProcAddress(hOpenGL, "glTexCoord3s");
    664         qglTexCoord3sv = (void (APIENTRY *)(const GLshort *))GetProcAddress(hOpenGL, "glTexCoord3sv");
    665         qglTexCoord4d = (void (APIENTRY *)(GLdouble, GLdouble, GLdouble, GLdouble))GetProcAddress(hOpenGL, "glTexCoord4d");
    666         qglTexCoord4dv = (void (APIENTRY *)(const GLdouble *))GetProcAddress(hOpenGL, "glTexCoord4dv");
    667         qglTexCoord4f = (void (APIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat))GetProcAddress(hOpenGL, "glTexCoord4f");
    668         qglTexCoord4fv = (void (APIENTRY *)(const GLfloat *))GetProcAddress(hOpenGL, "glTexCoord4fv");
    669         qglTexCoord4i = (void (APIENTRY *)(GLint, GLint, GLint, GLint))GetProcAddress(hOpenGL, "glTexCoord4i");
    670         qglTexCoord4iv = (void (APIENTRY *)(const GLint *))GetProcAddress(hOpenGL, "glTexCoord4iv");
    671         qglTexCoord4s = (void (APIENTRY *)(GLshort, GLshort, GLshort, GLshort))GetProcAddress(hOpenGL, "glTexCoord4s");
    672         qglTexCoord4sv = (void (APIENTRY *)(const GLshort *))GetProcAddress(hOpenGL, "glTexCoord4sv");
    673         qglTexCoordPointer = (void (APIENTRY *)(GLint, GLenum, GLsizei, const GLvoid *))GetProcAddress(hOpenGL, "glTexCoordPointer");
    674         qglTexEnvf = (void (APIENTRY *)(GLenum, GLenum, GLfloat))GetProcAddress(hOpenGL, "glTexEnvf");
    675         qglTexEnvfv = (void (APIENTRY *)(GLenum, GLenum, const GLfloat *))GetProcAddress(hOpenGL, "glTexEnvfv");
    676         qglTexEnvi = (void (APIENTRY *)(GLenum, GLenum, GLint))GetProcAddress(hOpenGL, "glTexEnvi");
    677         qglTexEnviv = (void (APIENTRY *)(GLenum, GLenum, const GLint *))GetProcAddress(hOpenGL, "glTexEnviv");
    678         qglTexGend = (void (APIENTRY *)(GLenum, GLenum, GLdouble))GetProcAddress(hOpenGL, "glTexGend");
    679         qglTexGendv = (void (APIENTRY *)(GLenum, GLenum, const GLdouble *))GetProcAddress(hOpenGL, "glTexGendv");
    680         qglTexGenf = (void (APIENTRY *)(GLenum, GLenum, GLfloat))GetProcAddress(hOpenGL, "glTexGenf");
    681         qglTexGenfv = (void (APIENTRY *)(GLenum, GLenum, const GLfloat *))GetProcAddress(hOpenGL, "glTexGenfv");
    682         qglTexGeni = (void (APIENTRY *)(GLenum, GLenum, GLint))GetProcAddress(hOpenGL, "glTexGeni");
    683         qglTexGeniv = (void (APIENTRY *)(GLenum, GLenum, const GLint *))GetProcAddress(hOpenGL, "glTexGeniv");
    684         qglTexImage1D = (void (APIENTRY *)(GLenum, GLint, GLint, GLsizei, GLint, GLenum, GLenum, const GLvoid *))GetProcAddress(hOpenGL, "glTexImage1D");
    685         qglTexImage2D = (void (APIENTRY *)(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *))GetProcAddress(hOpenGL, "glTexImage2D");
    686         qglTexParameterf = (void (APIENTRY *)(GLenum, GLenum, GLfloat))GetProcAddress(hOpenGL, "glTexParameterf");
    687         qglTexParameterfv = (void (APIENTRY *)(GLenum, GLenum, const GLfloat *))GetProcAddress(hOpenGL, "glTexParameterfv");
    688         qglTexParameteri = (void (APIENTRY *)(GLenum, GLenum, GLint))GetProcAddress(hOpenGL, "glTexParameteri");
    689         qglTexParameteriv = (void (APIENTRY *)(GLenum, GLenum, const GLint *))GetProcAddress(hOpenGL, "glTexParameteriv");
    690         qglTexSubImage1D = (void (APIENTRY *)(GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *))GetProcAddress(hOpenGL, "glTexSubImage1D");
    691         qglTexSubImage2D = (void (APIENTRY *)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *))GetProcAddress(hOpenGL, "glTexSubImage2D");
    692         qglTranslated = (void (APIENTRY *)(GLdouble, GLdouble, GLdouble))GetProcAddress(hOpenGL, "glTranslated");
    693         qglTranslatef = (void (APIENTRY *)(GLfloat, GLfloat, GLfloat))GetProcAddress(hOpenGL, "glTranslatef");
    694         qglVertex2d = (void (APIENTRY *)(GLdouble, GLdouble))GetProcAddress(hOpenGL, "glVertex2d");
    695         qglVertex2dv = (void (APIENTRY *)(const GLdouble *))GetProcAddress(hOpenGL, "glVertex2dv");
    696         qglVertex2f = (void (APIENTRY *)(GLfloat, GLfloat))GetProcAddress(hOpenGL, "glVertex2f");
    697         qglVertex2fv = (void (APIENTRY *)(const GLfloat *))GetProcAddress(hOpenGL, "glVertex2fv");
    698         qglVertex2i = (void (APIENTRY *)(GLint, GLint))GetProcAddress(hOpenGL, "glVertex2i");
    699         qglVertex2iv = (void (APIENTRY *)(const GLint *))GetProcAddress(hOpenGL, "glVertex2iv");
    700         qglVertex2s = (void (APIENTRY *)(GLshort, GLshort))GetProcAddress(hOpenGL, "glVertex2s");
    701         qglVertex2sv = (void (APIENTRY *)(const GLshort *))GetProcAddress(hOpenGL, "glVertex2sv");
    702         qglVertex3d = (void (APIENTRY *)(GLdouble, GLdouble, GLdouble))GetProcAddress(hOpenGL, "glVertex3d");
    703         qglVertex3dv = (void (APIENTRY *)(const GLdouble *))GetProcAddress(hOpenGL, "glVertex3dv");
    704         qglVertex3f = (void (APIENTRY *)(GLfloat, GLfloat, GLfloat))GetProcAddress(hOpenGL, "glVertex3f");
    705         qglVertex3fv = (void (APIENTRY *)(const GLfloat *))GetProcAddress(hOpenGL, "glVertex3fv");
    706         qglVertex3i = (void (APIENTRY *)(GLint, GLint, GLint))GetProcAddress(hOpenGL, "glVertex3i");
    707         qglVertex3iv = (void (APIENTRY *)(const GLint *))GetProcAddress(hOpenGL, "glVertex3iv");
    708         qglVertex3s = (void (APIENTRY *)(GLshort, GLshort, GLshort))GetProcAddress(hOpenGL, "glVertex3s");
    709         qglVertex3sv = (void (APIENTRY *)(const GLshort *))GetProcAddress(hOpenGL, "glVertex3sv");
    710         qglVertex4d = (void (APIENTRY *)(GLdouble, GLdouble, GLdouble, GLdouble))GetProcAddress(hOpenGL, "glVertex4d");
    711         qglVertex4dv = (void (APIENTRY *)(const GLdouble *))GetProcAddress(hOpenGL, "glVertex4dv");
    712         qglVertex4f = (void (APIENTRY *)(GLfloat, GLfloat, GLfloat, GLfloat))GetProcAddress(hOpenGL, "glVertex4f");
    713         qglVertex4fv = (void (APIENTRY *)(const GLfloat *))GetProcAddress(hOpenGL, "glVertex4fv");
    714         qglVertex4i = (void (APIENTRY *)(GLint, GLint, GLint, GLint))GetProcAddress(hOpenGL, "glVertex4i");
    715         qglVertex4iv = (void (APIENTRY *)(const GLint *))GetProcAddress(hOpenGL, "glVertex4iv");
    716         qglVertex4s = (void (APIENTRY *)(GLshort, GLshort, GLshort, GLshort))GetProcAddress(hOpenGL, "glVertex4s");
    717         qglVertex4sv = (void (APIENTRY *)(const GLshort *))GetProcAddress(hOpenGL, "glVertex4sv");
    718         qglVertexPointer = (void (APIENTRY *)(GLint, GLenum, GLsizei, const GLvoid *))GetProcAddress(hOpenGL, "glVertexPointer");
    719         qglViewport = (void (APIENTRY *)(GLint, GLint, GLsizei, GLsizei))GetProcAddress(hOpenGL, "glViewport");
    720 
    721         qwglGetProcAddress = (PROC (WINAPI *)(LPCSTR))GetProcAddress(hOpenGL, "wglGetProcAddress");
    722 
    723         QGL_InitExtension();
    724     }
    725 }
    726 
    727 void QGL_InitExtension(void)
    728 {
    729     const char *version = (const char *)qglGetString(GL_VERSION);
    730     const char *extensions = (const char *)qglGetString(GL_EXTENSIONS);
    731 
    732     if (version[0] > '1' && version[2] > '3')
    733     {
    734         qglActiveTexture = (void (APIENTRY *)(GLenum))qwglGetProcAddress("glActiveTexture");
    735         qglSampleCoverage = (void (APIENTRY *)(GLclampf, GLboolean))qwglGetProcAddress("glSampleCoverage");
    736         qglCompressedTexImage3D = (void (APIENTRY *)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *))qwglGetProcAddress("glCompressedTexImage3D");
    737         qglCompressedTexImage2D = (void (APIENTRY *)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *))qwglGetProcAddress("glCompressedTexImage2D");
    738         qglCompressedTexImage1D = (void (APIENTRY *)(GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *))qwglGetProcAddress("glCompressedTexImage1D");
    739         qglCompressedTexSubImage3D = (void (APIENTRY *)(GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *))qwglGetProcAddress("glCompressedTexSubImage3D");
    740         qglCompressedTexSubImage2D = (void (APIENTRY *)(GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *))qwglGetProcAddress("glCompressedTexSubImage2D");
    741         qglCompressedTexSubImage1D = (void (APIENTRY *)(GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *))qwglGetProcAddress("glCompressedTexSubImage1D");
    742         qglGetCompressedTexImage = (void (APIENTRY *)(GLenum, GLint, GLvoid *))qwglGetProcAddress("glGetCompressedTexImage");
    743     }
    744 
    745     if (strstr(extensions, "GL_ARB_framebuffer_object"))
    746     {
    747         qglIsRenderbuffer = (GLboolean (APIENTRY *)(GLuint))qwglGetProcAddress("glIsRenderbuffer");
    748         qglBindRenderbuffer = (void (APIENTRY *)(GLenum, GLuint))qwglGetProcAddress("glBindRenderbuffer");
    749         qglDeleteRenderbuffers = (void (APIENTRY *)(GLsizei, const GLuint *))qwglGetProcAddress("glDeleteRenderbuffers");
    750         qglGenRenderbuffers = (void (APIENTRY *)(GLsizei, GLuint *))qwglGetProcAddress("glGenRenderbuffers");
    751         qglRenderbufferStorage = (void (APIENTRY *)(GLenum, GLenum, GLsizei, GLsizei))qwglGetProcAddress("glRenderbufferStorage");
    752         qglGetRenderbufferParameteriv = (void (APIENTRY *)(GLenum, GLenum, GLint *))qwglGetProcAddress("glGetRenderbufferParameteriv");
    753         qglIsFramebuffer = (GLboolean (APIENTRY *)(GLuint))qwglGetProcAddress("glIsFramebuffer");
    754         qglBindFramebuffer = (void (APIENTRY *)(GLenum, GLuint))qwglGetProcAddress("glBindFramebuffer");
    755         qglDeleteFramebuffers = (void (APIENTRY *)(GLsizei, const GLuint *))qwglGetProcAddress("glDeleteFramebuffers");
    756         qglGenFramebuffers = (void (APIENTRY *)(GLsizei, GLuint *))qwglGetProcAddress("glGenFramebuffers");
    757         qglCheckFramebufferStatus = (GLenum (APIENTRY *)(GLenum))qwglGetProcAddress("glCheckFramebufferStatus");
    758         qglFramebufferTexture1D = (void (APIENTRY *)(GLenum, GLenum, GLenum, GLuint, GLint))qwglGetProcAddress("glFramebufferTexture1D");
    759         qglFramebufferTexture2D = (void (APIENTRY *)(GLenum, GLenum, GLenum, GLuint, GLint))qwglGetProcAddress("glFramebufferTexture2D");
    760         qglFramebufferTexture3D = (void (APIENTRY *)(GLenum, GLenum, GLenum, GLuint, GLint, GLint))qwglGetProcAddress("glFramebufferTexture3D");
    761         qglFramebufferRenderbuffer = (void (APIENTRY *)(GLenum, GLenum, GLenum, GLuint))qwglGetProcAddress("glFramebufferRenderbuffer");
    762         qglGetFramebufferAttachmentParameteriv = (void (APIENTRY *)(GLenum, GLenum, GLenum, GLint *))qwglGetProcAddress("glGetFramebufferAttachmentParameteriv");
    763         qglGenerateMipmap = (void (APIENTRY *)(GLenum))qwglGetProcAddress("glGenerateMipmap");
    764         qglBlitFramebuffer = (void (APIENTRY *)(GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum))qwglGetProcAddress("glBlitFramebuffer");
    765         qglRenderbufferStorageMultisample = (void (APIENTRY *)(GLenum, GLsizei, GLenum, GLsizei, GLsizei))qwglGetProcAddress("glRenderbufferStorageMultisample");
    766         qglFramebufferTextureLayer = (void (APIENTRY *)(GLenum, GLenum, GLuint, GLint, GLint))qwglGetProcAddress("glFramebufferTextureLayer");
    767     }
    768 }
  • 相关阅读:
    “There appears to be trouble with your network connection. Retrying”
    Nignx 处理异常操作流程
    "...do not match previously installed version; ignoring!"
    文档对象模型(DOM)
    Parsing error: Expression expected.
    让人抓狂的缩进冲突(eslint)
    C#中属性PropertyInfo的使用
    C#调用WebService服务(动态调用)
    pdf转word工具
    PASS系统应用技术手册
  • 原文地址:https://www.cnblogs.com/crsky/p/4702943.html
Copyright © 2011-2022 走看看