]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/qgl.h
This is a big big GTK file dialog change in Rambetter-temp-fixes branch.
[xonotic/netradiant.git] / radiant / qgl.h
index 6f4decc6f39c2e4d07de55235c48a3190f063dcb..66172271f0e519eb832861661ad4a8e260f13d45 100644 (file)
-/*\r
-Copyright (C) 1999-2007 id Software, Inc. and contributors.\r
-For a list of contributors, see the accompanying CONTRIBUTORS file.\r
-\r
-This file is part of GtkRadiant.\r
-\r
-GtkRadiant is free software; you can redistribute it and/or modify\r
-it under the terms of the GNU General Public License as published by\r
-the Free Software Foundation; either version 2 of the License, or\r
-(at your option) any later version.\r
-\r
-GtkRadiant is distributed in the hope that it will be useful,\r
-but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-GNU General Public License for more details.\r
-\r
-You should have received a copy of the GNU General Public License\r
-along with GtkRadiant; if not, write to the Free Software\r
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\r
-*/\r
-\r
-/*\r
-** QGL.H\r
-*/\r
-\r
-#ifndef __QGL_H__\r
-#define __QGL_H__\r
-\r
-// http://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=812\r
-#define ATIHACK_812\r
-\r
-#include <GL/gl.h>\r
-\r
-#if defined (__linux__) || defined (__APPLE__)\r
-#include <GL/glx.h>\r
-#endif\r
-\r
-#if defined (__APPLE__)\r
-#include <GL/glu.h>\r
-#endif\r
-\r
-#ifndef GL_ARB_multitexture\r
-#define GL_TEXTURE0_ARB                   0x84C0\r
-#define GL_TEXTURE1_ARB                   0x84C1\r
-#define GL_TEXTURE2_ARB                   0x84C2\r
-#define GL_TEXTURE3_ARB                   0x84C3\r
-#define GL_TEXTURE4_ARB                   0x84C4\r
-#define GL_TEXTURE5_ARB                   0x84C5\r
-#define GL_TEXTURE6_ARB                   0x84C6\r
-#define GL_TEXTURE7_ARB                   0x84C7\r
-#define GL_TEXTURE8_ARB                   0x84C8\r
-#define GL_TEXTURE9_ARB                   0x84C9\r
-#define GL_TEXTURE10_ARB                  0x84CA\r
-#define GL_TEXTURE11_ARB                  0x84CB\r
-#define GL_TEXTURE12_ARB                  0x84CC\r
-#define GL_TEXTURE13_ARB                  0x84CD\r
-#define GL_TEXTURE14_ARB                  0x84CE\r
-#define GL_TEXTURE15_ARB                  0x84CF\r
-#define GL_TEXTURE16_ARB                  0x84D0\r
-#define GL_TEXTURE17_ARB                  0x84D1\r
-#define GL_TEXTURE18_ARB                  0x84D2\r
-#define GL_TEXTURE19_ARB                  0x84D3\r
-#define GL_TEXTURE20_ARB                  0x84D4\r
-#define GL_TEXTURE21_ARB                  0x84D5\r
-#define GL_TEXTURE22_ARB                  0x84D6\r
-#define GL_TEXTURE23_ARB                  0x84D7\r
-#define GL_TEXTURE24_ARB                  0x84D8\r
-#define GL_TEXTURE25_ARB                  0x84D9\r
-#define GL_TEXTURE26_ARB                  0x84DA\r
-#define GL_TEXTURE27_ARB                  0x84DB\r
-#define GL_TEXTURE28_ARB                  0x84DC\r
-#define GL_TEXTURE29_ARB                  0x84DD\r
-#define GL_TEXTURE30_ARB                  0x84DE\r
-#define GL_TEXTURE31_ARB                  0x84DF\r
-#define GL_ACTIVE_TEXTURE_ARB             0x84E0\r
-#define GL_CLIENT_ACTIVE_TEXTURE_ARB      0x84E1\r
-#define GL_MAX_TEXTURE_UNITS_ARB          0x84E2\r
-#endif\r
-\r
-#ifndef GL_VERSION_1_3\r
-// this is hacky, I'd recommend people having GL 1.3 headers instead\r
-#define GL_COMPRESSED_RGBA 0x84EE\r
-// RIANT\r
-// this would be the appropriate place for this\r
-#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT  0x83F1\r
-#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT  0x83F2\r
-#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT  0x83F3\r
-\r
-#endif\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif\r
-\r
-int  QGL_Init( const char *dllname, const char* pGluName );\r
-void QGL_InitExtensions ();\r
-void QGL_Shutdown();\r
-\r
-// silent query, see Sys_QGL_ExtensionSupported\r
-int GL_ExtensionSupported (const char *extension);\r
-\r
-#ifndef APIENTRY\r
-#  define APIENTRY\r
-#endif\r
-\r
-extern  void ( APIENTRY * qglAccum )(GLenum op, GLfloat value);\r
-extern  void ( APIENTRY * qglAlphaFunc )(GLenum func, GLclampf ref);\r
-extern  GLboolean ( APIENTRY * qglAreTexturesResident )(GLsizei n, const GLuint *textures, GLboolean *residences);\r
-extern  void ( APIENTRY * qglArrayElement )(GLint i);\r
-extern  void ( APIENTRY * qglBegin )(GLenum mode);\r
-extern  void ( APIENTRY * qglBindTexture )(GLenum target, GLuint texture);\r
-extern  void ( APIENTRY * qglBitmap )(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);\r
-extern  void ( APIENTRY * qglBlendFunc )(GLenum sfactor, GLenum dfactor);\r
-extern  void ( APIENTRY * qglCallList )(GLuint list);\r
-extern  void ( APIENTRY * qglCallLists )(GLsizei n, GLenum type, const GLvoid *lists);\r
-extern  void ( APIENTRY * qglClear )(GLbitfield mask);\r
-extern  void ( APIENTRY * qglClearAccum )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\r
-extern  void ( APIENTRY * qglClearColor )(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);\r
-extern  void ( APIENTRY * qglClearDepth )(GLclampd depth);\r
-extern  void ( APIENTRY * qglClearIndex )(GLfloat c);\r
-extern  void ( APIENTRY * qglClearStencil )(GLint s);\r
-extern  void ( APIENTRY * qglClipPlane )(GLenum plane, const GLdouble *equation);\r
-extern  void ( APIENTRY * qglColor3b )(GLbyte red, GLbyte green, GLbyte blue);\r
-extern  void ( APIENTRY * qglColor3bv )(const GLbyte *v);\r
-extern  void ( APIENTRY * qglColor3d )(GLdouble red, GLdouble green, GLdouble blue);\r
-extern  void ( APIENTRY * qglColor3dv )(const GLdouble *v);\r
-extern  void ( APIENTRY * qglColor3f )(GLfloat red, GLfloat green, GLfloat blue);\r
-extern  void ( APIENTRY * qglColor3fv )(const GLfloat *v);\r
-extern  void ( APIENTRY * qglColor3i )(GLint red, GLint green, GLint blue);\r
-extern  void ( APIENTRY * qglColor3iv )(const GLint *v);\r
-extern  void ( APIENTRY * qglColor3s )(GLshort red, GLshort green, GLshort blue);\r
-extern  void ( APIENTRY * qglColor3sv )(const GLshort *v);\r
-extern  void ( APIENTRY * qglColor3ub )(GLubyte red, GLubyte green, GLubyte blue);\r
-extern  void ( APIENTRY * qglColor3ubv )(const GLubyte *v);\r
-extern  void ( APIENTRY * qglColor3ui )(GLuint red, GLuint green, GLuint blue);\r
-extern  void ( APIENTRY * qglColor3uiv )(const GLuint *v);\r
-extern  void ( APIENTRY * qglColor3us )(GLushort red, GLushort green, GLushort blue);\r
-extern  void ( APIENTRY * qglColor3usv )(const GLushort *v);\r
-extern  void ( APIENTRY * qglColor4b )(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);\r
-extern  void ( APIENTRY * qglColor4bv )(const GLbyte *v);\r
-extern  void ( APIENTRY * qglColor4d )(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);\r
-extern  void ( APIENTRY * qglColor4dv )(const GLdouble *v);\r
-extern  void ( APIENTRY * qglColor4f )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);\r
-extern  void ( APIENTRY * qglColor4fv )(const GLfloat *v);\r
-extern  void ( APIENTRY * qglColor4i )(GLint red, GLint green, GLint blue, GLint alpha);\r
-extern  void ( APIENTRY * qglColor4iv )(const GLint *v);\r
-extern  void ( APIENTRY * qglColor4s )(GLshort red, GLshort green, GLshort blue, GLshort alpha);\r
-extern  void ( APIENTRY * qglColor4sv )(const GLshort *v);\r
-extern  void ( APIENTRY * qglColor4ub )(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);\r
-extern  void ( APIENTRY * qglColor4ubv )(const GLubyte *v);\r
-extern  void ( APIENTRY * qglColor4ui )(GLuint red, GLuint green, GLuint blue, GLuint alpha);\r
-extern  void ( APIENTRY * qglColor4uiv )(const GLuint *v);\r
-extern  void ( APIENTRY * qglColor4us )(GLushort red, GLushort green, GLushort blue, GLushort alpha);\r
-extern  void ( APIENTRY * qglColor4usv )(const GLushort *v);\r
-extern  void ( APIENTRY * qglColorMask )(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);\r
-extern  void ( APIENTRY * qglColorMaterial )(GLenum face, GLenum mode);\r
-extern  void ( APIENTRY * qglColorPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\r
-extern  void ( APIENTRY * qglCopyPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);\r
-extern  void ( APIENTRY * qglCopyTexImage1D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);\r
-extern  void ( APIENTRY * qglCopyTexImage2D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);\r
-extern  void ( APIENTRY * qglCopyTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);\r
-extern  void ( APIENTRY * qglCopyTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);\r
-extern  void ( APIENTRY * qglCullFace )(GLenum mode);\r
-extern  void ( APIENTRY * qglDeleteLists )(GLuint list, GLsizei range);\r
-extern  void ( APIENTRY * qglDeleteTextures )(GLsizei n, const GLuint *textures);\r
-extern  void ( APIENTRY * qglDepthFunc )(GLenum func);\r
-extern  void ( APIENTRY * qglDepthMask )(GLboolean flag);\r
-extern  void ( APIENTRY * qglDepthRange )(GLclampd zNear, GLclampd zFar);\r
-extern  void ( APIENTRY * qglDisable )(GLenum cap);\r
-extern  void ( APIENTRY * qglDisableClientState )(GLenum array);\r
-extern  void ( APIENTRY * qglDrawArrays )(GLenum mode, GLint first, GLsizei count);\r
-extern  void ( APIENTRY * qglDrawBuffer )(GLenum mode);\r
-extern  void ( APIENTRY * qglDrawElements )(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);\r
-extern  void ( APIENTRY * qglDrawPixels )(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\r
-extern  void ( APIENTRY * qglEdgeFlag )(GLboolean flag);\r
-extern  void ( APIENTRY * qglEdgeFlagPointer )(GLsizei stride, const GLvoid *pointer);\r
-extern  void ( APIENTRY * qglEdgeFlagv )(const GLboolean *flag);\r
-extern  void ( APIENTRY * qglEnable )(GLenum cap);\r
-extern  void ( APIENTRY * qglEnableClientState )(GLenum array);\r
-extern  void ( APIENTRY * qglEnd )(void);\r
-extern  void ( APIENTRY * qglEndList )(void);\r
-extern  void ( APIENTRY * qglEvalCoord1d )(GLdouble u);\r
-extern  void ( APIENTRY * qglEvalCoord1dv )(const GLdouble *u);\r
-extern  void ( APIENTRY * qglEvalCoord1f )(GLfloat u);\r
-extern  void ( APIENTRY * qglEvalCoord1fv )(const GLfloat *u);\r
-extern  void ( APIENTRY * qglEvalCoord2d )(GLdouble u, GLdouble v);\r
-extern  void ( APIENTRY * qglEvalCoord2dv )(const GLdouble *u);\r
-extern  void ( APIENTRY * qglEvalCoord2f )(GLfloat u, GLfloat v);\r
-extern  void ( APIENTRY * qglEvalCoord2fv )(const GLfloat *u);\r
-extern  void ( APIENTRY * qglEvalMesh1 )(GLenum mode, GLint i1, GLint i2);\r
-extern  void ( APIENTRY * qglEvalMesh2 )(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);\r
-extern  void ( APIENTRY * qglEvalPoint1 )(GLint i);\r
-extern  void ( APIENTRY * qglEvalPoint2 )(GLint i, GLint j);\r
-extern  void ( APIENTRY * qglFeedbackBuffer )(GLsizei size, GLenum type, GLfloat *buffer);\r
-extern  void ( APIENTRY * qglFinish )(void);\r
-extern  void ( APIENTRY * qglFlush )(void);\r
-extern  void ( APIENTRY * qglFogf )(GLenum pname, GLfloat param);\r
-extern  void ( APIENTRY * qglFogfv )(GLenum pname, const GLfloat *params);\r
-extern  void ( APIENTRY * qglFogi )(GLenum pname, GLint param);\r
-extern  void ( APIENTRY * qglFogiv )(GLenum pname, const GLint *params);\r
-extern  void ( APIENTRY * qglFrontFace )(GLenum mode);\r
-extern  void ( APIENTRY * qglFrustum )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\r
-extern  GLuint ( APIENTRY * qglGenLists )(GLsizei range);\r
-extern  void ( APIENTRY * qglGenTextures )(GLsizei n, GLuint *textures);\r
-extern  void ( APIENTRY * qglGetBooleanv )(GLenum pname, GLboolean *params);\r
-extern  void ( APIENTRY * qglGetClipPlane )(GLenum plane, GLdouble *equation);\r
-extern  void ( APIENTRY * qglGetDoublev )(GLenum pname, GLdouble *params);\r
-extern  GLenum ( APIENTRY * qglGetError )(void);\r
-extern  void ( APIENTRY * qglGetFloatv )(GLenum pname, GLfloat *params);\r
-extern  void ( APIENTRY * qglGetIntegerv )(GLenum pname, GLint *params);\r
-extern  void ( APIENTRY * qglGetLightfv )(GLenum light, GLenum pname, GLfloat *params);\r
-extern  void ( APIENTRY * qglGetLightiv )(GLenum light, GLenum pname, GLint *params);\r
-extern  void ( APIENTRY * qglGetMapdv )(GLenum target, GLenum query, GLdouble *v);\r
-extern  void ( APIENTRY * qglGetMapfv )(GLenum target, GLenum query, GLfloat *v);\r
-extern  void ( APIENTRY * qglGetMapiv )(GLenum target, GLenum query, GLint *v);\r
-extern  void ( APIENTRY * qglGetMaterialfv )(GLenum face, GLenum pname, GLfloat *params);\r
-extern  void ( APIENTRY * qglGetMaterialiv )(GLenum face, GLenum pname, GLint *params);\r
-extern  void ( APIENTRY * qglGetPixelMapfv )(GLenum map, GLfloat *values);\r
-extern  void ( APIENTRY * qglGetPixelMapuiv )(GLenum map, GLuint *values);\r
-extern  void ( APIENTRY * qglGetPixelMapusv )(GLenum map, GLushort *values);\r
-extern  void ( APIENTRY * qglGetPointerv )(GLenum pname, GLvoid* *params);\r
-extern  void ( APIENTRY * qglGetPolygonStipple )(GLubyte *mask);\r
-extern  const GLubyte * ( APIENTRY * qglGetString )(GLenum name);\r
-extern  void ( APIENTRY * qglGetTexEnvfv )(GLenum target, GLenum pname, GLfloat *params);\r
-extern  void ( APIENTRY * qglGetTexEnviv )(GLenum target, GLenum pname, GLint *params);\r
-extern  void ( APIENTRY * qglGetTexGendv )(GLenum coord, GLenum pname, GLdouble *params);\r
-extern  void ( APIENTRY * qglGetTexGenfv )(GLenum coord, GLenum pname, GLfloat *params);\r
-extern  void ( APIENTRY * qglGetTexGeniv )(GLenum coord, GLenum pname, GLint *params);\r
-extern  void ( APIENTRY * qglGetTexImage )(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);\r
-extern  void ( APIENTRY * qglGetTexLevelParameterfv )(GLenum target, GLint level, GLenum pname, GLfloat *params);\r
-extern  void ( APIENTRY * qglGetTexLevelParameteriv )(GLenum target, GLint level, GLenum pname, GLint *params);\r
-extern  void ( APIENTRY * qglGetTexParameterfv )(GLenum target, GLenum pname, GLfloat *params);\r
-extern  void ( APIENTRY * qglGetTexParameteriv )(GLenum target, GLenum pname, GLint *params);\r
-extern  void ( APIENTRY * qglHint )(GLenum target, GLenum mode);\r
-extern  void ( APIENTRY * qglIndexMask )(GLuint mask);\r
-extern  void ( APIENTRY * qglIndexPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);\r
-extern  void ( APIENTRY * qglIndexd )(GLdouble c);\r
-extern  void ( APIENTRY * qglIndexdv )(const GLdouble *c);\r
-extern  void ( APIENTRY * qglIndexf )(GLfloat c);\r
-extern  void ( APIENTRY * qglIndexfv )(const GLfloat *c);\r
-extern  void ( APIENTRY * qglIndexi )(GLint c);\r
-extern  void ( APIENTRY * qglIndexiv )(const GLint *c);\r
-extern  void ( APIENTRY * qglIndexs )(GLshort c);\r
-extern  void ( APIENTRY * qglIndexsv )(const GLshort *c);\r
-extern  void ( APIENTRY * qglIndexub )(GLubyte c);\r
-extern  void ( APIENTRY * qglIndexubv )(const GLubyte *c);\r
-extern  void ( APIENTRY * qglInitNames )(void);\r
-extern  void ( APIENTRY * qglInterleavedArrays )(GLenum format, GLsizei stride, const GLvoid *pointer);\r
-extern  GLboolean ( APIENTRY * qglIsEnabled )(GLenum cap);\r
-extern  GLboolean ( APIENTRY * qglIsList )(GLuint list);\r
-extern  GLboolean ( APIENTRY * qglIsTexture )(GLuint texture);\r
-extern  void ( APIENTRY * qglLightModelf )(GLenum pname, GLfloat param);\r
-extern  void ( APIENTRY * qglLightModelfv )(GLenum pname, const GLfloat *params);\r
-extern  void ( APIENTRY * qglLightModeli )(GLenum pname, GLint param);\r
-extern  void ( APIENTRY * qglLightModeliv )(GLenum pname, const GLint *params);\r
-extern  void ( APIENTRY * qglLightf )(GLenum light, GLenum pname, GLfloat param);\r
-extern  void ( APIENTRY * qglLightfv )(GLenum light, GLenum pname, const GLfloat *params);\r
-extern  void ( APIENTRY * qglLighti )(GLenum light, GLenum pname, GLint param);\r
-extern  void ( APIENTRY * qglLightiv )(GLenum light, GLenum pname, const GLint *params);\r
-extern  void ( APIENTRY * qglLineStipple )(GLint factor, GLushort pattern);\r
-extern  void ( APIENTRY * qglLineWidth )(GLfloat width);\r
-extern  void ( APIENTRY * qglListBase )(GLuint base);\r
-extern  void ( APIENTRY * qglLoadIdentity )(void);\r
-extern  void ( APIENTRY * qglLoadMatrixd )(const GLdouble *m);\r
-extern  void ( APIENTRY * qglLoadMatrixf )(const GLfloat *m);\r
-extern  void ( APIENTRY * qglLoadName )(GLuint name);\r
-extern  void ( APIENTRY * qglLogicOp )(GLenum opcode);\r
-extern  void ( APIENTRY * qglMap1d )(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);\r
-extern  void ( APIENTRY * qglMap1f )(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);\r
-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);\r
-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);\r
-extern  void ( APIENTRY * qglMapGrid1d )(GLint un, GLdouble u1, GLdouble u2);\r
-extern  void ( APIENTRY * qglMapGrid1f )(GLint un, GLfloat u1, GLfloat u2);\r
-extern  void ( APIENTRY * qglMapGrid2d )(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);\r
-extern  void ( APIENTRY * qglMapGrid2f )(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);\r
-extern  void ( APIENTRY * qglMaterialf )(GLenum face, GLenum pname, GLfloat param);\r
-extern  void ( APIENTRY * qglMaterialfv )(GLenum face, GLenum pname, const GLfloat *params);\r
-extern  void ( APIENTRY * qglMateriali )(GLenum face, GLenum pname, GLint param);\r
-extern  void ( APIENTRY * qglMaterialiv )(GLenum face, GLenum pname, const GLint *params);\r
-extern  void ( APIENTRY * qglMatrixMode )(GLenum mode);\r
-extern  void ( APIENTRY * qglMultMatrixd )(const GLdouble *m);\r
-extern  void ( APIENTRY * qglMultMatrixf )(const GLfloat *m);\r
-extern  void ( APIENTRY * qglNewList )(GLuint list, GLenum mode);\r
-extern  void ( APIENTRY * qglNormal3b )(GLbyte nx, GLbyte ny, GLbyte nz);\r
-extern  void ( APIENTRY * qglNormal3bv )(const GLbyte *v);\r
-extern  void ( APIENTRY * qglNormal3d )(GLdouble nx, GLdouble ny, GLdouble nz);\r
-extern  void ( APIENTRY * qglNormal3dv )(const GLdouble *v);\r
-extern  void ( APIENTRY * qglNormal3f )(GLfloat nx, GLfloat ny, GLfloat nz);\r
-extern  void ( APIENTRY * qglNormal3fv )(const GLfloat *v);\r
-extern  void ( APIENTRY * qglNormal3i )(GLint nx, GLint ny, GLint nz);\r
-extern  void ( APIENTRY * qglNormal3iv )(const GLint *v);\r
-extern  void ( APIENTRY * qglNormal3s )(GLshort nx, GLshort ny, GLshort nz);\r
-extern  void ( APIENTRY * qglNormal3sv )(const GLshort *v);\r
-extern  void ( APIENTRY * qglNormalPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);\r
-extern  void ( APIENTRY * qglOrtho )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);\r
-extern  void ( APIENTRY * qglPassThrough )(GLfloat token);\r
-extern  void ( APIENTRY * qglPixelMapfv )(GLenum map, GLsizei mapsize, const GLfloat *values);\r
-extern  void ( APIENTRY * qglPixelMapuiv )(GLenum map, GLsizei mapsize, const GLuint *values);\r
-extern  void ( APIENTRY * qglPixelMapusv )(GLenum map, GLsizei mapsize, const GLushort *values);\r
-extern  void ( APIENTRY * qglPixelStoref )(GLenum pname, GLfloat param);\r
-extern  void ( APIENTRY * qglPixelStorei )(GLenum pname, GLint param);\r
-extern  void ( APIENTRY * qglPixelTransferf )(GLenum pname, GLfloat param);\r
-extern  void ( APIENTRY * qglPixelTransferi )(GLenum pname, GLint param);\r
-extern  void ( APIENTRY * qglPixelZoom )(GLfloat xfactor, GLfloat yfactor);\r
-extern  void ( APIENTRY * qglPointSize )(GLfloat size);\r
-extern  void ( APIENTRY * qglPolygonMode )(GLenum face, GLenum mode);\r
-extern  void ( APIENTRY * qglPolygonOffset )(GLfloat factor, GLfloat units);\r
-extern  void ( APIENTRY * qglPolygonStipple )(const GLubyte *mask);\r
-extern  void ( APIENTRY * qglPopAttrib )(void);\r
-extern  void ( APIENTRY * qglPopClientAttrib )(void);\r
-extern  void ( APIENTRY * qglPopMatrix )(void);\r
-extern  void ( APIENTRY * qglPopName )(void);\r
-extern  void ( APIENTRY * qglPrioritizeTextures )(GLsizei n, const GLuint *textures, const GLclampf *priorities);\r
-extern  void ( APIENTRY * qglPushAttrib )(GLbitfield mask);\r
-extern  void ( APIENTRY * qglPushClientAttrib )(GLbitfield mask);\r
-extern  void ( APIENTRY * qglPushMatrix )(void);\r
-extern  void ( APIENTRY * qglPushName )(GLuint name);\r
-extern  void ( APIENTRY * qglRasterPos2d )(GLdouble x, GLdouble y);\r
-extern  void ( APIENTRY * qglRasterPos2dv )(const GLdouble *v);\r
-extern  void ( APIENTRY * qglRasterPos2f )(GLfloat x, GLfloat y);\r
-extern  void ( APIENTRY * qglRasterPos2fv )(const GLfloat *v);\r
-extern  void ( APIENTRY * qglRasterPos2i )(GLint x, GLint y);\r
-extern  void ( APIENTRY * qglRasterPos2iv )(const GLint *v);\r
-extern  void ( APIENTRY * qglRasterPos2s )(GLshort x, GLshort y);\r
-extern  void ( APIENTRY * qglRasterPos2sv )(const GLshort *v);\r
-extern  void ( APIENTRY * qglRasterPos3d )(GLdouble x, GLdouble y, GLdouble z);\r
-extern  void ( APIENTRY * qglRasterPos3dv )(const GLdouble *v);\r
-extern  void ( APIENTRY * qglRasterPos3f )(GLfloat x, GLfloat y, GLfloat z);\r
-extern  void ( APIENTRY * qglRasterPos3fv )(const GLfloat *v);\r
-extern  void ( APIENTRY * qglRasterPos3i )(GLint x, GLint y, GLint z);\r
-extern  void ( APIENTRY * qglRasterPos3iv )(const GLint *v);\r
-extern  void ( APIENTRY * qglRasterPos3s )(GLshort x, GLshort y, GLshort z);\r
-extern  void ( APIENTRY * qglRasterPos3sv )(const GLshort *v);\r
-extern  void ( APIENTRY * qglRasterPos4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\r
-extern  void ( APIENTRY * qglRasterPos4dv )(const GLdouble *v);\r
-extern  void ( APIENTRY * qglRasterPos4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\r
-extern  void ( APIENTRY * qglRasterPos4fv )(const GLfloat *v);\r
-extern  void ( APIENTRY * qglRasterPos4i )(GLint x, GLint y, GLint z, GLint w);\r
-extern  void ( APIENTRY * qglRasterPos4iv )(const GLint *v);\r
-extern  void ( APIENTRY * qglRasterPos4s )(GLshort x, GLshort y, GLshort z, GLshort w);\r
-extern  void ( APIENTRY * qglRasterPos4sv )(const GLshort *v);\r
-extern  void ( APIENTRY * qglReadBuffer )(GLenum mode);\r
-extern  void ( APIENTRY * qglReadPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);\r
-extern  void ( APIENTRY * qglRectd )(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);\r
-extern  void ( APIENTRY * qglRectdv )(const GLdouble *v1, const GLdouble *v2);\r
-extern  void ( APIENTRY * qglRectf )(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);\r
-extern  void ( APIENTRY * qglRectfv )(const GLfloat *v1, const GLfloat *v2);\r
-extern  void ( APIENTRY * qglRecti )(GLint x1, GLint y1, GLint x2, GLint y2);\r
-extern  void ( APIENTRY * qglRectiv )(const GLint *v1, const GLint *v2);\r
-extern  void ( APIENTRY * qglRects )(GLshort x1, GLshort y1, GLshort x2, GLshort y2);\r
-extern  void ( APIENTRY * qglRectsv )(const GLshort *v1, const GLshort *v2);\r
-extern  GLint ( APIENTRY * qglRenderMode )(GLenum mode);\r
-extern  void ( APIENTRY * qglRotated )(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);\r
-extern  void ( APIENTRY * qglRotatef )(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);\r
-extern  void ( APIENTRY * qglScaled )(GLdouble x, GLdouble y, GLdouble z);\r
-extern  void ( APIENTRY * qglScalef )(GLfloat x, GLfloat y, GLfloat z);\r
-extern  void ( APIENTRY * qglScissor )(GLint x, GLint y, GLsizei width, GLsizei height);\r
-extern  void ( APIENTRY * qglSelectBuffer )(GLsizei size, GLuint *buffer);\r
-extern  void ( APIENTRY * qglShadeModel )(GLenum mode);\r
-extern  void ( APIENTRY * qglStencilFunc )(GLenum func, GLint ref, GLuint mask);\r
-extern  void ( APIENTRY * qglStencilMask )(GLuint mask);\r
-extern  void ( APIENTRY * qglStencilOp )(GLenum fail, GLenum zfail, GLenum zpass);\r
-extern  void ( APIENTRY * qglTexCoord1d )(GLdouble s);\r
-extern  void ( APIENTRY * qglTexCoord1dv )(const GLdouble *v);\r
-extern  void ( APIENTRY * qglTexCoord1f )(GLfloat s);\r
-extern  void ( APIENTRY * qglTexCoord1fv )(const GLfloat *v);\r
-extern  void ( APIENTRY * qglTexCoord1i )(GLint s);\r
-extern  void ( APIENTRY * qglTexCoord1iv )(const GLint *v);\r
-extern  void ( APIENTRY * qglTexCoord1s )(GLshort s);\r
-extern  void ( APIENTRY * qglTexCoord1sv )(const GLshort *v);\r
-extern  void ( APIENTRY * qglTexCoord2d )(GLdouble s, GLdouble t);\r
-extern  void ( APIENTRY * qglTexCoord2dv )(const GLdouble *v);\r
-extern  void ( APIENTRY * qglTexCoord2f )(GLfloat s, GLfloat t);\r
-extern  void ( APIENTRY * qglTexCoord2fv )(const GLfloat *v);\r
-extern  void ( APIENTRY * qglTexCoord2i )(GLint s, GLint t);\r
-extern  void ( APIENTRY * qglTexCoord2iv )(const GLint *v);\r
-extern  void ( APIENTRY * qglTexCoord2s )(GLshort s, GLshort t);\r
-extern  void ( APIENTRY * qglTexCoord2sv )(const GLshort *v);\r
-extern  void ( APIENTRY * qglTexCoord3d )(GLdouble s, GLdouble t, GLdouble r);\r
-extern  void ( APIENTRY * qglTexCoord3dv )(const GLdouble *v);\r
-extern  void ( APIENTRY * qglTexCoord3f )(GLfloat s, GLfloat t, GLfloat r);\r
-extern  void ( APIENTRY * qglTexCoord3fv )(const GLfloat *v);\r
-extern  void ( APIENTRY * qglTexCoord3i )(GLint s, GLint t, GLint r);\r
-extern  void ( APIENTRY * qglTexCoord3iv )(const GLint *v);\r
-extern  void ( APIENTRY * qglTexCoord3s )(GLshort s, GLshort t, GLshort r);\r
-extern  void ( APIENTRY * qglTexCoord3sv )(const GLshort *v);\r
-extern  void ( APIENTRY * qglTexCoord4d )(GLdouble s, GLdouble t, GLdouble r, GLdouble q);\r
-extern  void ( APIENTRY * qglTexCoord4dv )(const GLdouble *v);\r
-extern  void ( APIENTRY * qglTexCoord4f )(GLfloat s, GLfloat t, GLfloat r, GLfloat q);\r
-extern  void ( APIENTRY * qglTexCoord4fv )(const GLfloat *v);\r
-extern  void ( APIENTRY * qglTexCoord4i )(GLint s, GLint t, GLint r, GLint q);\r
-extern  void ( APIENTRY * qglTexCoord4iv )(const GLint *v);\r
-extern  void ( APIENTRY * qglTexCoord4s )(GLshort s, GLshort t, GLshort r, GLshort q);\r
-extern  void ( APIENTRY * qglTexCoord4sv )(const GLshort *v);\r
-extern  void ( APIENTRY * qglTexCoordPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\r
-extern  void ( APIENTRY * qglTexEnvf )(GLenum target, GLenum pname, GLfloat param);\r
-extern  void ( APIENTRY * qglTexEnvfv )(GLenum target, GLenum pname, const GLfloat *params);\r
-extern  void ( APIENTRY * qglTexEnvi )(GLenum target, GLenum pname, GLint param);\r
-extern  void ( APIENTRY * qglTexEnviv )(GLenum target, GLenum pname, const GLint *params);\r
-extern  void ( APIENTRY * qglTexGend )(GLenum coord, GLenum pname, GLdouble param);\r
-extern  void ( APIENTRY * qglTexGendv )(GLenum coord, GLenum pname, const GLdouble *params);\r
-extern  void ( APIENTRY * qglTexGenf )(GLenum coord, GLenum pname, GLfloat param);\r
-extern  void ( APIENTRY * qglTexGenfv )(GLenum coord, GLenum pname, const GLfloat *params);\r
-extern  void ( APIENTRY * qglTexGeni )(GLenum coord, GLenum pname, GLint param);\r
-extern  void ( APIENTRY * qglTexGeniv )(GLenum coord, GLenum pname, const GLint *params);\r
-extern  void ( APIENTRY * qglTexImage1D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\r
-extern  void ( APIENTRY * qglTexImage2D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);\r
-extern  void ( APIENTRY * qglTexParameterf )(GLenum target, GLenum pname, GLfloat param);\r
-extern  void ( APIENTRY * qglTexParameterfv )(GLenum target, GLenum pname, const GLfloat *params);\r
-extern  void ( APIENTRY * qglTexParameteri )(GLenum target, GLenum pname, GLint param);\r
-extern  void ( APIENTRY * qglTexParameteriv )(GLenum target, GLenum pname, const GLint *params);\r
-extern  void ( APIENTRY * qglTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);\r
-extern  void ( APIENTRY * qglTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);\r
-extern  void ( APIENTRY * qglTranslated )(GLdouble x, GLdouble y, GLdouble z);\r
-extern  void ( APIENTRY * qglTranslatef )(GLfloat x, GLfloat y, GLfloat z);\r
-extern  void ( APIENTRY * qglVertex2d )(GLdouble x, GLdouble y);\r
-extern  void ( APIENTRY * qglVertex2dv )(const GLdouble *v);\r
-extern  void ( APIENTRY * qglVertex2f )(GLfloat x, GLfloat y);\r
-extern  void ( APIENTRY * qglVertex2fv )(const GLfloat *v);\r
-extern  void ( APIENTRY * qglVertex2i )(GLint x, GLint y);\r
-extern  void ( APIENTRY * qglVertex2iv )(const GLint *v);\r
-extern  void ( APIENTRY * qglVertex2s )(GLshort x, GLshort y);\r
-extern  void ( APIENTRY * qglVertex2sv )(const GLshort *v);\r
-extern  void ( APIENTRY * qglVertex3d )(GLdouble x, GLdouble y, GLdouble z);\r
-extern  void ( APIENTRY * qglVertex3dv )(const GLdouble *v);\r
-extern  void ( APIENTRY * qglVertex3f )(GLfloat x, GLfloat y, GLfloat z);\r
-extern  void ( APIENTRY * qglVertex3fv )(const GLfloat *v);\r
-extern  void ( APIENTRY * qglVertex3i )(GLint x, GLint y, GLint z);\r
-extern  void ( APIENTRY * qglVertex3iv )(const GLint *v);\r
-extern  void ( APIENTRY * qglVertex3s )(GLshort x, GLshort y, GLshort z);\r
-extern  void ( APIENTRY * qglVertex3sv )(const GLshort *v);\r
-extern  void ( APIENTRY * qglVertex4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);\r
-extern  void ( APIENTRY * qglVertex4dv )(const GLdouble *v);\r
-extern  void ( APIENTRY * qglVertex4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);\r
-extern  void ( APIENTRY * qglVertex4fv )(const GLfloat *v);\r
-extern  void ( APIENTRY * qglVertex4i )(GLint x, GLint y, GLint z, GLint w);\r
-extern  void ( APIENTRY * qglVertex4iv )(const GLint *v);\r
-extern  void ( APIENTRY * qglVertex4s )(GLshort x, GLshort y, GLshort z, GLshort w);\r
-extern  void ( APIENTRY * qglVertex4sv )(const GLshort *v);\r
-extern  void ( APIENTRY * qglVertexPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);\r
-extern  void ( APIENTRY * qglViewport )(GLint x, GLint y, GLsizei width, GLsizei height);\r
-\r
-extern void ( APIENTRY * qglPointParameterfEXT)( GLenum param, GLfloat value );\r
-extern void ( APIENTRY * qglPointParameterfvEXT)( GLenum param, const GLfloat *value );\r
-extern void ( APIENTRY * qglColorTableEXT)( int, int, int, int, int, const void * );\r
-\r
-extern void ( APIENTRY * qglMTexCoord2fSGIS)( GLenum, GLfloat, GLfloat );\r
-extern void ( APIENTRY * qglSelectTextureSGIS)( GLenum );\r
-\r
-extern void ( APIENTRY * qglActiveTextureARB) (GLenum texture);\r
-extern void ( APIENTRY * qglClientActiveTextureARB) (GLenum texture);\r
-extern void ( APIENTRY * qglMultiTexCoord1dARB) (GLenum target, GLdouble s);\r
-extern void ( APIENTRY * qglMultiTexCoord1dvARB) (GLenum target, const GLdouble *v);\r
-extern void ( APIENTRY * qglMultiTexCoord1fARB) (GLenum target, GLfloat s);\r
-extern void ( APIENTRY * qglMultiTexCoord1fvARB) (GLenum target, const GLfloat *v);\r
-extern void ( APIENTRY * qglMultiTexCoord1iARB) (GLenum target, GLint s);\r
-extern void ( APIENTRY * qglMultiTexCoord1ivARB) (GLenum target, const GLint *v);\r
-extern void ( APIENTRY * qglMultiTexCoord1sARB) (GLenum target, GLshort s);\r
-extern void ( APIENTRY * qglMultiTexCoord1svARB) (GLenum target, const GLshort *v);\r
-extern void ( APIENTRY * qglMultiTexCoord2dARB) (GLenum target, GLdouble s);\r
-extern void ( APIENTRY * qglMultiTexCoord2dvARB) (GLenum target, const GLdouble *v);\r
-extern void ( APIENTRY * qglMultiTexCoord2fARB) (GLenum target, GLfloat s);\r
-extern void ( APIENTRY * qglMultiTexCoord2fvARB) (GLenum target, const GLfloat *v);\r
-extern void ( APIENTRY * qglMultiTexCoord2iARB) (GLenum target, GLint s);\r
-extern void ( APIENTRY * qglMultiTexCoord2ivARB) (GLenum target, const GLint *v);\r
-extern void ( APIENTRY * qglMultiTexCoord2sARB) (GLenum target, GLshort s);\r
-extern void ( APIENTRY * qglMultiTexCoord2svARB) (GLenum target, const GLshort *v);\r
-extern void ( APIENTRY * qglMultiTexCoord3dARB) (GLenum target, GLdouble s);\r
-extern void ( APIENTRY * qglMultiTexCoord3dvARB) (GLenum target, const GLdouble *v);\r
-extern void ( APIENTRY * qglMultiTexCoord3fARB) (GLenum target, GLfloat s);\r
-extern void ( APIENTRY * qglMultiTexCoord3fvARB) (GLenum target, const GLfloat *v);\r
-extern void ( APIENTRY * qglMultiTexCoord3iARB) (GLenum target, GLint s);\r
-extern void ( APIENTRY * qglMultiTexCoord3ivARB) (GLenum target, const GLint *v);\r
-extern void ( APIENTRY * qglMultiTexCoord3sARB) (GLenum target, GLshort s);\r
-extern void ( APIENTRY * qglMultiTexCoord3svARB) (GLenum target, const GLshort *v);\r
-extern void ( APIENTRY * qglMultiTexCoord4dARB) (GLenum target, GLdouble s);\r
-extern void ( APIENTRY * qglMultiTexCoord4dvARB) (GLenum target, const GLdouble *v);\r
-extern void ( APIENTRY * qglMultiTexCoord4fARB) (GLenum target, GLfloat s);\r
-extern void ( APIENTRY * qglMultiTexCoord4fvARB) (GLenum target, const GLfloat *v);\r
-extern void ( APIENTRY * qglMultiTexCoord4iARB) (GLenum target, GLint s);\r
-extern void ( APIENTRY * qglMultiTexCoord4ivARB) (GLenum target, const GLint *v);\r
-extern void ( APIENTRY * qglMultiTexCoord4sARB) (GLenum target, GLshort s);\r
-extern void ( APIENTRY * qglMultiTexCoord4svARB) (GLenum target, const GLshort *v);\r
-\r
-\r
-\r
-#ifdef _WIN32\r
-\r
-extern  int   ( WINAPI * qwglChoosePixelFormat )(HDC, CONST PIXELFORMATDESCRIPTOR *);\r
-extern  int   ( WINAPI * qwglDescribePixelFormat) (HDC, int, UINT, LPPIXELFORMATDESCRIPTOR);\r
-extern  int   ( WINAPI * qwglGetPixelFormat)(HDC);\r
-extern  BOOL  ( WINAPI * qwglSetPixelFormat)(HDC, int, CONST PIXELFORMATDESCRIPTOR *);\r
-extern  BOOL  ( WINAPI * qwglSwapBuffers)(HDC);\r
-\r
-extern BOOL  ( WINAPI * qwglCopyContext)(HGLRC, HGLRC, UINT);\r
-extern HGLRC ( WINAPI * qwglCreateContext)(HDC);\r
-extern HGLRC ( WINAPI * qwglCreateLayerContext)(HDC, int);\r
-extern BOOL  ( WINAPI * qwglDeleteContext)(HGLRC);\r
-extern HGLRC ( WINAPI * qwglGetCurrentContext)(VOID);\r
-extern HDC   ( WINAPI * qwglGetCurrentDC)(VOID);\r
-extern PROC  ( WINAPI * qwglGetProcAddress)(LPCSTR);\r
-extern BOOL  ( WINAPI * qwglMakeCurrent)(HDC, HGLRC);\r
-extern BOOL  ( WINAPI * qwglShareLists)(HGLRC, HGLRC);\r
-extern BOOL  ( WINAPI * qwglUseFontBitmaps)(HDC, DWORD, DWORD, DWORD);\r
-\r
-extern BOOL  ( WINAPI * qwglUseFontOutlines)(HDC, DWORD, DWORD, DWORD, FLOAT,\r
-                                           FLOAT, int, LPGLYPHMETRICSFLOAT);\r
-\r
-extern BOOL ( WINAPI * qwglDescribeLayerPlane)(HDC, int, int, UINT,\r
-                                            LPLAYERPLANEDESCRIPTOR);\r
-extern int  ( WINAPI * qwglSetLayerPaletteEntries)(HDC, int, int, int,\r
-                                                CONST COLORREF *);\r
-extern int  ( WINAPI * qwglGetLayerPaletteEntries)(HDC, int, int, int,\r
-                                                COLORREF *);\r
-extern BOOL ( WINAPI * qwglRealizeLayerPalette)(HDC, int, BOOL);\r
-extern BOOL ( WINAPI * qwglSwapLayerBuffers)(HDC, UINT);\r
-\r
-extern BOOL ( WINAPI * qwglSwapIntervalEXT)( int interval );\r
-\r
-extern BOOL ( WINAPI * qwglGetDeviceGammaRampEXT ) ( unsigned char *pRed, unsigned char *pGreen, unsigned char *pBlue );\r
-extern BOOL ( WINAPI * qwglSetDeviceGammaRampEXT ) ( const unsigned char *pRed, const unsigned char *pGreen, const unsigned char *pBlue );\r
-\r
-#endif\r
-\r
-#if defined (__linux__) || defined (__APPLE__)\r
-extern XVisualInfo* (*qglXChooseVisual)(Display *dpy, int screen, int *attribList);\r
-extern GLXContext   (*qglXCreateContext)(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);\r
-extern void         (*qglXDestroyContext)(Display *dpy, GLXContext ctx);\r
-extern Bool         (*qglXMakeCurrent)(Display *dpy, GLXDrawable drawable, GLXContext ctx);\r
-extern void         (*qglXCopyContext)(Display *dpy, GLXContext src, GLXContext dst, GLuint mask);\r
-extern void         (*qglXSwapBuffers)( Display *dpy, GLXDrawable drawable );\r
-extern GLXPixmap    (*qglXCreateGLXPixmap)( Display *dpy, XVisualInfo *visual, Pixmap pixmap );\r
-extern void         (*qglXDestroyGLXPixmap)( Display *dpy, GLXPixmap pixmap );\r
-extern Bool         (*qglXQueryExtension)( Display *dpy, int *errorb, int *event );\r
-extern Bool         (*qglXQueryVersion)( Display *dpy, int *maj, int *min );\r
-extern Bool         (*qglXIsDirect)( Display *dpy, GLXContext ctx );\r
-extern int          (*qglXGetConfig)( Display *dpy, XVisualInfo *visual, int attrib, int *value );\r
-extern GLXContext   (*qglXGetCurrentContext)( void );\r
-extern GLXDrawable  (*qglXGetCurrentDrawable)( void );\r
-extern void         (*qglXWaitGL)( void );\r
-extern void         (*qglXWaitX)( void );\r
-extern void         (*qglXUseXFont)( Font font, int first, int count, int list );\r
-extern void*        (*qglXGetProcAddressARB) (const GLubyte *procName);\r
-#endif\r
-\r
-#ifdef ATIHACK_812\r
-extern  void ( APIENTRY * qglCullFace_real )(GLenum mode);\r
-extern  void ( APIENTRY * qglDisable_real )(GLenum cap);\r
-extern  void ( APIENTRY * qglEnable_real )(GLenum cap);\r
-extern  void ( APIENTRY * qglPolygonMode_real )(GLenum face, GLenum mode);\r
-\r
-extern  void APIENTRY qglCullFace_ATIHack(GLenum mode);\r
-extern  void APIENTRY qglDisable_ATIHack(GLenum cap);\r
-extern  void APIENTRY qglEnable_ATIHack(GLenum cap);\r
-extern  void APIENTRY qglPolygonMode_ATIHack(GLenum face, GLenum mode);\r
-#endif\r
-\r
-// glu stuff.. radiant only uses a couple\r
-extern void (APIENTRY* qgluPerspective) (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);\r
-extern void (APIENTRY* qgluLookAt)(\r
-  GLdouble eyex,\r
-  GLdouble eyey,\r
-  GLdouble eyez,\r
-  GLdouble centerx,\r
-  GLdouble centery,\r
-  GLdouble centerz,\r
-  GLdouble upx,\r
-  GLdouble upy,\r
-  GLdouble upz);\r
-extern const GLubyte * (APIENTRY * qgluErrorString) (GLenum errCode );\r
-\r
-\r
-// end of glu stuff\r
-\r
-\r
-/*\r
-** extension constants\r
-*/\r
-#define GL_POINT_SIZE_MIN_EXT                          0x8126\r
-#define GL_POINT_SIZE_MAX_EXT                          0x8127\r
-#define GL_POINT_FADE_THRESHOLD_SIZE_EXT       0x8128\r
-#define GL_DISTANCE_ATTENUATION_EXT                    0x8129\r
-\r
-#define GL_SHARED_TEXTURE_PALETTE_EXT          0x81FB\r
-\r
-#define GL_TEXTURE0_SGIS                                       0x835E\r
-#define GL_TEXTURE1_SGIS                                       0x835F\r
-\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif // extern "C"\r
-\r
-// -------------------------------------------------------------------------------------------\r
-// qgl_ext.cpp API\r
-// -------------------------------------------------------------------------------------------\r
-\r
-int Sys_QGL_ExtensionSupported (const char *extension);\r
-\r
-#endif\r
+/*
+Copyright (C) 1999-2007 id Software, Inc. and contributors.
+For a list of contributors, see the accompanying CONTRIBUTORS file.
+
+This file is part of GtkRadiant.
+
+GtkRadiant 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 2 of the License, or
+(at your option) any later version.
+
+GtkRadiant 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 GtkRadiant; if not, write to the Free Software
+Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+*/
+
+/*
+** QGL.H
+*/
+
+#ifndef __QGL_H__
+#define __QGL_H__
+
+#define ATIHACK_812
+
+#include <GL/gl.h>
+
+#if defined (__linux__) || defined (__APPLE__)
+#include <GL/glx.h>
+#endif
+
+#if defined (__APPLE__)
+#include <GL/glu.h>
+#endif
+
+#ifndef GL_ARB_multitexture
+#define GL_TEXTURE0_ARB                   0x84C0
+#define GL_TEXTURE1_ARB                   0x84C1
+#define GL_TEXTURE2_ARB                   0x84C2
+#define GL_TEXTURE3_ARB                   0x84C3
+#define GL_TEXTURE4_ARB                   0x84C4
+#define GL_TEXTURE5_ARB                   0x84C5
+#define GL_TEXTURE6_ARB                   0x84C6
+#define GL_TEXTURE7_ARB                   0x84C7
+#define GL_TEXTURE8_ARB                   0x84C8
+#define GL_TEXTURE9_ARB                   0x84C9
+#define GL_TEXTURE10_ARB                  0x84CA
+#define GL_TEXTURE11_ARB                  0x84CB
+#define GL_TEXTURE12_ARB                  0x84CC
+#define GL_TEXTURE13_ARB                  0x84CD
+#define GL_TEXTURE14_ARB                  0x84CE
+#define GL_TEXTURE15_ARB                  0x84CF
+#define GL_TEXTURE16_ARB                  0x84D0
+#define GL_TEXTURE17_ARB                  0x84D1
+#define GL_TEXTURE18_ARB                  0x84D2
+#define GL_TEXTURE19_ARB                  0x84D3
+#define GL_TEXTURE20_ARB                  0x84D4
+#define GL_TEXTURE21_ARB                  0x84D5
+#define GL_TEXTURE22_ARB                  0x84D6
+#define GL_TEXTURE23_ARB                  0x84D7
+#define GL_TEXTURE24_ARB                  0x84D8
+#define GL_TEXTURE25_ARB                  0x84D9
+#define GL_TEXTURE26_ARB                  0x84DA
+#define GL_TEXTURE27_ARB                  0x84DB
+#define GL_TEXTURE28_ARB                  0x84DC
+#define GL_TEXTURE29_ARB                  0x84DD
+#define GL_TEXTURE30_ARB                  0x84DE
+#define GL_TEXTURE31_ARB                  0x84DF
+#define GL_ACTIVE_TEXTURE_ARB             0x84E0
+#define GL_CLIENT_ACTIVE_TEXTURE_ARB      0x84E1
+#define GL_MAX_TEXTURE_UNITS_ARB          0x84E2
+#endif
+
+#ifndef GL_VERSION_1_3
+// this is hacky, I'd recommend people having GL 1.3 headers instead
+#define GL_COMPRESSED_RGBA 0x84EE
+// RIANT
+// this would be the appropriate place for this
+#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT  0x83F1
+#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT  0x83F2
+#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT  0x83F3
+
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int  QGL_Init( const char *dllname, const char* pGluName );
+void QGL_InitExtensions ();
+void QGL_Shutdown();
+
+// silent query, see Sys_QGL_ExtensionSupported
+int GL_ExtensionSupported (const char *extension);
+
+#ifndef APIENTRY
+#  define APIENTRY
+#endif
+
+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 void ( APIENTRY * qglPointParameterfEXT)( GLenum param, GLfloat value );
+extern void ( APIENTRY * qglPointParameterfvEXT)( GLenum param, const GLfloat *value );
+extern void ( APIENTRY * qglColorTableEXT)( int, int, int, int, int, const void * );
+
+extern void ( APIENTRY * qglMTexCoord2fSGIS)( GLenum, GLfloat, GLfloat );
+extern void ( APIENTRY * qglSelectTextureSGIS)( GLenum );
+
+extern void ( APIENTRY * qglActiveTextureARB) (GLenum texture);
+extern void ( APIENTRY * qglClientActiveTextureARB) (GLenum texture);
+extern void ( APIENTRY * qglMultiTexCoord1dARB) (GLenum target, GLdouble s);
+extern void ( APIENTRY * qglMultiTexCoord1dvARB) (GLenum target, const GLdouble *v);
+extern void ( APIENTRY * qglMultiTexCoord1fARB) (GLenum target, GLfloat s);
+extern void ( APIENTRY * qglMultiTexCoord1fvARB) (GLenum target, const GLfloat *v);
+extern void ( APIENTRY * qglMultiTexCoord1iARB) (GLenum target, GLint s);
+extern void ( APIENTRY * qglMultiTexCoord1ivARB) (GLenum target, const GLint *v);
+extern void ( APIENTRY * qglMultiTexCoord1sARB) (GLenum target, GLshort s);
+extern void ( APIENTRY * qglMultiTexCoord1svARB) (GLenum target, const GLshort *v);
+extern void ( APIENTRY * qglMultiTexCoord2dARB) (GLenum target, GLdouble s);
+extern void ( APIENTRY * qglMultiTexCoord2dvARB) (GLenum target, const GLdouble *v);
+extern void ( APIENTRY * qglMultiTexCoord2fARB) (GLenum target, GLfloat s);
+extern void ( APIENTRY * qglMultiTexCoord2fvARB) (GLenum target, const GLfloat *v);
+extern void ( APIENTRY * qglMultiTexCoord2iARB) (GLenum target, GLint s);
+extern void ( APIENTRY * qglMultiTexCoord2ivARB) (GLenum target, const GLint *v);
+extern void ( APIENTRY * qglMultiTexCoord2sARB) (GLenum target, GLshort s);
+extern void ( APIENTRY * qglMultiTexCoord2svARB) (GLenum target, const GLshort *v);
+extern void ( APIENTRY * qglMultiTexCoord3dARB) (GLenum target, GLdouble s);
+extern void ( APIENTRY * qglMultiTexCoord3dvARB) (GLenum target, const GLdouble *v);
+extern void ( APIENTRY * qglMultiTexCoord3fARB) (GLenum target, GLfloat s);
+extern void ( APIENTRY * qglMultiTexCoord3fvARB) (GLenum target, const GLfloat *v);
+extern void ( APIENTRY * qglMultiTexCoord3iARB) (GLenum target, GLint s);
+extern void ( APIENTRY * qglMultiTexCoord3ivARB) (GLenum target, const GLint *v);
+extern void ( APIENTRY * qglMultiTexCoord3sARB) (GLenum target, GLshort s);
+extern void ( APIENTRY * qglMultiTexCoord3svARB) (GLenum target, const GLshort *v);
+extern void ( APIENTRY * qglMultiTexCoord4dARB) (GLenum target, GLdouble s);
+extern void ( APIENTRY * qglMultiTexCoord4dvARB) (GLenum target, const GLdouble *v);
+extern void ( APIENTRY * qglMultiTexCoord4fARB) (GLenum target, GLfloat s);
+extern void ( APIENTRY * qglMultiTexCoord4fvARB) (GLenum target, const GLfloat *v);
+extern void ( APIENTRY * qglMultiTexCoord4iARB) (GLenum target, GLint s);
+extern void ( APIENTRY * qglMultiTexCoord4ivARB) (GLenum target, const GLint *v);
+extern void ( APIENTRY * qglMultiTexCoord4sARB) (GLenum target, GLshort s);
+extern void ( APIENTRY * qglMultiTexCoord4svARB) (GLenum target, const GLshort *v);
+
+
+
+#ifdef _WIN32
+
+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);
+
+extern BOOL ( WINAPI * qwglSwapIntervalEXT)( int interval );
+
+extern BOOL ( WINAPI * qwglGetDeviceGammaRampEXT ) ( unsigned char *pRed, unsigned char *pGreen, unsigned char *pBlue );
+extern BOOL ( WINAPI * qwglSetDeviceGammaRampEXT ) ( const unsigned char *pRed, const unsigned char *pGreen, const unsigned char *pBlue );
+
+#endif
+
+#if defined (__linux__) || defined (__APPLE__)
+extern XVisualInfo* (*qglXChooseVisual)(Display *dpy, int screen, int *attribList);
+extern GLXContext   (*qglXCreateContext)(Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct);
+extern void         (*qglXDestroyContext)(Display *dpy, GLXContext ctx);
+extern Bool         (*qglXMakeCurrent)(Display *dpy, GLXDrawable drawable, GLXContext ctx);
+extern void         (*qglXCopyContext)(Display *dpy, GLXContext src, GLXContext dst, GLuint mask);
+extern void         (*qglXSwapBuffers)( Display *dpy, GLXDrawable drawable );
+extern GLXPixmap    (*qglXCreateGLXPixmap)( Display *dpy, XVisualInfo *visual, Pixmap pixmap );
+extern void         (*qglXDestroyGLXPixmap)( Display *dpy, GLXPixmap pixmap );
+extern Bool         (*qglXQueryExtension)( Display *dpy, int *errorb, int *event );
+extern Bool         (*qglXQueryVersion)( Display *dpy, int *maj, int *min );
+extern Bool         (*qglXIsDirect)( Display *dpy, GLXContext ctx );
+extern int          (*qglXGetConfig)( Display *dpy, XVisualInfo *visual, int attrib, int *value );
+extern GLXContext   (*qglXGetCurrentContext)( void );
+extern GLXDrawable  (*qglXGetCurrentDrawable)( void );
+extern void         (*qglXWaitGL)( void );
+extern void         (*qglXWaitX)( void );
+extern void         (*qglXUseXFont)( Font font, int first, int count, int list );
+extern void*        (*qglXGetProcAddressARB) (const GLubyte *procName);
+#endif
+
+#ifdef ATIHACK_812
+extern  void ( APIENTRY * qglCullFace_real )(GLenum mode);
+extern  void ( APIENTRY * qglDisable_real )(GLenum cap);
+extern  void ( APIENTRY * qglEnable_real )(GLenum cap);
+extern  void ( APIENTRY * qglPolygonMode_real )(GLenum face, GLenum mode);
+
+extern  void APIENTRY qglCullFace_ATIHack(GLenum mode);
+extern  void APIENTRY qglDisable_ATIHack(GLenum cap);
+extern  void APIENTRY qglEnable_ATIHack(GLenum cap);
+extern  void APIENTRY qglPolygonMode_ATIHack(GLenum face, GLenum mode);
+#endif
+
+// glu stuff.. radiant only uses a couple
+extern void (APIENTRY* qgluPerspective) (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
+extern void (APIENTRY* qgluLookAt)(
+  GLdouble eyex,
+  GLdouble eyey,
+  GLdouble eyez,
+  GLdouble centerx,
+  GLdouble centery,
+  GLdouble centerz,
+  GLdouble upx,
+  GLdouble upy,
+  GLdouble upz);
+extern const GLubyte * (APIENTRY * qgluErrorString) (GLenum errCode );
+
+
+// end of glu stuff
+
+
+/*
+** extension constants
+*/
+#define GL_POINT_SIZE_MIN_EXT                          0x8126
+#define GL_POINT_SIZE_MAX_EXT                          0x8127
+#define GL_POINT_FADE_THRESHOLD_SIZE_EXT       0x8128
+#define GL_DISTANCE_ATTENUATION_EXT                    0x8129
+
+#define GL_SHARED_TEXTURE_PALETTE_EXT          0x81FB
+
+#define GL_TEXTURE0_SGIS                                       0x835E
+#define GL_TEXTURE1_SGIS                                       0x835F
+
+
+#ifdef __cplusplus
+}
+#endif // extern "C"
+
+// -------------------------------------------------------------------------------------------
+// qgl_ext.cpp API
+// -------------------------------------------------------------------------------------------
+
+int Sys_QGL_ExtensionSupported (const char *extension);
+
+#endif