diff --git a/neo/CMakeLists.txt b/neo/CMakeLists.txt
index a9e8d952..317099b0 100644
--- a/neo/CMakeLists.txt
+++ b/neo/CMakeLists.txt
@@ -98,9 +98,6 @@ include_directories(${VORBISFILE_INCLUDE_DIR})
find_package(OpenAL REQUIRED)
include_directories(${OPENAL_INCLUDE_DIR})
-find_package(OpenGL REQUIRED)
-include_directories(${OPENGL_INCLUDE_DIR})
-
find_package(SDL REQUIRED)
include_directories(${SDL_INCLUDE_DIR})
@@ -181,7 +178,7 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID STREQUAL "Clang")
message(FATAL_ERROR "Unsupported CPU architecture for OSX")
endif()
- set(sys_libs ${sys_libs} "-framework Carbon -framework Cocoa -framework OpenGL -framework IOKit")
+ set(sys_libs ${sys_libs} "-framework Carbon -framework Cocoa -framework IOKit")
else()
if(os STREQUAL "linux")
set(sys_libs ${sys_libs} dl)
@@ -729,7 +726,6 @@ if(CORE)
target_link_libraries(dhewm3
idlib
- ${OPENGL_gl_LIBRARY}
${OPENAL_LIBRARY}
${OGG_LIBRARIES}
${VORBISFILE_LIBRARIES}
diff --git a/neo/renderer/RenderSystem_init.cpp b/neo/renderer/RenderSystem_init.cpp
index 1df42d5c..2d90f9c4 100644
--- a/neo/renderer/RenderSystem_init.cpp
+++ b/neo/renderer/RenderSystem_init.cpp
@@ -221,6 +221,10 @@ idCVar r_materialOverride( "r_materialOverride", "", CVAR_RENDERER, "overrides a
idCVar r_debugRenderToTexture( "r_debugRenderToTexture", "0", CVAR_RENDERER | CVAR_INTEGER, "" );
+// define qgl functions
+#define QGLPROC(name, rettype, args) rettype (APIENTRYP q##name) args;
+#include "renderer/qgl_proc.h"
+
void ( APIENTRY * qglMultiTexCoord2fARB )( GLenum texture, GLfloat s, GLfloat t );
void ( APIENTRY * qglMultiTexCoord2fvARB )( GLenum texture, GLfloat *st );
void ( APIENTRY * qglActiveTextureARB )( GLenum texture );
@@ -558,6 +562,14 @@ void R_InitOpenGL( void ) {
r_multiSamples.SetInteger( 0 );
}
+// load qgl function pointers
+#define QGLPROC(name, rettype, args) \
+ q##name = (rettype(APIENTRYP)args)GLimp_ExtensionPointer(#name); \
+ if (!q##name) \
+ common->FatalError("Unable to initialize OpenGL (%s)", #name);
+
+#include "renderer/qgl_proc.h"
+
// input and sound systems need to be tied to the new window
Sys_InitInput();
soundSystem->InitHW();
diff --git a/neo/renderer/qgl.h b/neo/renderer/qgl.h
index 0ca8456b..a05bf0ef 100644
--- a/neo/renderer/qgl.h
+++ b/neo/renderer/qgl.h
@@ -46,6 +46,10 @@ GLExtension_t GLimp_ExtensionPointer( const char *name );
}
#endif
+// declare qgl functions
+#define QGLPROC(name, rettype, args) extern rettype (APIENTRYP q##name) args;
+#include "renderer/qgl_proc.h"
+
// multitexture
extern void ( APIENTRY * qglMultiTexCoord2fARB )( GLenum texture, GLfloat s, GLfloat t );
extern void ( APIENTRY * qglMultiTexCoord2fvARB )( GLenum texture, GLfloat *st );
@@ -91,383 +95,4 @@ extern PFNGLPROGRAMLOCALPARAMETER4FVARBPROC qglProgramLocalParameter4fvARB;
// GL_EXT_depth_bounds_test
extern PFNGLDEPTHBOUNDSEXTPROC qglDepthBoundsEXT;
-//===========================================================================
-
-// non-windows systems will just redefine qgl* to gl*
-#if 1
-
-#include "qgl_linked.h"
-
-#else
-
-// windows systems use a function pointer for each call so we can do our log file intercepts
-
-extern void ( APIENTRY * qglAccum )(GLenum op, GLfloat value);
-extern void ( APIENTRY * qglAlphaFunc )(GLenum func, GLclampf ref);
-extern GLboolean ( APIENTRY * qglAreTexturesResident )(GLsizei n, const GLuint *textures, GLboolean *residences);
-extern void ( APIENTRY * qglArrayElement )(GLint i);
-extern void ( APIENTRY * qglBegin )(GLenum mode);
-extern void ( APIENTRY * qglBindTexture )(GLenum target, GLuint texture);
-extern void ( APIENTRY * qglBitmap )(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
-extern void ( APIENTRY * qglBlendFunc )(GLenum sfactor, GLenum dfactor);
-extern void ( APIENTRY * qglCallList )(GLuint list);
-extern void ( APIENTRY * qglCallLists )(GLsizei n, GLenum type, const GLvoid *lists);
-extern void ( APIENTRY * qglClear )(GLbitfield mask);
-extern void ( APIENTRY * qglClearAccum )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
-extern void ( APIENTRY * qglClearColor )(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
-extern void ( APIENTRY * qglClearDepth )(GLclampd depth);
-extern void ( APIENTRY * qglClearIndex )(GLfloat c);
-extern void ( APIENTRY * qglClearStencil )(GLint s);
-extern void ( APIENTRY * qglClipPlane )(GLenum plane, const GLdouble *equation);
-extern void ( APIENTRY * qglColor3b )(GLbyte red, GLbyte green, GLbyte blue);
-extern void ( APIENTRY * qglColor3bv )(const GLbyte *v);
-extern void ( APIENTRY * qglColor3d )(GLdouble red, GLdouble green, GLdouble blue);
-extern void ( APIENTRY * qglColor3dv )(const GLdouble *v);
-extern void ( APIENTRY * qglColor3f )(GLfloat red, GLfloat green, GLfloat blue);
-extern void ( APIENTRY * qglColor3fv )(const GLfloat *v);
-extern void ( APIENTRY * qglColor3i )(GLint red, GLint green, GLint blue);
-extern void ( APIENTRY * qglColor3iv )(const GLint *v);
-extern void ( APIENTRY * qglColor3s )(GLshort red, GLshort green, GLshort blue);
-extern void ( APIENTRY * qglColor3sv )(const GLshort *v);
-extern void ( APIENTRY * qglColor3ub )(GLubyte red, GLubyte green, GLubyte blue);
-extern void ( APIENTRY * qglColor3ubv )(const GLubyte *v);
-extern void ( APIENTRY * qglColor3ui )(GLuint red, GLuint green, GLuint blue);
-extern void ( APIENTRY * qglColor3uiv )(const GLuint *v);
-extern void ( APIENTRY * qglColor3us )(GLushort red, GLushort green, GLushort blue);
-extern void ( APIENTRY * qglColor3usv )(const GLushort *v);
-extern void ( APIENTRY * qglColor4b )(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
-extern void ( APIENTRY * qglColor4bv )(const GLbyte *v);
-extern void ( APIENTRY * qglColor4d )(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
-extern void ( APIENTRY * qglColor4dv )(const GLdouble *v);
-extern void ( APIENTRY * qglColor4f )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
-extern void ( APIENTRY * qglColor4fv )(const GLfloat *v);
-extern void ( APIENTRY * qglColor4i )(GLint red, GLint green, GLint blue, GLint alpha);
-extern void ( APIENTRY * qglColor4iv )(const GLint *v);
-extern void ( APIENTRY * qglColor4s )(GLshort red, GLshort green, GLshort blue, GLshort alpha);
-extern void ( APIENTRY * qglColor4sv )(const GLshort *v);
-extern void ( APIENTRY * qglColor4ub )(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
-extern void ( APIENTRY * qglColor4ubv )(const GLubyte *v);
-extern void ( APIENTRY * qglColor4ui )(GLuint red, GLuint green, GLuint blue, GLuint alpha);
-extern void ( APIENTRY * qglColor4uiv )(const GLuint *v);
-extern void ( APIENTRY * qglColor4us )(GLushort red, GLushort green, GLushort blue, GLushort alpha);
-extern void ( APIENTRY * qglColor4usv )(const GLushort *v);
-extern void ( APIENTRY * qglColorMask )(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
-extern void ( APIENTRY * qglColorMaterial )(GLenum face, GLenum mode);
-extern void ( APIENTRY * qglColorPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-extern void ( APIENTRY * qglCopyPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
-extern void ( APIENTRY * qglCopyTexImage1D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
-extern void ( APIENTRY * qglCopyTexImage2D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
-extern void ( APIENTRY * qglCopyTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
-extern void ( APIENTRY * qglCopyTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-extern void ( APIENTRY * qglCullFace )(GLenum mode);
-extern void ( APIENTRY * qglDeleteLists )(GLuint list, GLsizei range);
-extern void ( APIENTRY * qglDeleteTextures )(GLsizei n, const GLuint *textures);
-extern void ( APIENTRY * qglDepthFunc )(GLenum func);
-extern void ( APIENTRY * qglDepthMask )(GLboolean flag);
-extern void ( APIENTRY * qglDepthRange )(GLclampd zNear, GLclampd zFar);
-extern void ( APIENTRY * qglDisable )(GLenum cap);
-extern void ( APIENTRY * qglDisableClientState )(GLenum array);
-extern void ( APIENTRY * qglDrawArrays )(GLenum mode, GLint first, GLsizei count);
-extern void ( APIENTRY * qglDrawBuffer )(GLenum mode);
-extern void ( APIENTRY * qglDrawElements )(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
-extern void ( APIENTRY * qglDrawPixels )(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
-extern void ( APIENTRY * qglEdgeFlag )(GLboolean flag);
-extern void ( APIENTRY * qglEdgeFlagPointer )(GLsizei stride, const GLvoid *pointer);
-extern void ( APIENTRY * qglEdgeFlagv )(const GLboolean *flag);
-extern void ( APIENTRY * qglEnable )(GLenum cap);
-extern void ( APIENTRY * qglEnableClientState )(GLenum array);
-extern void ( APIENTRY * qglEnd )(void);
-extern void ( APIENTRY * qglEndList )(void);
-extern void ( APIENTRY * qglEvalCoord1d )(GLdouble u);
-extern void ( APIENTRY * qglEvalCoord1dv )(const GLdouble *u);
-extern void ( APIENTRY * qglEvalCoord1f )(GLfloat u);
-extern void ( APIENTRY * qglEvalCoord1fv )(const GLfloat *u);
-extern void ( APIENTRY * qglEvalCoord2d )(GLdouble u, GLdouble v);
-extern void ( APIENTRY * qglEvalCoord2dv )(const GLdouble *u);
-extern void ( APIENTRY * qglEvalCoord2f )(GLfloat u, GLfloat v);
-extern void ( APIENTRY * qglEvalCoord2fv )(const GLfloat *u);
-extern void ( APIENTRY * qglEvalMesh1 )(GLenum mode, GLint i1, GLint i2);
-extern void ( APIENTRY * qglEvalMesh2 )(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
-extern void ( APIENTRY * qglEvalPoint1 )(GLint i);
-extern void ( APIENTRY * qglEvalPoint2 )(GLint i, GLint j);
-extern void ( APIENTRY * qglFeedbackBuffer )(GLsizei size, GLenum type, GLfloat *buffer);
-extern void ( APIENTRY * qglFinish )(void);
-extern void ( APIENTRY * qglFlush )(void);
-extern void ( APIENTRY * qglFogf )(GLenum pname, GLfloat param);
-extern void ( APIENTRY * qglFogfv )(GLenum pname, const GLfloat *params);
-extern void ( APIENTRY * qglFogi )(GLenum pname, GLint param);
-extern void ( APIENTRY * qglFogiv )(GLenum pname, const GLint *params);
-extern void ( APIENTRY * qglFrontFace )(GLenum mode);
-extern void ( APIENTRY * qglFrustum )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
-extern GLuint ( APIENTRY * qglGenLists )(GLsizei range);
-extern void ( APIENTRY * qglGenTextures )(GLsizei n, GLuint *textures);
-extern void ( APIENTRY * qglGetBooleanv )(GLenum pname, GLboolean *params);
-extern void ( APIENTRY * qglGetClipPlane )(GLenum plane, GLdouble *equation);
-extern void ( APIENTRY * qglGetDoublev )(GLenum pname, GLdouble *params);
-extern GLenum ( APIENTRY * qglGetError )(void);
-extern void ( APIENTRY * qglGetFloatv )(GLenum pname, GLfloat *params);
-extern void ( APIENTRY * qglGetIntegerv )(GLenum pname, GLint *params);
-extern void ( APIENTRY * qglGetLightfv )(GLenum light, GLenum pname, GLfloat *params);
-extern void ( APIENTRY * qglGetLightiv )(GLenum light, GLenum pname, GLint *params);
-extern void ( APIENTRY * qglGetMapdv )(GLenum target, GLenum query, GLdouble *v);
-extern void ( APIENTRY * qglGetMapfv )(GLenum target, GLenum query, GLfloat *v);
-extern void ( APIENTRY * qglGetMapiv )(GLenum target, GLenum query, GLint *v);
-extern void ( APIENTRY * qglGetMaterialfv )(GLenum face, GLenum pname, GLfloat *params);
-extern void ( APIENTRY * qglGetMaterialiv )(GLenum face, GLenum pname, GLint *params);
-extern void ( APIENTRY * qglGetPixelMapfv )(GLenum map, GLfloat *values);
-extern void ( APIENTRY * qglGetPixelMapuiv )(GLenum map, GLuint *values);
-extern void ( APIENTRY * qglGetPixelMapusv )(GLenum map, GLushort *values);
-extern void ( APIENTRY * qglGetPointerv )(GLenum pname, GLvoid* *params);
-extern void ( APIENTRY * qglGetPolygonStipple )(GLubyte *mask);
-extern const GLubyte * ( APIENTRY * qglGetString )(GLenum name);
-extern void ( APIENTRY * qglGetTexEnvfv )(GLenum target, GLenum pname, GLfloat *params);
-extern void ( APIENTRY * qglGetTexEnviv )(GLenum target, GLenum pname, GLint *params);
-extern void ( APIENTRY * qglGetTexGendv )(GLenum coord, GLenum pname, GLdouble *params);
-extern void ( APIENTRY * qglGetTexGenfv )(GLenum coord, GLenum pname, GLfloat *params);
-extern void ( APIENTRY * qglGetTexGeniv )(GLenum coord, GLenum pname, GLint *params);
-extern void ( APIENTRY * qglGetTexImage )(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
-extern void ( APIENTRY * qglGetTexLevelParameterfv )(GLenum target, GLint level, GLenum pname, GLfloat *params);
-extern void ( APIENTRY * qglGetTexLevelParameteriv )(GLenum target, GLint level, GLenum pname, GLint *params);
-extern void ( APIENTRY * qglGetTexParameterfv )(GLenum target, GLenum pname, GLfloat *params);
-extern void ( APIENTRY * qglGetTexParameteriv )(GLenum target, GLenum pname, GLint *params);
-extern void ( APIENTRY * qglHint )(GLenum target, GLenum mode);
-extern void ( APIENTRY * qglIndexMask )(GLuint mask);
-extern void ( APIENTRY * qglIndexPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);
-extern void ( APIENTRY * qglIndexd )(GLdouble c);
-extern void ( APIENTRY * qglIndexdv )(const GLdouble *c);
-extern void ( APIENTRY * qglIndexf )(GLfloat c);
-extern void ( APIENTRY * qglIndexfv )(const GLfloat *c);
-extern void ( APIENTRY * qglIndexi )(GLint c);
-extern void ( APIENTRY * qglIndexiv )(const GLint *c);
-extern void ( APIENTRY * qglIndexs )(GLshort c);
-extern void ( APIENTRY * qglIndexsv )(const GLshort *c);
-extern void ( APIENTRY * qglIndexub )(GLubyte c);
-extern void ( APIENTRY * qglIndexubv )(const GLubyte *c);
-extern void ( APIENTRY * qglInitNames )(void);
-extern void ( APIENTRY * qglInterleavedArrays )(GLenum format, GLsizei stride, const GLvoid *pointer);
-extern GLboolean ( APIENTRY * qglIsEnabled )(GLenum cap);
-extern GLboolean ( APIENTRY * qglIsList )(GLuint list);
-extern GLboolean ( APIENTRY * qglIsTexture )(GLuint texture);
-extern void ( APIENTRY * qglLightModelf )(GLenum pname, GLfloat param);
-extern void ( APIENTRY * qglLightModelfv )(GLenum pname, const GLfloat *params);
-extern void ( APIENTRY * qglLightModeli )(GLenum pname, GLint param);
-extern void ( APIENTRY * qglLightModeliv )(GLenum pname, const GLint *params);
-extern void ( APIENTRY * qglLightf )(GLenum light, GLenum pname, GLfloat param);
-extern void ( APIENTRY * qglLightfv )(GLenum light, GLenum pname, const GLfloat *params);
-extern void ( APIENTRY * qglLighti )(GLenum light, GLenum pname, GLint param);
-extern void ( APIENTRY * qglLightiv )(GLenum light, GLenum pname, const GLint *params);
-extern void ( APIENTRY * qglLineStipple )(GLint factor, GLushort pattern);
-extern void ( APIENTRY * qglLineWidth )(GLfloat width);
-extern void ( APIENTRY * qglListBase )(GLuint base);
-extern void ( APIENTRY * qglLoadIdentity )(void);
-extern void ( APIENTRY * qglLoadMatrixd )(const GLdouble *m);
-extern void ( APIENTRY * qglLoadMatrixf )(const GLfloat *m);
-extern void ( APIENTRY * qglLoadName )(GLuint name);
-extern void ( APIENTRY * qglLogicOp )(GLenum opcode);
-extern void ( APIENTRY * qglMap1d )(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
-extern void ( APIENTRY * qglMap1f )(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
-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);
-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);
-extern void ( APIENTRY * qglMapGrid1d )(GLint un, GLdouble u1, GLdouble u2);
-extern void ( APIENTRY * qglMapGrid1f )(GLint un, GLfloat u1, GLfloat u2);
-extern void ( APIENTRY * qglMapGrid2d )(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
-extern void ( APIENTRY * qglMapGrid2f )(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
-extern void ( APIENTRY * qglMaterialf )(GLenum face, GLenum pname, GLfloat param);
-extern void ( APIENTRY * qglMaterialfv )(GLenum face, GLenum pname, const GLfloat *params);
-extern void ( APIENTRY * qglMateriali )(GLenum face, GLenum pname, GLint param);
-extern void ( APIENTRY * qglMaterialiv )(GLenum face, GLenum pname, const GLint *params);
-extern void ( APIENTRY * qglMatrixMode )(GLenum mode);
-extern void ( APIENTRY * qglMultMatrixd )(const GLdouble *m);
-extern void ( APIENTRY * qglMultMatrixf )(const GLfloat *m);
-extern void ( APIENTRY * qglNewList )(GLuint list, GLenum mode);
-extern void ( APIENTRY * qglNormal3b )(GLbyte nx, GLbyte ny, GLbyte nz);
-extern void ( APIENTRY * qglNormal3bv )(const GLbyte *v);
-extern void ( APIENTRY * qglNormal3d )(GLdouble nx, GLdouble ny, GLdouble nz);
-extern void ( APIENTRY * qglNormal3dv )(const GLdouble *v);
-extern void ( APIENTRY * qglNormal3f )(GLfloat nx, GLfloat ny, GLfloat nz);
-extern void ( APIENTRY * qglNormal3fv )(const GLfloat *v);
-extern void ( APIENTRY * qglNormal3i )(GLint nx, GLint ny, GLint nz);
-extern void ( APIENTRY * qglNormal3iv )(const GLint *v);
-extern void ( APIENTRY * qglNormal3s )(GLshort nx, GLshort ny, GLshort nz);
-extern void ( APIENTRY * qglNormal3sv )(const GLshort *v);
-extern void ( APIENTRY * qglNormalPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);
-extern void ( APIENTRY * qglOrtho )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
-extern void ( APIENTRY * qglPassThrough )(GLfloat token);
-extern void ( APIENTRY * qglPixelMapfv )(GLenum map, GLsizei mapsize, const GLfloat *values);
-extern void ( APIENTRY * qglPixelMapuiv )(GLenum map, GLsizei mapsize, const GLuint *values);
-extern void ( APIENTRY * qglPixelMapusv )(GLenum map, GLsizei mapsize, const GLushort *values);
-extern void ( APIENTRY * qglPixelStoref )(GLenum pname, GLfloat param);
-extern void ( APIENTRY * qglPixelStorei )(GLenum pname, GLint param);
-extern void ( APIENTRY * qglPixelTransferf )(GLenum pname, GLfloat param);
-extern void ( APIENTRY * qglPixelTransferi )(GLenum pname, GLint param);
-extern void ( APIENTRY * qglPixelZoom )(GLfloat xfactor, GLfloat yfactor);
-extern void ( APIENTRY * qglPointSize )(GLfloat size);
-extern void ( APIENTRY * qglPolygonMode )(GLenum face, GLenum mode);
-extern void ( APIENTRY * qglPolygonOffset )(GLfloat factor, GLfloat units);
-extern void ( APIENTRY * qglPolygonStipple )(const GLubyte *mask);
-extern void ( APIENTRY * qglPopAttrib )(void);
-extern void ( APIENTRY * qglPopClientAttrib )(void);
-extern void ( APIENTRY * qglPopMatrix )(void);
-extern void ( APIENTRY * qglPopName )(void);
-extern void ( APIENTRY * qglPrioritizeTextures )(GLsizei n, const GLuint *textures, const GLclampf *priorities);
-extern void ( APIENTRY * qglPushAttrib )(GLbitfield mask);
-extern void ( APIENTRY * qglPushClientAttrib )(GLbitfield mask);
-extern void ( APIENTRY * qglPushMatrix )(void);
-extern void ( APIENTRY * qglPushName )(GLuint name);
-extern void ( APIENTRY * qglRasterPos2d )(GLdouble x, GLdouble y);
-extern void ( APIENTRY * qglRasterPos2dv )(const GLdouble *v);
-extern void ( APIENTRY * qglRasterPos2f )(GLfloat x, GLfloat y);
-extern void ( APIENTRY * qglRasterPos2fv )(const GLfloat *v);
-extern void ( APIENTRY * qglRasterPos2i )(GLint x, GLint y);
-extern void ( APIENTRY * qglRasterPos2iv )(const GLint *v);
-extern void ( APIENTRY * qglRasterPos2s )(GLshort x, GLshort y);
-extern void ( APIENTRY * qglRasterPos2sv )(const GLshort *v);
-extern void ( APIENTRY * qglRasterPos3d )(GLdouble x, GLdouble y, GLdouble z);
-extern void ( APIENTRY * qglRasterPos3dv )(const GLdouble *v);
-extern void ( APIENTRY * qglRasterPos3f )(GLfloat x, GLfloat y, GLfloat z);
-extern void ( APIENTRY * qglRasterPos3fv )(const GLfloat *v);
-extern void ( APIENTRY * qglRasterPos3i )(GLint x, GLint y, GLint z);
-extern void ( APIENTRY * qglRasterPos3iv )(const GLint *v);
-extern void ( APIENTRY * qglRasterPos3s )(GLshort x, GLshort y, GLshort z);
-extern void ( APIENTRY * qglRasterPos3sv )(const GLshort *v);
-extern void ( APIENTRY * qglRasterPos4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-extern void ( APIENTRY * qglRasterPos4dv )(const GLdouble *v);
-extern void ( APIENTRY * qglRasterPos4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-extern void ( APIENTRY * qglRasterPos4fv )(const GLfloat *v);
-extern void ( APIENTRY * qglRasterPos4i )(GLint x, GLint y, GLint z, GLint w);
-extern void ( APIENTRY * qglRasterPos4iv )(const GLint *v);
-extern void ( APIENTRY * qglRasterPos4s )(GLshort x, GLshort y, GLshort z, GLshort w);
-extern void ( APIENTRY * qglRasterPos4sv )(const GLshort *v);
-extern void ( APIENTRY * qglReadBuffer )(GLenum mode);
-extern void ( APIENTRY * qglReadPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
-extern void ( APIENTRY * qglRectd )(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
-extern void ( APIENTRY * qglRectdv )(const GLdouble *v1, const GLdouble *v2);
-extern void ( APIENTRY * qglRectf )(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
-extern void ( APIENTRY * qglRectfv )(const GLfloat *v1, const GLfloat *v2);
-extern void ( APIENTRY * qglRecti )(GLint x1, GLint y1, GLint x2, GLint y2);
-extern void ( APIENTRY * qglRectiv )(const GLint *v1, const GLint *v2);
-extern void ( APIENTRY * qglRects )(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
-extern void ( APIENTRY * qglRectsv )(const GLshort *v1, const GLshort *v2);
-extern GLint ( APIENTRY * qglRenderMode )(GLenum mode);
-extern void ( APIENTRY * qglRotated )(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
-extern void ( APIENTRY * qglRotatef )(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
-extern void ( APIENTRY * qglScaled )(GLdouble x, GLdouble y, GLdouble z);
-extern void ( APIENTRY * qglScalef )(GLfloat x, GLfloat y, GLfloat z);
-extern void ( APIENTRY * qglScissor )(GLint x, GLint y, GLsizei width, GLsizei height);
-extern void ( APIENTRY * qglSelectBuffer )(GLsizei size, GLuint *buffer);
-extern void ( APIENTRY * qglShadeModel )(GLenum mode);
-extern void ( APIENTRY * qglStencilFunc )(GLenum func, GLint ref, GLuint mask);
-extern void ( APIENTRY * qglStencilMask )(GLuint mask);
-extern void ( APIENTRY * qglStencilOp )(GLenum fail, GLenum zfail, GLenum zpass);
-extern void ( APIENTRY * qglTexCoord1d )(GLdouble s);
-extern void ( APIENTRY * qglTexCoord1dv )(const GLdouble *v);
-extern void ( APIENTRY * qglTexCoord1f )(GLfloat s);
-extern void ( APIENTRY * qglTexCoord1fv )(const GLfloat *v);
-extern void ( APIENTRY * qglTexCoord1i )(GLint s);
-extern void ( APIENTRY * qglTexCoord1iv )(const GLint *v);
-extern void ( APIENTRY * qglTexCoord1s )(GLshort s);
-extern void ( APIENTRY * qglTexCoord1sv )(const GLshort *v);
-extern void ( APIENTRY * qglTexCoord2d )(GLdouble s, GLdouble t);
-extern void ( APIENTRY * qglTexCoord2dv )(const GLdouble *v);
-extern void ( APIENTRY * qglTexCoord2f )(GLfloat s, GLfloat t);
-extern void ( APIENTRY * qglTexCoord2fv )(const GLfloat *v);
-extern void ( APIENTRY * qglTexCoord2i )(GLint s, GLint t);
-extern void ( APIENTRY * qglTexCoord2iv )(const GLint *v);
-extern void ( APIENTRY * qglTexCoord2s )(GLshort s, GLshort t);
-extern void ( APIENTRY * qglTexCoord2sv )(const GLshort *v);
-extern void ( APIENTRY * qglTexCoord3d )(GLdouble s, GLdouble t, GLdouble r);
-extern void ( APIENTRY * qglTexCoord3dv )(const GLdouble *v);
-extern void ( APIENTRY * qglTexCoord3f )(GLfloat s, GLfloat t, GLfloat r);
-extern void ( APIENTRY * qglTexCoord3fv )(const GLfloat *v);
-extern void ( APIENTRY * qglTexCoord3i )(GLint s, GLint t, GLint r);
-extern void ( APIENTRY * qglTexCoord3iv )(const GLint *v);
-extern void ( APIENTRY * qglTexCoord3s )(GLshort s, GLshort t, GLshort r);
-extern void ( APIENTRY * qglTexCoord3sv )(const GLshort *v);
-extern void ( APIENTRY * qglTexCoord4d )(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
-extern void ( APIENTRY * qglTexCoord4dv )(const GLdouble *v);
-extern void ( APIENTRY * qglTexCoord4f )(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
-extern void ( APIENTRY * qglTexCoord4fv )(const GLfloat *v);
-extern void ( APIENTRY * qglTexCoord4i )(GLint s, GLint t, GLint r, GLint q);
-extern void ( APIENTRY * qglTexCoord4iv )(const GLint *v);
-extern void ( APIENTRY * qglTexCoord4s )(GLshort s, GLshort t, GLshort r, GLshort q);
-extern void ( APIENTRY * qglTexCoord4sv )(const GLshort *v);
-extern void ( APIENTRY * qglTexCoordPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-extern void ( APIENTRY * qglTexEnvf )(GLenum target, GLenum pname, GLfloat param);
-extern void ( APIENTRY * qglTexEnvfv )(GLenum target, GLenum pname, const GLfloat *params);
-extern void ( APIENTRY * qglTexEnvi )(GLenum target, GLenum pname, GLint param);
-extern void ( APIENTRY * qglTexEnviv )(GLenum target, GLenum pname, const GLint *params);
-extern void ( APIENTRY * qglTexGend )(GLenum coord, GLenum pname, GLdouble param);
-extern void ( APIENTRY * qglTexGendv )(GLenum coord, GLenum pname, const GLdouble *params);
-extern void ( APIENTRY * qglTexGenf )(GLenum coord, GLenum pname, GLfloat param);
-extern void ( APIENTRY * qglTexGenfv )(GLenum coord, GLenum pname, const GLfloat *params);
-extern void ( APIENTRY * qglTexGeni )(GLenum coord, GLenum pname, GLint param);
-extern void ( APIENTRY * qglTexGeniv )(GLenum coord, GLenum pname, const GLint *params);
-extern void ( APIENTRY * qglTexImage1D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
-extern void ( APIENTRY * qglTexImage2D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
-extern void ( APIENTRY * qglTexParameterf )(GLenum target, GLenum pname, GLfloat param);
-extern void ( APIENTRY * qglTexParameterfv )(GLenum target, GLenum pname, const GLfloat *params);
-extern void ( APIENTRY * qglTexParameteri )(GLenum target, GLenum pname, GLint param);
-extern void ( APIENTRY * qglTexParameteriv )(GLenum target, GLenum pname, const GLint *params);
-extern void ( APIENTRY * qglTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
-extern void ( APIENTRY * qglTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
-extern void ( APIENTRY * qglTranslated )(GLdouble x, GLdouble y, GLdouble z);
-extern void ( APIENTRY * qglTranslatef )(GLfloat x, GLfloat y, GLfloat z);
-extern void ( APIENTRY * qglVertex2d )(GLdouble x, GLdouble y);
-extern void ( APIENTRY * qglVertex2dv )(const GLdouble *v);
-extern void ( APIENTRY * qglVertex2f )(GLfloat x, GLfloat y);
-extern void ( APIENTRY * qglVertex2fv )(const GLfloat *v);
-extern void ( APIENTRY * qglVertex2i )(GLint x, GLint y);
-extern void ( APIENTRY * qglVertex2iv )(const GLint *v);
-extern void ( APIENTRY * qglVertex2s )(GLshort x, GLshort y);
-extern void ( APIENTRY * qglVertex2sv )(const GLshort *v);
-extern void ( APIENTRY * qglVertex3d )(GLdouble x, GLdouble y, GLdouble z);
-extern void ( APIENTRY * qglVertex3dv )(const GLdouble *v);
-extern void ( APIENTRY * qglVertex3f )(GLfloat x, GLfloat y, GLfloat z);
-extern void ( APIENTRY * qglVertex3fv )(const GLfloat *v);
-extern void ( APIENTRY * qglVertex3i )(GLint x, GLint y, GLint z);
-extern void ( APIENTRY * qglVertex3iv )(const GLint *v);
-extern void ( APIENTRY * qglVertex3s )(GLshort x, GLshort y, GLshort z);
-extern void ( APIENTRY * qglVertex3sv )(const GLshort *v);
-extern void ( APIENTRY * qglVertex4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-extern void ( APIENTRY * qglVertex4dv )(const GLdouble *v);
-extern void ( APIENTRY * qglVertex4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-extern void ( APIENTRY * qglVertex4fv )(const GLfloat *v);
-extern void ( APIENTRY * qglVertex4i )(GLint x, GLint y, GLint z, GLint w);
-extern void ( APIENTRY * qglVertex4iv )(const GLint *v);
-extern void ( APIENTRY * qglVertex4s )(GLshort x, GLshort y, GLshort z, GLshort w);
-extern void ( APIENTRY * qglVertex4sv )(const GLshort *v);
-extern void ( APIENTRY * qglVertexPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-extern void ( APIENTRY * qglViewport )(GLint x, GLint y, GLsizei width, GLsizei height);
-
-extern int ( WINAPI * qwglChoosePixelFormat )(HDC, CONST PIXELFORMATDESCRIPTOR *);
-extern int ( WINAPI * qwglDescribePixelFormat) (HDC, int, UINT, LPPIXELFORMATDESCRIPTOR);
-extern int ( WINAPI * qwglGetPixelFormat)(HDC);
-extern BOOL ( WINAPI * qwglSetPixelFormat)(HDC, int, CONST PIXELFORMATDESCRIPTOR *);
-extern BOOL ( WINAPI * qwglSwapBuffers)(HDC);
-
-extern BOOL ( WINAPI * qwglCopyContext)(HGLRC, HGLRC, UINT);
-extern HGLRC ( WINAPI * qwglCreateContext)(HDC);
-extern HGLRC ( WINAPI * qwglCreateLayerContext)(HDC, int);
-extern BOOL ( WINAPI * qwglDeleteContext)(HGLRC);
-extern HGLRC ( WINAPI * qwglGetCurrentContext)(VOID);
-extern HDC ( WINAPI * qwglGetCurrentDC)(VOID);
-extern PROC ( WINAPI * qwglGetProcAddress)(LPCSTR);
-extern BOOL ( WINAPI * qwglMakeCurrent)(HDC, HGLRC);
-extern BOOL ( WINAPI * qwglShareLists)(HGLRC, HGLRC);
-extern BOOL ( WINAPI * qwglUseFontBitmaps)(HDC, DWORD, DWORD, DWORD);
-
-extern BOOL ( WINAPI * qwglUseFontOutlines)(HDC, DWORD, DWORD, DWORD, FLOAT,
- FLOAT, int, LPGLYPHMETRICSFLOAT);
-
-extern BOOL ( WINAPI * qwglDescribeLayerPlane)(HDC, int, int, UINT,
- LPLAYERPLANEDESCRIPTOR);
-extern int ( WINAPI * qwglSetLayerPaletteEntries)(HDC, int, int, int,
- CONST COLORREF *);
-extern int ( WINAPI * qwglGetLayerPaletteEntries)(HDC, int, int, int,
- COLORREF *);
-extern BOOL ( WINAPI * qwglRealizeLayerPalette)(HDC, int, BOOL);
-extern BOOL ( WINAPI * qwglSwapLayerBuffers)(HDC, UINT);
-
-#endif
-
#endif
diff --git a/neo/renderer/qgl_linked.h b/neo/renderer/qgl_linked.h
deleted file mode 100644
index c425c5d3..00000000
--- a/neo/renderer/qgl_linked.h
+++ /dev/null
@@ -1,381 +0,0 @@
-/*
-===========================================================================
-
-Doom 3 GPL Source Code
-Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
-
-This file is part of the Doom 3 GPL Source Code ("Doom 3 Source Code").
-
-Doom 3 Source Code is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-Doom 3 Source Code is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with Doom 3 Source Code. If not, see .
-
-In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
-
-If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
-
-===========================================================================
-*/
-
-#define qglAccum glAccum
-#define qglAlphaFunc glAlphaFunc
-#define qglAreTexturesResident glAreTexturesResident
-#define qglArrayElement glArrayElement
-#define qglBegin glBegin
-#define qglBindTexture glBindTexture
-#define qglBitmap glBitmap
-#define qglBlendFunc glBlendFunc
-#define qglCallList glCallList
-#define qglCallLists glCallLists
-#define qglClear glClear
-#define qglClearAccum glClearAccum
-#define qglClearColor glClearColor
-#define qglClearDepth glClearDepth
-#define qglClearIndex glClearIndex
-#define qglClearStencil glClearStencil
-#define qglClipPlane glClipPlane
-#define qglColor3b glColor3b
-#define qglColor3bv glColor3bv
-#define qglColor3d glColor3d
-#define qglColor3dv glColor3dv
-#define qglColor3f glColor3f
-#define qglColor3fv glColor3fv
-#define qglColor3i glColor3i
-#define qglColor3iv glColor3iv
-#define qglColor3s glColor3s
-#define qglColor3sv glColor3sv
-#define qglColor3ub glColor3ub
-#define qglColor3ubv glColor3ubv
-#define qglColor3ui glColor3ui
-#define qglColor3uiv glColor3uiv
-#define qglColor3us glColor3us
-#define qglColor3usv glColor3usv
-#define qglColor4b glColor4b
-#define qglColor4bv glColor4bv
-#define qglColor4d glColor4d
-#define qglColor4dv glColor4dv
-#define qglColor4f glColor4f
-#define qglColor4fv glColor4fv
-#define qglColor4i glColor4i
-#define qglColor4iv glColor4iv
-#define qglColor4s glColor4s
-#define qglColor4sv glColor4sv
-#define qglColor4ub glColor4ub
-#define qglColor4ubv glColor4ubv
-#define qglColor4ui glColor4ui
-#define qglColor4uiv glColor4uiv
-#define qglColor4us glColor4us
-#define qglColor4usv glColor4usv
-#define qglColorMask glColorMask
-#define qglColorMaterial glColorMaterial
-#define qglColorPointer glColorPointer
-#define qglCopyPixels glCopyPixels
-#define qglCopyTexImage1D glCopyTexImage1D
-#define qglCopyTexImage2D glCopyTexImage2D
-#define qglCopyTexSubImage1D glCopyTexSubImage1D
-#define qglCopyTexSubImage2D glCopyTexSubImage2D
-#define qglCullFace glCullFace
-#define qglDeleteLists glDeleteLists
-#define qglDeleteTextures glDeleteTextures
-#define qglDepthFunc glDepthFunc
-#define qglDepthMask glDepthMask
-#define qglDepthRange glDepthRange
-#define qglDisable glDisable
-#define qglDisableClientState glDisableClientState
-#define qglDrawArrays glDrawArrays
-#define qglDrawBuffer glDrawBuffer
-#define qglDrawElements glDrawElements
-#define qglDrawPixels glDrawPixels
-#define qglEdgeFlag glEdgeFlag
-#define qglEdgeFlagPointer glEdgeFlagPointer
-#define qglEdgeFlagv glEdgeFlagv
-#define qglEnable glEnable
-#define qglEnableClientState glEnableClientState
-#define qglEnd glEnd
-#define qglEndList glEndList
-#define qglEvalCoord1d glEvalCoord1d
-#define qglEvalCoord1dv glEvalCoord1dv
-#define qglEvalCoord1f glEvalCoord1f
-#define qglEvalCoord1fv glEvalCoord1fv
-#define qglEvalCoord2d glEvalCoord2d
-#define qglEvalCoord2dv glEvalCoord2dv
-#define qglEvalCoord2f glEvalCoord2f
-#define qglEvalCoord2fv glEvalCoord2fv
-#define qglEvalMesh1 glEvalMesh1
-#define qglEvalMesh2 glEvalMesh2
-#define qglEvalPoint1 glEvalPoint1
-#define qglEvalPoint2 glEvalPoint2
-#define qglFeedbackBuffer glFeedbackBuffer
-#define qglFinish glFinish
-#define qglFlush glFlush
-#define qglFogf glFogf
-#define qglFogfv glFogfv
-#define qglFogi glFogi
-#define qglFogiv glFogiv
-#define qglFrontFace glFrontFace
-#define qglFrustum glFrustum
-#define qglGenLists glGenLists
-#define qglGenTextures glGenTextures
-#define qglGetBooleanv glGetBooleanv
-#define qglGetClipPlane glGetClipPlane
-#define qglGetDoublev glGetDoublev
-#define qglGetError glGetError
-#define qglGetFloatv glGetFloatv
-#define qglGetIntegerv glGetIntegerv
-#define qglGetLightfv glGetLightfv
-#define qglGetLightiv glGetLightiv
-#define qglGetMapdv glGetMapdv
-#define qglGetMapfv glGetMapfv
-#define qglGetMapiv glGetMapiv
-#define qglGetMaterialfv glGetMaterialfv
-#define qglGetMaterialiv glGetMaterialiv
-#define qglGetPixelMapfv glGetPixelMapfv
-#define qglGetPixelMapuiv glGetPixelMapuiv
-#define qglGetPixelMapusv glGetPixelMapusv
-#define qglGetPointerv glGetPointerv
-#define qglGetPolygonStipple glGetPolygonStipple
-#define qglGetString glGetString
-#define qglGetTexEnviv glGetTexEnviv
-#define qglGetTexEnvfv glGetTexEnvfv
-#define qglGetTexGendv glGetTexGendv
-#define qglGetTexGenfv glGetTexGenfv
-#define qglGetTexGeniv glGetTexGeniv
-#define qglGetTexImage glGetTexImage
-#define qglGetTexLevelParameterfv glGetTexLevelParameterfv
-#define qglGetTexLevelParameteriv glGetTexLevelParameteriv
-#define qglGetTexParameterfv glGetTexParameterfv
-#define qglGetTexParameteriv glGetTexParameteriv
-#define qglHint glHint
-#define qglIndexMask glIndexMask
-#define qglIndexPointer glIndexPointer
-#define qglIndexd glIndexd
-#define qglIndexdv glIndexdv
-#define qglIndexf glIndexf
-#define qglIndexfv glIndexfv
-#define qglIndexi glIndexi
-#define qglIndexiv glIndexiv
-#define qglIndexs glIndexs
-#define qglIndexsv glIndexsv
-#define qglIndexub glIndexub
-#define qglIndexubv glIndexubv
-#define qglInitNames glInitNames
-#define qglInterleavedArrays glInterleavedArrays
-#define qglIsEnabled glIsEnabled
-#define qglIsList glIsList
-#define qglIsTexture glIsTexture
-#define qglLightModelf glLightModelf
-#define qglLightModelfv glLightModelfv
-#define qglLightModeli glLightModeli
-#define qglLightModeliv glLightModeliv
-#define qglLightf glLightf
-#define qglLightfv glLightfv
-#define qglLighti glLighti
-#define qglLightiv glLightiv
-#define qglLineStipple glLineStipple
-#define qglLineWidth glLineWidth
-#define qglListBase glListBase
-#define qglLoadIdentity glLoadIdentity
-#define qglLoadMatrixd glLoadMatrixd
-#define qglLoadMatrixf glLoadMatrixf
-#define qglLoadName glLoadName
-#define qglLogicOp glLogicOp
-#define qglMap1d glMap1d
-#define qglMap1f glMap1f
-#define qglMap2d glMap2d
-#define qglMap2f glMap2f
-#define qglMapGrid1d glMapGrid1d
-#define qglMapGrid1f glMapGrid1f
-#define qglMapGrid2d glMapGrid2d
-#define qglMapGrid2f glMapGrid2f
-#define qglMaterialf glMaterialf
-#define qglMaterialfv glMaterialfv
-#define qglMateriali glMateriali
-#define qglMaterialiv glMaterialiv
-#define qglMatrixMode glMatrixMode
-#define qglMultMatrixd glMultMatrixd
-#define qglMultMatrixf glMultMatrixf
-#define qglNewList glNewList
-#define qglNormal3b glNormal3b
-#define qglNormal3bv glNormal3bv
-#define qglNormal3d glNormal3d
-#define qglNormal3dv glNormal3dv
-#define qglNormal3f glNormal3f
-#define qglNormal3fv glNormal3fv
-#define qglNormal3i glNormal3i
-#define qglNormal3iv glNormal3iv
-#define qglNormal3s glNormal3s
-#define qglNormal3sv glNormal3sv
-#define qglNormalPointer glNormalPointer
-#define qglOrtho glOrtho
-#define qglPassThrough glPassThrough
-#define qglPixelMapfv glPixelMapfv
-#define qglPixelMapuiv glPixelMapuiv
-#define qglPixelMapusv glPixelMapusv
-#define qglPixelStoref glPixelStoref
-#define qglPixelStorei glPixelStorei
-#define qglPixelTransferf glPixelTransferf
-#define qglPixelTransferi glPixelTransferi
-#define qglPixelZoom glPixelZoom
-#define qglPointSize glPointSize
-#define qglPolygonMode glPolygonMode
-#define qglPolygonOffset glPolygonOffset
-#define qglPolygonStipple glPolygonStipple
-#define qglPopAttrib glPopAttrib
-#define qglPopClientAttrib glPopClientAttrib
-#define qglPopMatrix glPopMatrix
-#define qglPopName glPopName
-#define qglPrioritizeTextures glPrioritizeTextures
-#define qglPushAttrib glPushAttrib
-#define qglPushClientAttrib glPushClientAttrib
-#define qglPushMatrix glPushMatrix
-#define qglPushName glPushName
-#define qglRasterPos2d glRasterPos2d
-#define qglRasterPos2dv glRasterPos2dv
-#define qglRasterPos2f glRasterPos2f
-#define qglRasterPos2fv glRasterPos2fv
-#define qglRasterPos2i glRasterPos2i
-#define qglRasterPos2iv glRasterPos2iv
-#define qglRasterPos2s glRasterPos2s
-#define qglRasterPos2sv glRasterPos2sv
-#define qglRasterPos3d glRasterPos3d
-#define qglRasterPos3dv glRasterPos3dv
-#define qglRasterPos3f glRasterPos3f
-#define qglRasterPos3fv glRasterPos3fv
-#define qglRasterPos3i glRasterPos3i
-#define qglRasterPos3iv glRasterPos3iv
-#define qglRasterPos3s glRasterPos3s
-#define qglRasterPos3sv glRasterPos3sv
-#define qglRasterPos4d glRasterPos4d
-#define qglRasterPos4dv glRasterPos4dv
-#define qglRasterPos4f glRasterPos4f
-#define qglRasterPos4fv glRasterPos4fv
-#define qglRasterPos4i glRasterPos4i
-#define qglRasterPos4iv glRasterPos4iv
-#define qglRasterPos4s glRasterPos4s
-#define qglRasterPos4sv glRasterPos4sv
-#define qglReadBuffer glReadBuffer
-#define qglReadPixels glReadPixels
-#define qglRectd glRectd
-#define qglRectdv glRectdv
-#define qglRectf glRectf
-#define qglRectfv glRectfv
-#define qglRecti glRecti
-#define qglRectiv glRectiv
-#define qglRects glRects
-#define qglRectsv glRectsv
-#define qglRenderMode glRenderMode
-#define qglRotated glRotated
-#define qglRotatef glRotatef
-#define qglScaled glScaled
-#define qglScalef glScalef
-#define qglScissor glScissor
-#define qglSelectBuffer glSelectBuffer
-#define qglShadeModel glShadeModel
-#define qglStencilFunc glStencilFunc
-#define qglStencilMask glStencilMask
-#define qglStencilOp glStencilOp
-#define qglTexCoord1d glTexCoord1d
-#define qglTexCoord1dv glTexCoord1dv
-#define qglTexCoord1f glTexCoord1f
-#define qglTexCoord1fv glTexCoord1fv
-#define qglTexCoord1i glTexCoord1i
-#define qglTexCoord1iv glTexCoord1iv
-#define qglTexCoord1s glTexCoord1s
-#define qglTexCoord1sv glTexCoord1sv
-#define qglTexCoord2d glTexCoord2d
-#define qglTexCoord2dv glTexCoord2dv
-#define qglTexCoord2f glTexCoord2f
-#define qglTexCoord2fv glTexCoord2fv
-#define qglTexCoord2i glTexCoord2i
-#define qglTexCoord2iv glTexCoord2iv
-#define qglTexCoord2s glTexCoord2s
-#define qglTexCoord2sv glTexCoord2sv
-#define qglTexCoord3d glTexCoord3d
-#define qglTexCoord3dv glTexCoord3dv
-#define qglTexCoord3f glTexCoord3f
-#define qglTexCoord3fv glTexCoord3fv
-#define qglTexCoord3i glTexCoord3i
-#define qglTexCoord3iv glTexCoord3iv
-#define qglTexCoord3s glTexCoord3s
-#define qglTexCoord3sv glTexCoord3sv
-#define qglTexCoord4d glTexCoord4d
-#define qglTexCoord4dv glTexCoord4dv
-#define qglTexCoord4f glTexCoord4f
-#define qglTexCoord4fv glTexCoord4fv
-#define qglTexCoord4i glTexCoord4i
-#define qglTexCoord4iv glTexCoord4iv
-#define qglTexCoord4s glTexCoord4s
-#define qglTexCoord4sv glTexCoord4sv
-#define qglTexCoordPointer glTexCoordPointer
-#define qglTexEnvf glTexEnvf
-#define qglTexEnvfv glTexEnvfv
-#define qglTexEnvi glTexEnvi
-#define qglTexEnviv glTexEnviv
-#define qglTexGend glTexGend
-#define qglTexGendv glTexGendv
-#define qglTexGenf glTexGenf
-#define qglTexGenfv glTexGenfv
-#define qglTexGeni glTexGeni
-#define qglTexGeniv glTexGeniv
-#define qglTexImage1D glTexImage1D
-#define qglTexImage2D glTexImage2D
-#define qglTexParameterf glTexParameterf
-#define qglTexParameterfv glTexParameterfv
-#define qglTexParameteri glTexParameteri
-#define qglTexParameteriv glTexParameteriv
-#define qglTexSubImage1D glTexSubImage1D
-#define qglTexSubImage2D glTexSubImage2D
-#define qglTranslated glTranslated
-#define qglTranslatef glTranslatef
-#define qglVertex2d glVertex2d
-#define qglVertex2dv glVertex2dv
-#define qglVertex2f glVertex2f
-#define qglVertex2fv glVertex2fv
-#define qglVertex2i glVertex2i
-#define qglVertex2iv glVertex2iv
-#define qglVertex2s glVertex2s
-#define qglVertex2sv glVertex2sv
-#define qglVertex3d glVertex3d
-#define qglVertex3dv glVertex3dv
-#define qglVertex3f glVertex3f
-#define qglVertex3fv glVertex3fv
-#define qglVertex3i glVertex3i
-#define qglVertex3iv glVertex3iv
-#define qglVertex3s glVertex3s
-#define qglVertex3sv glVertex3sv
-#define qglVertex4d glVertex4d
-#define qglVertex4dv glVertex4dv
-#define qglVertex4f glVertex4f
-#define qglVertex4fv glVertex4fv
-#define qglVertex4i glVertex4i
-#define qglVertex4iv glVertex4iv
-#define qglVertex4s glVertex4s
-#define qglVertex4sv glVertex4sv
-#define qglVertexPointer glVertexPointer
-#define qglViewport glViewport
-
-#ifdef _WIN32
-#define qwglCreateContext wglCreateContext
-#define qwglDeleteContext wglDeleteContext
-#define qwglMakeCurrent wglMakeCurrent
-#define qwglSwapBuffers SwapBuffers
-#define qwglGetProcAddress wglGetProcAddress
-#else
-#ifdef GLX_VERSION_1_1 // catch all for any GLX-aware situation
-#define qglXChooseVisual glXChooseVisual
-#define qglXCreateContext glXCreateContext
-#define qglXDestroyContext glXDestroyContext
-#define qglXMakeCurrent glXMakeCurrent
-#define qglXSwapBuffers glXSwapBuffers
-#define qglXGetProcAddressARB glXGetProcAddressARB
-#endif
-#endif
diff --git a/neo/renderer/qgl_proc.h b/neo/renderer/qgl_proc.h
new file mode 100644
index 00000000..54ef43d9
--- /dev/null
+++ b/neo/renderer/qgl_proc.h
@@ -0,0 +1,370 @@
+/*
+===========================================================================
+
+Doom 3 GPL Source Code
+Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
+
+This file is part of the Doom 3 GPL Source Code ("Doom 3 Source Code").
+
+Doom 3 Source Code is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+Doom 3 Source Code is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Doom 3 Source Code. If not, see .
+
+In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
+
+If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
+
+===========================================================================
+*/
+
+#ifndef QGLPROC
+#error "you must define QGLPROC before including this file"
+#endif
+
+QGLPROC(glAccum, void, (GLenum op, GLfloat value))
+QGLPROC(glAlphaFunc, void, (GLenum func, GLclampf ref))
+QGLPROC(glAreTexturesResident, GLboolean, (GLsizei n, const GLuint *textures, GLboolean *residences))
+QGLPROC(glArrayElement, void, (GLint i))
+QGLPROC(glBegin, void, (GLenum mode))
+QGLPROC(glBindTexture, void, (GLenum target, GLuint texture))
+QGLPROC(glBitmap, void, (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap))
+QGLPROC(glBlendFunc, void, (GLenum sfactor, GLenum dfactor))
+QGLPROC(glCallList, void, (GLuint list))
+QGLPROC(glCallLists, void, (GLsizei n, GLenum type, const GLvoid *lists))
+QGLPROC(glClear, void, (GLbitfield mask))
+QGLPROC(glClearAccum, void, (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha))
+QGLPROC(glClearColor, void, (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha))
+QGLPROC(glClearDepth, void, (GLclampd depth))
+QGLPROC(glClearIndex, void, (GLfloat c))
+QGLPROC(glClearStencil, void, (GLint s))
+QGLPROC(glClipPlane, void, (GLenum plane, const GLdouble *equation))
+QGLPROC(glColor3b, void, (GLbyte red, GLbyte green, GLbyte blue))
+QGLPROC(glColor3bv, void, (const GLbyte *v))
+QGLPROC(glColor3d, void, (GLdouble red, GLdouble green, GLdouble blue))
+QGLPROC(glColor3dv, void, (const GLdouble *v))
+QGLPROC(glColor3f, void, (GLfloat red, GLfloat green, GLfloat blue))
+QGLPROC(glColor3fv, void, (const GLfloat *v))
+QGLPROC(glColor3i, void, (GLint red, GLint green, GLint blue))
+QGLPROC(glColor3iv, void, (const GLint *v))
+QGLPROC(glColor3s, void, (GLshort red, GLshort green, GLshort blue))
+QGLPROC(glColor3sv, void, (const GLshort *v))
+QGLPROC(glColor3ub, void, (GLubyte red, GLubyte green, GLubyte blue))
+QGLPROC(glColor3ubv, void, (const GLubyte *v))
+QGLPROC(glColor3ui, void, (GLuint red, GLuint green, GLuint blue))
+QGLPROC(glColor3uiv, void, (const GLuint *v))
+QGLPROC(glColor3us, void, (GLushort red, GLushort green, GLushort blue))
+QGLPROC(glColor3usv, void, (const GLushort *v))
+QGLPROC(glColor4b, void, (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha))
+QGLPROC(glColor4bv, void, (const GLbyte *v))
+QGLPROC(glColor4d, void, (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha))
+QGLPROC(glColor4dv, void, (const GLdouble *v))
+QGLPROC(glColor4f, void, (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha))
+QGLPROC(glColor4fv, void, (const GLfloat *v))
+QGLPROC(glColor4i, void, (GLint red, GLint green, GLint blue, GLint alpha))
+QGLPROC(glColor4iv, void, (const GLint *v))
+QGLPROC(glColor4s, void, (GLshort red, GLshort green, GLshort blue, GLshort alpha))
+QGLPROC(glColor4sv, void, (const GLshort *v))
+QGLPROC(glColor4ub, void, (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha))
+QGLPROC(glColor4ubv, void, (const GLubyte *v))
+QGLPROC(glColor4ui, void, (GLuint red, GLuint green, GLuint blue, GLuint alpha))
+QGLPROC(glColor4uiv, void, (const GLuint *v))
+QGLPROC(glColor4us, void, (GLushort red, GLushort green, GLushort blue, GLushort alpha))
+QGLPROC(glColor4usv, void, (const GLushort *v))
+QGLPROC(glColorMask, void, (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha))
+QGLPROC(glColorMaterial, void, (GLenum face, GLenum mode))
+QGLPROC(glColorPointer, void, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer))
+QGLPROC(glCopyPixels, void, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type))
+QGLPROC(glCopyTexImage1D, void, (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border))
+QGLPROC(glCopyTexImage2D, void, (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border))
+QGLPROC(glCopyTexSubImage1D, void, (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width))
+QGLPROC(glCopyTexSubImage2D, void, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height))
+QGLPROC(glCullFace, void, (GLenum mode))
+QGLPROC(glDeleteLists, void, (GLuint list, GLsizei range))
+QGLPROC(glDeleteTextures, void, (GLsizei n, const GLuint *textures))
+QGLPROC(glDepthFunc, void, (GLenum func))
+QGLPROC(glDepthMask, void, (GLboolean flag))
+QGLPROC(glDepthRange, void, (GLclampd zNear, GLclampd zFar))
+QGLPROC(glDisable, void, (GLenum cap))
+QGLPROC(glDisableClientState, void, (GLenum array))
+QGLPROC(glDrawArrays, void, (GLenum mode, GLint first, GLsizei count))
+QGLPROC(glDrawBuffer, void, (GLenum mode))
+QGLPROC(glDrawElements, void, (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices))
+QGLPROC(glDrawPixels, void, (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels))
+QGLPROC(glEdgeFlag, void, (GLboolean flag))
+QGLPROC(glEdgeFlagPointer, void, (GLsizei stride, const GLvoid *pointer))
+QGLPROC(glEdgeFlagv, void, (const GLboolean *flag))
+QGLPROC(glEnable, void, (GLenum cap))
+QGLPROC(glEnableClientState, void, (GLenum array))
+QGLPROC(glEnd, void, (void))
+QGLPROC(glEndList, void, (void))
+QGLPROC(glEvalCoord1d, void, (GLdouble u))
+QGLPROC(glEvalCoord1dv, void, (const GLdouble *u))
+QGLPROC(glEvalCoord1f, void, (GLfloat u))
+QGLPROC(glEvalCoord1fv, void, (const GLfloat *u))
+QGLPROC(glEvalCoord2d, void, (GLdouble u, GLdouble v))
+QGLPROC(glEvalCoord2dv, void, (const GLdouble *u))
+QGLPROC(glEvalCoord2f, void, (GLfloat u, GLfloat v))
+QGLPROC(glEvalCoord2fv, void, (const GLfloat *u))
+QGLPROC(glEvalMesh1, void, (GLenum mode, GLint i1, GLint i2))
+QGLPROC(glEvalMesh2, void, (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2))
+QGLPROC(glEvalPoint1, void, (GLint i))
+QGLPROC(glEvalPoint2, void, (GLint i, GLint j))
+QGLPROC(glFeedbackBuffer, void, (GLsizei size, GLenum type, GLfloat *buffer))
+QGLPROC(glFinish, void, (void))
+QGLPROC(glFlush, void, (void))
+QGLPROC(glFogf, void, (GLenum pname, GLfloat param))
+QGLPROC(glFogfv, void, (GLenum pname, const GLfloat *params))
+QGLPROC(glFogi, void, (GLenum pname, GLint param))
+QGLPROC(glFogiv, void, (GLenum pname, const GLint *params))
+QGLPROC(glFrontFace, void, (GLenum mode))
+QGLPROC(glFrustum, void, (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar))
+QGLPROC(glGenLists, GLuint, (GLsizei range))
+QGLPROC(glGenTextures, void, (GLsizei n, GLuint *textures))
+QGLPROC(glGetBooleanv, void, (GLenum pname, GLboolean *params))
+QGLPROC(glGetClipPlane, void, (GLenum plane, GLdouble *equation))
+QGLPROC(glGetDoublev, void, (GLenum pname, GLdouble *params))
+QGLPROC(glGetError, GLenum, (void))
+QGLPROC(glGetFloatv, void, (GLenum pname, GLfloat *params))
+QGLPROC(glGetIntegerv, void, (GLenum pname, GLint *params))
+QGLPROC(glGetLightfv, void, (GLenum light, GLenum pname, GLfloat *params))
+QGLPROC(glGetLightiv, void, (GLenum light, GLenum pname, GLint *params))
+QGLPROC(glGetMapdv, void, (GLenum target, GLenum query, GLdouble *v))
+QGLPROC(glGetMapfv, void, (GLenum target, GLenum query, GLfloat *v))
+QGLPROC(glGetMapiv, void, (GLenum target, GLenum query, GLint *v))
+QGLPROC(glGetMaterialfv, void, (GLenum face, GLenum pname, GLfloat *params))
+QGLPROC(glGetMaterialiv, void, (GLenum face, GLenum pname, GLint *params))
+QGLPROC(glGetPixelMapfv, void, (GLenum map, GLfloat *values))
+QGLPROC(glGetPixelMapuiv, void, (GLenum map, GLuint *values))
+QGLPROC(glGetPixelMapusv, void, (GLenum map, GLushort *values))
+QGLPROC(glGetPointerv, void, (GLenum pname, GLvoid* *params))
+QGLPROC(glGetPolygonStipple, void, (GLubyte *mask))
+QGLPROC(glGetString, const GLubyte *, (GLenum name))
+QGLPROC(glGetTexEnvfv, void, (GLenum target, GLenum pname, GLfloat *params))
+QGLPROC(glGetTexEnviv, void, (GLenum target, GLenum pname, GLint *params))
+QGLPROC(glGetTexGendv, void, (GLenum coord, GLenum pname, GLdouble *params))
+QGLPROC(glGetTexGenfv, void, (GLenum coord, GLenum pname, GLfloat *params))
+QGLPROC(glGetTexGeniv, void, (GLenum coord, GLenum pname, GLint *params))
+QGLPROC(glGetTexImage, void, (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels))
+QGLPROC(glGetTexLevelParameterfv, void, (GLenum target, GLint level, GLenum pname, GLfloat *params))
+QGLPROC(glGetTexLevelParameteriv, void, (GLenum target, GLint level, GLenum pname, GLint *params))
+QGLPROC(glGetTexParameterfv, void, (GLenum target, GLenum pname, GLfloat *params))
+QGLPROC(glGetTexParameteriv, void, (GLenum target, GLenum pname, GLint *params))
+QGLPROC(glHint, void, (GLenum target, GLenum mode))
+QGLPROC(glIndexMask, void, (GLuint mask))
+QGLPROC(glIndexPointer, void, (GLenum type, GLsizei stride, const GLvoid *pointer))
+QGLPROC(glIndexd, void, (GLdouble c))
+QGLPROC(glIndexdv, void, (const GLdouble *c))
+QGLPROC(glIndexf, void, (GLfloat c))
+QGLPROC(glIndexfv, void, (const GLfloat *c))
+QGLPROC(glIndexi, void, (GLint c))
+QGLPROC(glIndexiv, void, (const GLint *c))
+QGLPROC(glIndexs, void, (GLshort c))
+QGLPROC(glIndexsv, void, (const GLshort *c))
+QGLPROC(glIndexub, void, (GLubyte c))
+QGLPROC(glIndexubv, void, (const GLubyte *c))
+QGLPROC(glInitNames, void, (void))
+QGLPROC(glInterleavedArrays, void, (GLenum format, GLsizei stride, const GLvoid *pointer))
+QGLPROC(glIsEnabled, GLboolean, (GLenum cap))
+QGLPROC(glIsList, GLboolean, (GLuint list))
+QGLPROC(glIsTexture, GLboolean, (GLuint texture))
+QGLPROC(glLightModelf, void, (GLenum pname, GLfloat param))
+QGLPROC(glLightModelfv, void, (GLenum pname, const GLfloat *params))
+QGLPROC(glLightModeli, void, (GLenum pname, GLint param))
+QGLPROC(glLightModeliv, void, (GLenum pname, const GLint *params))
+QGLPROC(glLightf, void, (GLenum light, GLenum pname, GLfloat param))
+QGLPROC(glLightfv, void, (GLenum light, GLenum pname, const GLfloat *params))
+QGLPROC(glLighti, void, (GLenum light, GLenum pname, GLint param))
+QGLPROC(glLightiv, void, (GLenum light, GLenum pname, const GLint *params))
+QGLPROC(glLineStipple, void, (GLint factor, GLushort pattern))
+QGLPROC(glLineWidth, void, (GLfloat width))
+QGLPROC(glListBase, void, (GLuint base))
+QGLPROC(glLoadIdentity, void, (void))
+QGLPROC(glLoadMatrixd, void, (const GLdouble *m))
+QGLPROC(glLoadMatrixf, void, (const GLfloat *m))
+QGLPROC(glLoadName, void, (GLuint name))
+QGLPROC(glLogicOp, void, (GLenum opcode))
+QGLPROC(glMap1d, void, (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points))
+QGLPROC(glMap1f, void, (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points))
+QGLPROC(glMap2d, void, (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points))
+QGLPROC(glMap2f, void, (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points))
+QGLPROC(glMapGrid1d, void, (GLint un, GLdouble u1, GLdouble u2))
+QGLPROC(glMapGrid1f, void, (GLint un, GLfloat u1, GLfloat u2))
+QGLPROC(glMapGrid2d, void, (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2))
+QGLPROC(glMapGrid2f, void, (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2))
+QGLPROC(glMaterialf, void, (GLenum face, GLenum pname, GLfloat param))
+QGLPROC(glMaterialfv, void, (GLenum face, GLenum pname, const GLfloat *params))
+QGLPROC(glMateriali, void, (GLenum face, GLenum pname, GLint param))
+QGLPROC(glMaterialiv, void, (GLenum face, GLenum pname, const GLint *params))
+QGLPROC(glMatrixMode, void, (GLenum mode))
+QGLPROC(glMultMatrixd, void, (const GLdouble *m))
+QGLPROC(glMultMatrixf, void, (const GLfloat *m))
+QGLPROC(glNewList, void, (GLuint list, GLenum mode))
+QGLPROC(glNormal3b, void, (GLbyte nx, GLbyte ny, GLbyte nz))
+QGLPROC(glNormal3bv, void, (const GLbyte *v))
+QGLPROC(glNormal3d, void, (GLdouble nx, GLdouble ny, GLdouble nz))
+QGLPROC(glNormal3dv, void, (const GLdouble *v))
+QGLPROC(glNormal3f, void, (GLfloat nx, GLfloat ny, GLfloat nz))
+QGLPROC(glNormal3fv, void, (const GLfloat *v))
+QGLPROC(glNormal3i, void, (GLint nx, GLint ny, GLint nz))
+QGLPROC(glNormal3iv, void, (const GLint *v))
+QGLPROC(glNormal3s, void, (GLshort nx, GLshort ny, GLshort nz))
+QGLPROC(glNormal3sv, void, (const GLshort *v))
+QGLPROC(glNormalPointer, void, (GLenum type, GLsizei stride, const GLvoid *pointer))
+QGLPROC(glOrtho, void, (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar))
+QGLPROC(glPassThrough, void, (GLfloat token))
+QGLPROC(glPixelMapfv, void, (GLenum map, GLsizei mapsize, const GLfloat *values))
+QGLPROC(glPixelMapuiv, void, (GLenum map, GLsizei mapsize, const GLuint *values))
+QGLPROC(glPixelMapusv, void, (GLenum map, GLsizei mapsize, const GLushort *values))
+QGLPROC(glPixelStoref, void, (GLenum pname, GLfloat param))
+QGLPROC(glPixelStorei, void, (GLenum pname, GLint param))
+QGLPROC(glPixelTransferf, void, (GLenum pname, GLfloat param))
+QGLPROC(glPixelTransferi, void, (GLenum pname, GLint param))
+QGLPROC(glPixelZoom, void, (GLfloat xfactor, GLfloat yfactor))
+QGLPROC(glPointSize, void, (GLfloat size))
+QGLPROC(glPolygonMode, void, (GLenum face, GLenum mode))
+QGLPROC(glPolygonOffset, void, (GLfloat factor, GLfloat units))
+QGLPROC(glPolygonStipple, void, (const GLubyte *mask))
+QGLPROC(glPopAttrib, void, (void))
+QGLPROC(glPopClientAttrib, void, (void))
+QGLPROC(glPopMatrix, void, (void))
+QGLPROC(glPopName, void, (void))
+QGLPROC(glPrioritizeTextures, void, (GLsizei n, const GLuint *textures, const GLclampf *priorities))
+QGLPROC(glPushAttrib, void, (GLbitfield mask))
+QGLPROC(glPushClientAttrib, void, (GLbitfield mask))
+QGLPROC(glPushMatrix, void, (void))
+QGLPROC(glPushName, void, (GLuint name))
+QGLPROC(glRasterPos2d, void, (GLdouble x, GLdouble y))
+QGLPROC(glRasterPos2dv, void, (const GLdouble *v))
+QGLPROC(glRasterPos2f, void, (GLfloat x, GLfloat y))
+QGLPROC(glRasterPos2fv, void, (const GLfloat *v))
+QGLPROC(glRasterPos2i, void, (GLint x, GLint y))
+QGLPROC(glRasterPos2iv, void, (const GLint *v))
+QGLPROC(glRasterPos2s, void, (GLshort x, GLshort y))
+QGLPROC(glRasterPos2sv, void, (const GLshort *v))
+QGLPROC(glRasterPos3d, void, (GLdouble x, GLdouble y, GLdouble z))
+QGLPROC(glRasterPos3dv, void, (const GLdouble *v))
+QGLPROC(glRasterPos3f, void, (GLfloat x, GLfloat y, GLfloat z))
+QGLPROC(glRasterPos3fv, void, (const GLfloat *v))
+QGLPROC(glRasterPos3i, void, (GLint x, GLint y, GLint z))
+QGLPROC(glRasterPos3iv, void, (const GLint *v))
+QGLPROC(glRasterPos3s, void, (GLshort x, GLshort y, GLshort z))
+QGLPROC(glRasterPos3sv, void, (const GLshort *v))
+QGLPROC(glRasterPos4d, void, (GLdouble x, GLdouble y, GLdouble z, GLdouble w))
+QGLPROC(glRasterPos4dv, void, (const GLdouble *v))
+QGLPROC(glRasterPos4f, void, (GLfloat x, GLfloat y, GLfloat z, GLfloat w))
+QGLPROC(glRasterPos4fv, void, (const GLfloat *v))
+QGLPROC(glRasterPos4i, void, (GLint x, GLint y, GLint z, GLint w))
+QGLPROC(glRasterPos4iv, void, (const GLint *v))
+QGLPROC(glRasterPos4s, void, (GLshort x, GLshort y, GLshort z, GLshort w))
+QGLPROC(glRasterPos4sv, void, (const GLshort *v))
+QGLPROC(glReadBuffer, void, (GLenum mode))
+QGLPROC(glReadPixels, void, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels))
+QGLPROC(glRectd, void, (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2))
+QGLPROC(glRectdv, void, (const GLdouble *v1, const GLdouble *v2))
+QGLPROC(glRectf, void, (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2))
+QGLPROC(glRectfv, void, (const GLfloat *v1, const GLfloat *v2))
+QGLPROC(glRecti, void, (GLint x1, GLint y1, GLint x2, GLint y2))
+QGLPROC(glRectiv, void, (const GLint *v1, const GLint *v2))
+QGLPROC(glRects, void, (GLshort x1, GLshort y1, GLshort x2, GLshort y2))
+QGLPROC(glRectsv, void, (const GLshort *v1, const GLshort *v2))
+QGLPROC(glRenderMode, GLint, (GLenum mode))
+QGLPROC(glRotated, void, (GLdouble angle, GLdouble x, GLdouble y, GLdouble z))
+QGLPROC(glRotatef, void, (GLfloat angle, GLfloat x, GLfloat y, GLfloat z))
+QGLPROC(glScaled, void, (GLdouble x, GLdouble y, GLdouble z))
+QGLPROC(glScalef, void, (GLfloat x, GLfloat y, GLfloat z))
+QGLPROC(glScissor, void, (GLint x, GLint y, GLsizei width, GLsizei height))
+QGLPROC(glSelectBuffer, void, (GLsizei size, GLuint *buffer))
+QGLPROC(glShadeModel, void, (GLenum mode))
+QGLPROC(glStencilFunc, void, (GLenum func, GLint ref, GLuint mask))
+QGLPROC(glStencilMask, void, (GLuint mask))
+QGLPROC(glStencilOp, void, (GLenum fail, GLenum zfail, GLenum zpass))
+QGLPROC(glTexCoord1d, void, (GLdouble s))
+QGLPROC(glTexCoord1dv, void, (const GLdouble *v))
+QGLPROC(glTexCoord1f, void, (GLfloat s))
+QGLPROC(glTexCoord1fv, void, (const GLfloat *v))
+QGLPROC(glTexCoord1i, void, (GLint s))
+QGLPROC(glTexCoord1iv, void, (const GLint *v))
+QGLPROC(glTexCoord1s, void, (GLshort s))
+QGLPROC(glTexCoord1sv, void, (const GLshort *v))
+QGLPROC(glTexCoord2d, void, (GLdouble s, GLdouble t))
+QGLPROC(glTexCoord2dv, void, (const GLdouble *v))
+QGLPROC(glTexCoord2f, void, (GLfloat s, GLfloat t))
+QGLPROC(glTexCoord2fv, void, (const GLfloat *v))
+QGLPROC(glTexCoord2i, void, (GLint s, GLint t))
+QGLPROC(glTexCoord2iv, void, (const GLint *v))
+QGLPROC(glTexCoord2s, void, (GLshort s, GLshort t))
+QGLPROC(glTexCoord2sv, void, (const GLshort *v))
+QGLPROC(glTexCoord3d, void, (GLdouble s, GLdouble t, GLdouble r))
+QGLPROC(glTexCoord3dv, void, (const GLdouble *v))
+QGLPROC(glTexCoord3f, void, (GLfloat s, GLfloat t, GLfloat r))
+QGLPROC(glTexCoord3fv, void, (const GLfloat *v))
+QGLPROC(glTexCoord3i, void, (GLint s, GLint t, GLint r))
+QGLPROC(glTexCoord3iv, void, (const GLint *v))
+QGLPROC(glTexCoord3s, void, (GLshort s, GLshort t, GLshort r))
+QGLPROC(glTexCoord3sv, void, (const GLshort *v))
+QGLPROC(glTexCoord4d, void, (GLdouble s, GLdouble t, GLdouble r, GLdouble q))
+QGLPROC(glTexCoord4dv, void, (const GLdouble *v))
+QGLPROC(glTexCoord4f, void, (GLfloat s, GLfloat t, GLfloat r, GLfloat q))
+QGLPROC(glTexCoord4fv, void, (const GLfloat *v))
+QGLPROC(glTexCoord4i, void, (GLint s, GLint t, GLint r, GLint q))
+QGLPROC(glTexCoord4iv, void, (const GLint *v))
+QGLPROC(glTexCoord4s, void, (GLshort s, GLshort t, GLshort r, GLshort q))
+QGLPROC(glTexCoord4sv, void, (const GLshort *v))
+QGLPROC(glTexCoordPointer, void, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer))
+QGLPROC(glTexEnvf, void, (GLenum target, GLenum pname, GLfloat param))
+QGLPROC(glTexEnvfv, void, (GLenum target, GLenum pname, const GLfloat *params))
+QGLPROC(glTexEnvi, void, (GLenum target, GLenum pname, GLint param))
+QGLPROC(glTexEnviv, void, (GLenum target, GLenum pname, const GLint *params))
+QGLPROC(glTexGend, void, (GLenum coord, GLenum pname, GLdouble param))
+QGLPROC(glTexGendv, void, (GLenum coord, GLenum pname, const GLdouble *params))
+QGLPROC(glTexGenf, void, (GLenum coord, GLenum pname, GLfloat param))
+QGLPROC(glTexGenfv, void, (GLenum coord, GLenum pname, const GLfloat *params))
+QGLPROC(glTexGeni, void, (GLenum coord, GLenum pname, GLint param))
+QGLPROC(glTexGeniv, void, (GLenum coord, GLenum pname, const GLint *params))
+QGLPROC(glTexImage1D, void, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels))
+QGLPROC(glTexImage2D, void, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels))
+QGLPROC(glTexParameterf, void, (GLenum target, GLenum pname, GLfloat param))
+QGLPROC(glTexParameterfv, void, (GLenum target, GLenum pname, const GLfloat *params))
+QGLPROC(glTexParameteri, void, (GLenum target, GLenum pname, GLint param))
+QGLPROC(glTexParameteriv, void, (GLenum target, GLenum pname, const GLint *params))
+QGLPROC(glTexSubImage1D, void, (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels))
+QGLPROC(glTexSubImage2D, void, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels))
+QGLPROC(glTranslated, void, (GLdouble x, GLdouble y, GLdouble z))
+QGLPROC(glTranslatef, void, (GLfloat x, GLfloat y, GLfloat z))
+QGLPROC(glVertex2d, void, (GLdouble x, GLdouble y))
+QGLPROC(glVertex2dv, void, (const GLdouble *v))
+QGLPROC(glVertex2f, void, (GLfloat x, GLfloat y))
+QGLPROC(glVertex2fv, void, (const GLfloat *v))
+QGLPROC(glVertex2i, void, (GLint x, GLint y))
+QGLPROC(glVertex2iv, void, (const GLint *v))
+QGLPROC(glVertex2s, void, (GLshort x, GLshort y))
+QGLPROC(glVertex2sv, void, (const GLshort *v))
+QGLPROC(glVertex3d, void, (GLdouble x, GLdouble y, GLdouble z))
+QGLPROC(glVertex3dv, void, (const GLdouble *v))
+QGLPROC(glVertex3f, void, (GLfloat x, GLfloat y, GLfloat z))
+QGLPROC(glVertex3fv, void, (const GLfloat *v))
+QGLPROC(glVertex3i, void, (GLint x, GLint y, GLint z))
+QGLPROC(glVertex3iv, void, (const GLint *v))
+QGLPROC(glVertex3s, void, (GLshort x, GLshort y, GLshort z))
+QGLPROC(glVertex3sv, void, (const GLshort *v))
+QGLPROC(glVertex4d, void, (GLdouble x, GLdouble y, GLdouble z, GLdouble w))
+QGLPROC(glVertex4dv, void, (const GLdouble *v))
+QGLPROC(glVertex4f, void, (GLfloat x, GLfloat y, GLfloat z, GLfloat w))
+QGLPROC(glVertex4fv, void, (const GLfloat *v))
+QGLPROC(glVertex4i, void, (GLint x, GLint y, GLint z, GLint w))
+QGLPROC(glVertex4iv, void, (const GLint *v))
+QGLPROC(glVertex4s, void, (GLshort x, GLshort y, GLshort z, GLshort w))
+QGLPROC(glVertex4sv, void, (const GLshort *v))
+QGLPROC(glVertexPointer, void, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer))
+QGLPROC(glViewport, void, (GLint x, GLint y, GLsizei width, GLsizei height))
+
+#undef QGLPROC