[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 }
原文地址:https://www.cnblogs.com/crsky/p/4702943.html