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