Quake-III-Arena

Quake III Arena GPL Source Release
Log | Files | Refs

QGL.H (30040B)


      1 /*
      2 ===========================================================================
      3 Copyright (C) 1999-2005 Id Software, Inc.
      4 
      5 This file is part of Quake III Arena source code.
      6 
      7 Quake III Arena source code is free software; you can redistribute it
      8 and/or modify it under the terms of the GNU General Public License as
      9 published by the Free Software Foundation; either version 2 of the License,
     10 or (at your option) any later version.
     11 
     12 Quake III Arena source code is distributed in the hope that it will be
     13 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 GNU General Public License for more details.
     16 
     17 You should have received a copy of the GNU General Public License
     18 along with Foobar; if not, write to the Free Software
     19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
     20 ===========================================================================
     21 */
     22 /*
     23 ** QGL.H
     24 */
     25 
     26 #ifndef __QGL_H__
     27 #define __QGL_H__
     28 
     29 #ifdef _WIN32
     30 #  include <windows.h>
     31 #endif
     32 
     33 #include <gl/gl.h>
     34 #include <gl/glu.h>
     35 
     36 int  QGL_Init( const char *dllname, const char* pGluName );
     37 void QGL_Shutdown();
     38 
     39 #ifndef APIENTRY
     40 #  define APIENTRY
     41 #endif
     42 
     43 extern  void ( APIENTRY * qglAccum )(GLenum op, GLfloat value);
     44 extern  void ( APIENTRY * qglAlphaFunc )(GLenum func, GLclampf ref);
     45 extern  GLboolean ( APIENTRY * qglAreTexturesResident )(GLsizei n, const GLuint *textures, GLboolean *residences);
     46 extern  void ( APIENTRY * qglArrayElement )(GLint i);
     47 extern  void ( APIENTRY * qglBegin )(GLenum mode);
     48 extern  void ( APIENTRY * qglBindTexture )(GLenum target, GLuint texture);
     49 extern  void ( APIENTRY * qglBitmap )(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
     50 extern  void ( APIENTRY * qglBlendFunc )(GLenum sfactor, GLenum dfactor);
     51 extern  void ( APIENTRY * qglCallList )(GLuint list);
     52 extern  void ( APIENTRY * qglCallLists )(GLsizei n, GLenum type, const GLvoid *lists);
     53 extern  void ( APIENTRY * qglClear )(GLbitfield mask);
     54 extern  void ( APIENTRY * qglClearAccum )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
     55 extern  void ( APIENTRY * qglClearColor )(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
     56 extern  void ( APIENTRY * qglClearDepth )(GLclampd depth);
     57 extern  void ( APIENTRY * qglClearIndex )(GLfloat c);
     58 extern  void ( APIENTRY * qglClearStencil )(GLint s);
     59 extern  void ( APIENTRY * qglClipPlane )(GLenum plane, const GLdouble *equation);
     60 extern  void ( APIENTRY * qglColor3b )(GLbyte red, GLbyte green, GLbyte blue);
     61 extern  void ( APIENTRY * qglColor3bv )(const GLbyte *v);
     62 extern  void ( APIENTRY * qglColor3d )(GLdouble red, GLdouble green, GLdouble blue);
     63 extern  void ( APIENTRY * qglColor3dv )(const GLdouble *v);
     64 extern  void ( APIENTRY * qglColor3f )(GLfloat red, GLfloat green, GLfloat blue);
     65 extern  void ( APIENTRY * qglColor3fv )(const GLfloat *v);
     66 extern  void ( APIENTRY * qglColor3i )(GLint red, GLint green, GLint blue);
     67 extern  void ( APIENTRY * qglColor3iv )(const GLint *v);
     68 extern  void ( APIENTRY * qglColor3s )(GLshort red, GLshort green, GLshort blue);
     69 extern  void ( APIENTRY * qglColor3sv )(const GLshort *v);
     70 extern  void ( APIENTRY * qglColor3ub )(GLubyte red, GLubyte green, GLubyte blue);
     71 extern  void ( APIENTRY * qglColor3ubv )(const GLubyte *v);
     72 extern  void ( APIENTRY * qglColor3ui )(GLuint red, GLuint green, GLuint blue);
     73 extern  void ( APIENTRY * qglColor3uiv )(const GLuint *v);
     74 extern  void ( APIENTRY * qglColor3us )(GLushort red, GLushort green, GLushort blue);
     75 extern  void ( APIENTRY * qglColor3usv )(const GLushort *v);
     76 extern  void ( APIENTRY * qglColor4b )(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
     77 extern  void ( APIENTRY * qglColor4bv )(const GLbyte *v);
     78 extern  void ( APIENTRY * qglColor4d )(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
     79 extern  void ( APIENTRY * qglColor4dv )(const GLdouble *v);
     80 extern  void ( APIENTRY * qglColor4f )(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
     81 extern  void ( APIENTRY * qglColor4fv )(const GLfloat *v);
     82 extern  void ( APIENTRY * qglColor4i )(GLint red, GLint green, GLint blue, GLint alpha);
     83 extern  void ( APIENTRY * qglColor4iv )(const GLint *v);
     84 extern  void ( APIENTRY * qglColor4s )(GLshort red, GLshort green, GLshort blue, GLshort alpha);
     85 extern  void ( APIENTRY * qglColor4sv )(const GLshort *v);
     86 extern  void ( APIENTRY * qglColor4ub )(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
     87 extern  void ( APIENTRY * qglColor4ubv )(const GLubyte *v);
     88 extern  void ( APIENTRY * qglColor4ui )(GLuint red, GLuint green, GLuint blue, GLuint alpha);
     89 extern  void ( APIENTRY * qglColor4uiv )(const GLuint *v);
     90 extern  void ( APIENTRY * qglColor4us )(GLushort red, GLushort green, GLushort blue, GLushort alpha);
     91 extern  void ( APIENTRY * qglColor4usv )(const GLushort *v);
     92 extern  void ( APIENTRY * qglColorMask )(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
     93 extern  void ( APIENTRY * qglColorMaterial )(GLenum face, GLenum mode);
     94 extern  void ( APIENTRY * qglColorPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
     95 extern  void ( APIENTRY * qglCopyPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
     96 extern  void ( APIENTRY * qglCopyTexImage1D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
     97 extern  void ( APIENTRY * qglCopyTexImage2D )(GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
     98 extern  void ( APIENTRY * qglCopyTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
     99 extern  void ( APIENTRY * qglCopyTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
    100 extern  void ( APIENTRY * qglCullFace )(GLenum mode);
    101 extern  void ( APIENTRY * qglDeleteLists )(GLuint list, GLsizei range);
    102 extern  void ( APIENTRY * qglDeleteTextures )(GLsizei n, const GLuint *textures);
    103 extern  void ( APIENTRY * qglDepthFunc )(GLenum func);
    104 extern  void ( APIENTRY * qglDepthMask )(GLboolean flag);
    105 extern  void ( APIENTRY * qglDepthRange )(GLclampd zNear, GLclampd zFar);
    106 extern  void ( APIENTRY * qglDisable )(GLenum cap);
    107 extern  void ( APIENTRY * qglDisableClientState )(GLenum array);
    108 extern  void ( APIENTRY * qglDrawArrays )(GLenum mode, GLint first, GLsizei count);
    109 extern  void ( APIENTRY * qglDrawBuffer )(GLenum mode);
    110 extern  void ( APIENTRY * qglDrawElements )(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
    111 extern  void ( APIENTRY * qglDrawPixels )(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
    112 extern  void ( APIENTRY * qglEdgeFlag )(GLboolean flag);
    113 extern  void ( APIENTRY * qglEdgeFlagPointer )(GLsizei stride, const GLvoid *pointer);
    114 extern  void ( APIENTRY * qglEdgeFlagv )(const GLboolean *flag);
    115 extern  void ( APIENTRY * qglEnable )(GLenum cap);
    116 extern  void ( APIENTRY * qglEnableClientState )(GLenum array);
    117 extern  void ( APIENTRY * qglEnd )(void);
    118 extern  void ( APIENTRY * qglEndList )(void);
    119 extern  void ( APIENTRY * qglEvalCoord1d )(GLdouble u);
    120 extern  void ( APIENTRY * qglEvalCoord1dv )(const GLdouble *u);
    121 extern  void ( APIENTRY * qglEvalCoord1f )(GLfloat u);
    122 extern  void ( APIENTRY * qglEvalCoord1fv )(const GLfloat *u);
    123 extern  void ( APIENTRY * qglEvalCoord2d )(GLdouble u, GLdouble v);
    124 extern  void ( APIENTRY * qglEvalCoord2dv )(const GLdouble *u);
    125 extern  void ( APIENTRY * qglEvalCoord2f )(GLfloat u, GLfloat v);
    126 extern  void ( APIENTRY * qglEvalCoord2fv )(const GLfloat *u);
    127 extern  void ( APIENTRY * qglEvalMesh1 )(GLenum mode, GLint i1, GLint i2);
    128 extern  void ( APIENTRY * qglEvalMesh2 )(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
    129 extern  void ( APIENTRY * qglEvalPoint1 )(GLint i);
    130 extern  void ( APIENTRY * qglEvalPoint2 )(GLint i, GLint j);
    131 extern  void ( APIENTRY * qglFeedbackBuffer )(GLsizei size, GLenum type, GLfloat *buffer);
    132 extern  void ( APIENTRY * qglFinish )(void);
    133 extern  void ( APIENTRY * qglFlush )(void);
    134 extern  void ( APIENTRY * qglFogf )(GLenum pname, GLfloat param);
    135 extern  void ( APIENTRY * qglFogfv )(GLenum pname, const GLfloat *params);
    136 extern  void ( APIENTRY * qglFogi )(GLenum pname, GLint param);
    137 extern  void ( APIENTRY * qglFogiv )(GLenum pname, const GLint *params);
    138 extern  void ( APIENTRY * qglFrontFace )(GLenum mode);
    139 extern  void ( APIENTRY * qglFrustum )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
    140 extern  GLuint ( APIENTRY * qglGenLists )(GLsizei range);
    141 extern  void ( APIENTRY * qglGenTextures )(GLsizei n, GLuint *textures);
    142 extern  void ( APIENTRY * qglGetBooleanv )(GLenum pname, GLboolean *params);
    143 extern  void ( APIENTRY * qglGetClipPlane )(GLenum plane, GLdouble *equation);
    144 extern  void ( APIENTRY * qglGetDoublev )(GLenum pname, GLdouble *params);
    145 extern  GLenum ( APIENTRY * qglGetError )(void);
    146 extern  void ( APIENTRY * qglGetFloatv )(GLenum pname, GLfloat *params);
    147 extern  void ( APIENTRY * qglGetIntegerv )(GLenum pname, GLint *params);
    148 extern  void ( APIENTRY * qglGetLightfv )(GLenum light, GLenum pname, GLfloat *params);
    149 extern  void ( APIENTRY * qglGetLightiv )(GLenum light, GLenum pname, GLint *params);
    150 extern  void ( APIENTRY * qglGetMapdv )(GLenum target, GLenum query, GLdouble *v);
    151 extern  void ( APIENTRY * qglGetMapfv )(GLenum target, GLenum query, GLfloat *v);
    152 extern  void ( APIENTRY * qglGetMapiv )(GLenum target, GLenum query, GLint *v);
    153 extern  void ( APIENTRY * qglGetMaterialfv )(GLenum face, GLenum pname, GLfloat *params);
    154 extern  void ( APIENTRY * qglGetMaterialiv )(GLenum face, GLenum pname, GLint *params);
    155 extern  void ( APIENTRY * qglGetPixelMapfv )(GLenum map, GLfloat *values);
    156 extern  void ( APIENTRY * qglGetPixelMapuiv )(GLenum map, GLuint *values);
    157 extern  void ( APIENTRY * qglGetPixelMapusv )(GLenum map, GLushort *values);
    158 extern  void ( APIENTRY * qglGetPointerv )(GLenum pname, GLvoid* *params);
    159 extern  void ( APIENTRY * qglGetPolygonStipple )(GLubyte *mask);
    160 extern  const GLubyte * ( APIENTRY * qglGetString )(GLenum name);
    161 extern  void ( APIENTRY * qglGetTexEnvfv )(GLenum target, GLenum pname, GLfloat *params);
    162 extern  void ( APIENTRY * qglGetTexEnviv )(GLenum target, GLenum pname, GLint *params);
    163 extern  void ( APIENTRY * qglGetTexGendv )(GLenum coord, GLenum pname, GLdouble *params);
    164 extern  void ( APIENTRY * qglGetTexGenfv )(GLenum coord, GLenum pname, GLfloat *params);
    165 extern  void ( APIENTRY * qglGetTexGeniv )(GLenum coord, GLenum pname, GLint *params);
    166 extern  void ( APIENTRY * qglGetTexImage )(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
    167 extern  void ( APIENTRY * qglGetTexLevelParameterfv )(GLenum target, GLint level, GLenum pname, GLfloat *params);
    168 extern  void ( APIENTRY * qglGetTexLevelParameteriv )(GLenum target, GLint level, GLenum pname, GLint *params);
    169 extern  void ( APIENTRY * qglGetTexParameterfv )(GLenum target, GLenum pname, GLfloat *params);
    170 extern  void ( APIENTRY * qglGetTexParameteriv )(GLenum target, GLenum pname, GLint *params);
    171 extern  void ( APIENTRY * qglHint )(GLenum target, GLenum mode);
    172 extern  void ( APIENTRY * qglIndexMask )(GLuint mask);
    173 extern  void ( APIENTRY * qglIndexPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);
    174 extern  void ( APIENTRY * qglIndexd )(GLdouble c);
    175 extern  void ( APIENTRY * qglIndexdv )(const GLdouble *c);
    176 extern  void ( APIENTRY * qglIndexf )(GLfloat c);
    177 extern  void ( APIENTRY * qglIndexfv )(const GLfloat *c);
    178 extern  void ( APIENTRY * qglIndexi )(GLint c);
    179 extern  void ( APIENTRY * qglIndexiv )(const GLint *c);
    180 extern  void ( APIENTRY * qglIndexs )(GLshort c);
    181 extern  void ( APIENTRY * qglIndexsv )(const GLshort *c);
    182 extern  void ( APIENTRY * qglIndexub )(GLubyte c);
    183 extern  void ( APIENTRY * qglIndexubv )(const GLubyte *c);
    184 extern  void ( APIENTRY * qglInitNames )(void);
    185 extern  void ( APIENTRY * qglInterleavedArrays )(GLenum format, GLsizei stride, const GLvoid *pointer);
    186 extern  GLboolean ( APIENTRY * qglIsEnabled )(GLenum cap);
    187 extern  GLboolean ( APIENTRY * qglIsList )(GLuint list);
    188 extern  GLboolean ( APIENTRY * qglIsTexture )(GLuint texture);
    189 extern  void ( APIENTRY * qglLightModelf )(GLenum pname, GLfloat param);
    190 extern  void ( APIENTRY * qglLightModelfv )(GLenum pname, const GLfloat *params);
    191 extern  void ( APIENTRY * qglLightModeli )(GLenum pname, GLint param);
    192 extern  void ( APIENTRY * qglLightModeliv )(GLenum pname, const GLint *params);
    193 extern  void ( APIENTRY * qglLightf )(GLenum light, GLenum pname, GLfloat param);
    194 extern  void ( APIENTRY * qglLightfv )(GLenum light, GLenum pname, const GLfloat *params);
    195 extern  void ( APIENTRY * qglLighti )(GLenum light, GLenum pname, GLint param);
    196 extern  void ( APIENTRY * qglLightiv )(GLenum light, GLenum pname, const GLint *params);
    197 extern  void ( APIENTRY * qglLineStipple )(GLint factor, GLushort pattern);
    198 extern  void ( APIENTRY * qglLineWidth )(GLfloat width);
    199 extern  void ( APIENTRY * qglListBase )(GLuint base);
    200 extern  void ( APIENTRY * qglLoadIdentity )(void);
    201 extern  void ( APIENTRY * qglLoadMatrixd )(const GLdouble *m);
    202 extern  void ( APIENTRY * qglLoadMatrixf )(const GLfloat *m);
    203 extern  void ( APIENTRY * qglLoadName )(GLuint name);
    204 extern  void ( APIENTRY * qglLogicOp )(GLenum opcode);
    205 extern  void ( APIENTRY * qglMap1d )(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
    206 extern  void ( APIENTRY * qglMap1f )(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
    207 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);
    208 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);
    209 extern  void ( APIENTRY * qglMapGrid1d )(GLint un, GLdouble u1, GLdouble u2);
    210 extern  void ( APIENTRY * qglMapGrid1f )(GLint un, GLfloat u1, GLfloat u2);
    211 extern  void ( APIENTRY * qglMapGrid2d )(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
    212 extern  void ( APIENTRY * qglMapGrid2f )(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
    213 extern  void ( APIENTRY * qglMaterialf )(GLenum face, GLenum pname, GLfloat param);
    214 extern  void ( APIENTRY * qglMaterialfv )(GLenum face, GLenum pname, const GLfloat *params);
    215 extern  void ( APIENTRY * qglMateriali )(GLenum face, GLenum pname, GLint param);
    216 extern  void ( APIENTRY * qglMaterialiv )(GLenum face, GLenum pname, const GLint *params);
    217 extern  void ( APIENTRY * qglMatrixMode )(GLenum mode);
    218 extern  void ( APIENTRY * qglMultMatrixd )(const GLdouble *m);
    219 extern  void ( APIENTRY * qglMultMatrixf )(const GLfloat *m);
    220 extern  void ( APIENTRY * qglNewList )(GLuint list, GLenum mode);
    221 extern  void ( APIENTRY * qglNormal3b )(GLbyte nx, GLbyte ny, GLbyte nz);
    222 extern  void ( APIENTRY * qglNormal3bv )(const GLbyte *v);
    223 extern  void ( APIENTRY * qglNormal3d )(GLdouble nx, GLdouble ny, GLdouble nz);
    224 extern  void ( APIENTRY * qglNormal3dv )(const GLdouble *v);
    225 extern  void ( APIENTRY * qglNormal3f )(GLfloat nx, GLfloat ny, GLfloat nz);
    226 extern  void ( APIENTRY * qglNormal3fv )(const GLfloat *v);
    227 extern  void ( APIENTRY * qglNormal3i )(GLint nx, GLint ny, GLint nz);
    228 extern  void ( APIENTRY * qglNormal3iv )(const GLint *v);
    229 extern  void ( APIENTRY * qglNormal3s )(GLshort nx, GLshort ny, GLshort nz);
    230 extern  void ( APIENTRY * qglNormal3sv )(const GLshort *v);
    231 extern  void ( APIENTRY * qglNormalPointer )(GLenum type, GLsizei stride, const GLvoid *pointer);
    232 extern  void ( APIENTRY * qglOrtho )(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
    233 extern  void ( APIENTRY * qglPassThrough )(GLfloat token);
    234 extern  void ( APIENTRY * qglPixelMapfv )(GLenum map, GLsizei mapsize, const GLfloat *values);
    235 extern  void ( APIENTRY * qglPixelMapuiv )(GLenum map, GLsizei mapsize, const GLuint *values);
    236 extern  void ( APIENTRY * qglPixelMapusv )(GLenum map, GLsizei mapsize, const GLushort *values);
    237 extern  void ( APIENTRY * qglPixelStoref )(GLenum pname, GLfloat param);
    238 extern  void ( APIENTRY * qglPixelStorei )(GLenum pname, GLint param);
    239 extern  void ( APIENTRY * qglPixelTransferf )(GLenum pname, GLfloat param);
    240 extern  void ( APIENTRY * qglPixelTransferi )(GLenum pname, GLint param);
    241 extern  void ( APIENTRY * qglPixelZoom )(GLfloat xfactor, GLfloat yfactor);
    242 extern  void ( APIENTRY * qglPointSize )(GLfloat size);
    243 extern  void ( APIENTRY * qglPolygonMode )(GLenum face, GLenum mode);
    244 extern  void ( APIENTRY * qglPolygonOffset )(GLfloat factor, GLfloat units);
    245 extern  void ( APIENTRY * qglPolygonStipple )(const GLubyte *mask);
    246 extern  void ( APIENTRY * qglPopAttrib )(void);
    247 extern  void ( APIENTRY * qglPopClientAttrib )(void);
    248 extern  void ( APIENTRY * qglPopMatrix )(void);
    249 extern  void ( APIENTRY * qglPopName )(void);
    250 extern  void ( APIENTRY * qglPrioritizeTextures )(GLsizei n, const GLuint *textures, const GLclampf *priorities);
    251 extern  void ( APIENTRY * qglPushAttrib )(GLbitfield mask);
    252 extern  void ( APIENTRY * qglPushClientAttrib )(GLbitfield mask);
    253 extern  void ( APIENTRY * qglPushMatrix )(void);
    254 extern  void ( APIENTRY * qglPushName )(GLuint name);
    255 extern  void ( APIENTRY * qglRasterPos2d )(GLdouble x, GLdouble y);
    256 extern  void ( APIENTRY * qglRasterPos2dv )(const GLdouble *v);
    257 extern  void ( APIENTRY * qglRasterPos2f )(GLfloat x, GLfloat y);
    258 extern  void ( APIENTRY * qglRasterPos2fv )(const GLfloat *v);
    259 extern  void ( APIENTRY * qglRasterPos2i )(GLint x, GLint y);
    260 extern  void ( APIENTRY * qglRasterPos2iv )(const GLint *v);
    261 extern  void ( APIENTRY * qglRasterPos2s )(GLshort x, GLshort y);
    262 extern  void ( APIENTRY * qglRasterPos2sv )(const GLshort *v);
    263 extern  void ( APIENTRY * qglRasterPos3d )(GLdouble x, GLdouble y, GLdouble z);
    264 extern  void ( APIENTRY * qglRasterPos3dv )(const GLdouble *v);
    265 extern  void ( APIENTRY * qglRasterPos3f )(GLfloat x, GLfloat y, GLfloat z);
    266 extern  void ( APIENTRY * qglRasterPos3fv )(const GLfloat *v);
    267 extern  void ( APIENTRY * qglRasterPos3i )(GLint x, GLint y, GLint z);
    268 extern  void ( APIENTRY * qglRasterPos3iv )(const GLint *v);
    269 extern  void ( APIENTRY * qglRasterPos3s )(GLshort x, GLshort y, GLshort z);
    270 extern  void ( APIENTRY * qglRasterPos3sv )(const GLshort *v);
    271 extern  void ( APIENTRY * qglRasterPos4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
    272 extern  void ( APIENTRY * qglRasterPos4dv )(const GLdouble *v);
    273 extern  void ( APIENTRY * qglRasterPos4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
    274 extern  void ( APIENTRY * qglRasterPos4fv )(const GLfloat *v);
    275 extern  void ( APIENTRY * qglRasterPos4i )(GLint x, GLint y, GLint z, GLint w);
    276 extern  void ( APIENTRY * qglRasterPos4iv )(const GLint *v);
    277 extern  void ( APIENTRY * qglRasterPos4s )(GLshort x, GLshort y, GLshort z, GLshort w);
    278 extern  void ( APIENTRY * qglRasterPos4sv )(const GLshort *v);
    279 extern  void ( APIENTRY * qglReadBuffer )(GLenum mode);
    280 extern  void ( APIENTRY * qglReadPixels )(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
    281 extern  void ( APIENTRY * qglRectd )(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
    282 extern  void ( APIENTRY * qglRectdv )(const GLdouble *v1, const GLdouble *v2);
    283 extern  void ( APIENTRY * qglRectf )(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
    284 extern  void ( APIENTRY * qglRectfv )(const GLfloat *v1, const GLfloat *v2);
    285 extern  void ( APIENTRY * qglRecti )(GLint x1, GLint y1, GLint x2, GLint y2);
    286 extern  void ( APIENTRY * qglRectiv )(const GLint *v1, const GLint *v2);
    287 extern  void ( APIENTRY * qglRects )(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
    288 extern  void ( APIENTRY * qglRectsv )(const GLshort *v1, const GLshort *v2);
    289 extern  GLint ( APIENTRY * qglRenderMode )(GLenum mode);
    290 extern  void ( APIENTRY * qglRotated )(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
    291 extern  void ( APIENTRY * qglRotatef )(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
    292 extern  void ( APIENTRY * qglScaled )(GLdouble x, GLdouble y, GLdouble z);
    293 extern  void ( APIENTRY * qglScalef )(GLfloat x, GLfloat y, GLfloat z);
    294 extern  void ( APIENTRY * qglScissor )(GLint x, GLint y, GLsizei width, GLsizei height);
    295 extern  void ( APIENTRY * qglSelectBuffer )(GLsizei size, GLuint *buffer);
    296 extern  void ( APIENTRY * qglShadeModel )(GLenum mode);
    297 extern  void ( APIENTRY * qglStencilFunc )(GLenum func, GLint ref, GLuint mask);
    298 extern  void ( APIENTRY * qglStencilMask )(GLuint mask);
    299 extern  void ( APIENTRY * qglStencilOp )(GLenum fail, GLenum zfail, GLenum zpass);
    300 extern  void ( APIENTRY * qglTexCoord1d )(GLdouble s);
    301 extern  void ( APIENTRY * qglTexCoord1dv )(const GLdouble *v);
    302 extern  void ( APIENTRY * qglTexCoord1f )(GLfloat s);
    303 extern  void ( APIENTRY * qglTexCoord1fv )(const GLfloat *v);
    304 extern  void ( APIENTRY * qglTexCoord1i )(GLint s);
    305 extern  void ( APIENTRY * qglTexCoord1iv )(const GLint *v);
    306 extern  void ( APIENTRY * qglTexCoord1s )(GLshort s);
    307 extern  void ( APIENTRY * qglTexCoord1sv )(const GLshort *v);
    308 extern  void ( APIENTRY * qglTexCoord2d )(GLdouble s, GLdouble t);
    309 extern  void ( APIENTRY * qglTexCoord2dv )(const GLdouble *v);
    310 extern  void ( APIENTRY * qglTexCoord2f )(GLfloat s, GLfloat t);
    311 extern  void ( APIENTRY * qglTexCoord2fv )(const GLfloat *v);
    312 extern  void ( APIENTRY * qglTexCoord2i )(GLint s, GLint t);
    313 extern  void ( APIENTRY * qglTexCoord2iv )(const GLint *v);
    314 extern  void ( APIENTRY * qglTexCoord2s )(GLshort s, GLshort t);
    315 extern  void ( APIENTRY * qglTexCoord2sv )(const GLshort *v);
    316 extern  void ( APIENTRY * qglTexCoord3d )(GLdouble s, GLdouble t, GLdouble r);
    317 extern  void ( APIENTRY * qglTexCoord3dv )(const GLdouble *v);
    318 extern  void ( APIENTRY * qglTexCoord3f )(GLfloat s, GLfloat t, GLfloat r);
    319 extern  void ( APIENTRY * qglTexCoord3fv )(const GLfloat *v);
    320 extern  void ( APIENTRY * qglTexCoord3i )(GLint s, GLint t, GLint r);
    321 extern  void ( APIENTRY * qglTexCoord3iv )(const GLint *v);
    322 extern  void ( APIENTRY * qglTexCoord3s )(GLshort s, GLshort t, GLshort r);
    323 extern  void ( APIENTRY * qglTexCoord3sv )(const GLshort *v);
    324 extern  void ( APIENTRY * qglTexCoord4d )(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
    325 extern  void ( APIENTRY * qglTexCoord4dv )(const GLdouble *v);
    326 extern  void ( APIENTRY * qglTexCoord4f )(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
    327 extern  void ( APIENTRY * qglTexCoord4fv )(const GLfloat *v);
    328 extern  void ( APIENTRY * qglTexCoord4i )(GLint s, GLint t, GLint r, GLint q);
    329 extern  void ( APIENTRY * qglTexCoord4iv )(const GLint *v);
    330 extern  void ( APIENTRY * qglTexCoord4s )(GLshort s, GLshort t, GLshort r, GLshort q);
    331 extern  void ( APIENTRY * qglTexCoord4sv )(const GLshort *v);
    332 extern  void ( APIENTRY * qglTexCoordPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    333 extern  void ( APIENTRY * qglTexEnvf )(GLenum target, GLenum pname, GLfloat param);
    334 extern  void ( APIENTRY * qglTexEnvfv )(GLenum target, GLenum pname, const GLfloat *params);
    335 extern  void ( APIENTRY * qglTexEnvi )(GLenum target, GLenum pname, GLint param);
    336 extern  void ( APIENTRY * qglTexEnviv )(GLenum target, GLenum pname, const GLint *params);
    337 extern  void ( APIENTRY * qglTexGend )(GLenum coord, GLenum pname, GLdouble param);
    338 extern  void ( APIENTRY * qglTexGendv )(GLenum coord, GLenum pname, const GLdouble *params);
    339 extern  void ( APIENTRY * qglTexGenf )(GLenum coord, GLenum pname, GLfloat param);
    340 extern  void ( APIENTRY * qglTexGenfv )(GLenum coord, GLenum pname, const GLfloat *params);
    341 extern  void ( APIENTRY * qglTexGeni )(GLenum coord, GLenum pname, GLint param);
    342 extern  void ( APIENTRY * qglTexGeniv )(GLenum coord, GLenum pname, const GLint *params);
    343 extern  void ( APIENTRY * qglTexImage1D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
    344 extern  void ( APIENTRY * qglTexImage2D )(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
    345 extern  void ( APIENTRY * qglTexParameterf )(GLenum target, GLenum pname, GLfloat param);
    346 extern  void ( APIENTRY * qglTexParameterfv )(GLenum target, GLenum pname, const GLfloat *params);
    347 extern  void ( APIENTRY * qglTexParameteri )(GLenum target, GLenum pname, GLint param);
    348 extern  void ( APIENTRY * qglTexParameteriv )(GLenum target, GLenum pname, const GLint *params);
    349 extern  void ( APIENTRY * qglTexSubImage1D )(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
    350 extern  void ( APIENTRY * qglTexSubImage2D )(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
    351 extern  void ( APIENTRY * qglTranslated )(GLdouble x, GLdouble y, GLdouble z);
    352 extern  void ( APIENTRY * qglTranslatef )(GLfloat x, GLfloat y, GLfloat z);
    353 extern  void ( APIENTRY * qglVertex2d )(GLdouble x, GLdouble y);
    354 extern  void ( APIENTRY * qglVertex2dv )(const GLdouble *v);
    355 extern  void ( APIENTRY * qglVertex2f )(GLfloat x, GLfloat y);
    356 extern  void ( APIENTRY * qglVertex2fv )(const GLfloat *v);
    357 extern  void ( APIENTRY * qglVertex2i )(GLint x, GLint y);
    358 extern  void ( APIENTRY * qglVertex2iv )(const GLint *v);
    359 extern  void ( APIENTRY * qglVertex2s )(GLshort x, GLshort y);
    360 extern  void ( APIENTRY * qglVertex2sv )(const GLshort *v);
    361 extern  void ( APIENTRY * qglVertex3d )(GLdouble x, GLdouble y, GLdouble z);
    362 extern  void ( APIENTRY * qglVertex3dv )(const GLdouble *v);
    363 extern  void ( APIENTRY * qglVertex3f )(GLfloat x, GLfloat y, GLfloat z);
    364 extern  void ( APIENTRY * qglVertex3fv )(const GLfloat *v);
    365 extern  void ( APIENTRY * qglVertex3i )(GLint x, GLint y, GLint z);
    366 extern  void ( APIENTRY * qglVertex3iv )(const GLint *v);
    367 extern  void ( APIENTRY * qglVertex3s )(GLshort x, GLshort y, GLshort z);
    368 extern  void ( APIENTRY * qglVertex3sv )(const GLshort *v);
    369 extern  void ( APIENTRY * qglVertex4d )(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
    370 extern  void ( APIENTRY * qglVertex4dv )(const GLdouble *v);
    371 extern  void ( APIENTRY * qglVertex4f )(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
    372 extern  void ( APIENTRY * qglVertex4fv )(const GLfloat *v);
    373 extern  void ( APIENTRY * qglVertex4i )(GLint x, GLint y, GLint z, GLint w);
    374 extern  void ( APIENTRY * qglVertex4iv )(const GLint *v);
    375 extern  void ( APIENTRY * qglVertex4s )(GLshort x, GLshort y, GLshort z, GLshort w);
    376 extern  void ( APIENTRY * qglVertex4sv )(const GLshort *v);
    377 extern  void ( APIENTRY * qglVertexPointer )(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
    378 extern  void ( APIENTRY * qglViewport )(GLint x, GLint y, GLsizei width, GLsizei height);
    379 
    380 extern	void ( APIENTRY * qglPointParameterfEXT)( GLenum param, GLfloat value );
    381 extern	void ( APIENTRY * qglPointParameterfvEXT)( GLenum param, const GLfloat *value );
    382 extern	void ( APIENTRY * qglColorTableEXT)( int, int, int, int, int, const void * );
    383 
    384 extern	void ( APIENTRY * qglMTexCoord2fSGIS)( GLenum, GLfloat, GLfloat );
    385 extern	void ( APIENTRY * qglSelectTextureSGIS)( GLenum );
    386 
    387 #ifdef _WIN32
    388 
    389 extern  int   ( WINAPI * qwglChoosePixelFormat )(HDC, CONST PIXELFORMATDESCRIPTOR *);
    390 extern  int   ( WINAPI * qwglDescribePixelFormat) (HDC, int, UINT, LPPIXELFORMATDESCRIPTOR);
    391 extern  int   ( WINAPI * qwglGetPixelFormat)(HDC);
    392 extern  BOOL  ( WINAPI * qwglSetPixelFormat)(HDC, int, CONST PIXELFORMATDESCRIPTOR *);
    393 extern  BOOL  ( WINAPI * qwglSwapBuffers)(HDC);
    394 
    395 extern BOOL  ( WINAPI * qwglCopyContext)(HGLRC, HGLRC, UINT);
    396 extern HGLRC ( WINAPI * qwglCreateContext)(HDC);
    397 extern HGLRC ( WINAPI * qwglCreateLayerContext)(HDC, int);
    398 extern BOOL  ( WINAPI * qwglDeleteContext)(HGLRC);
    399 extern HGLRC ( WINAPI * qwglGetCurrentContext)(VOID);
    400 extern HDC   ( WINAPI * qwglGetCurrentDC)(VOID);
    401 extern PROC  ( WINAPI * qwglGetProcAddress)(LPCSTR);
    402 extern BOOL  ( WINAPI * qwglMakeCurrent)(HDC, HGLRC);
    403 extern BOOL  ( WINAPI * qwglShareLists)(HGLRC, HGLRC);
    404 extern BOOL  ( WINAPI * qwglUseFontBitmaps)(HDC, DWORD, DWORD, DWORD);
    405 
    406 extern BOOL  ( WINAPI * qwglUseFontOutlines)(HDC, DWORD, DWORD, DWORD, FLOAT,
    407                                            FLOAT, int, LPGLYPHMETRICSFLOAT);
    408 
    409 extern BOOL ( WINAPI * qwglDescribeLayerPlane)(HDC, int, int, UINT,
    410                                             LPLAYERPLANEDESCRIPTOR);
    411 extern int  ( WINAPI * qwglSetLayerPaletteEntries)(HDC, int, int, int,
    412                                                 CONST COLORREF *);
    413 extern int  ( WINAPI * qwglGetLayerPaletteEntries)(HDC, int, int, int,
    414                                                 COLORREF *);
    415 extern BOOL ( WINAPI * qwglRealizeLayerPalette)(HDC, int, BOOL);
    416 extern BOOL ( WINAPI * qwglSwapLayerBuffers)(HDC, UINT);
    417 
    418 extern BOOL ( WINAPI * qwglSwapIntervalEXT)( int interval );
    419 
    420 extern BOOL ( WINAPI * qwglGetDeviceGammaRampEXT ) ( unsigned char *pRed, unsigned char *pGreen, unsigned char *pBlue );
    421 extern BOOL ( WINAPI * qwglSetDeviceGammaRampEXT ) ( const unsigned char *pRed, const unsigned char *pGreen, const unsigned char *pBlue );
    422 
    423 #endif
    424 
    425 // glu stuff.. radiant only uses a couple
    426 extern int (APIENTRY* qgluBuild2DMipmaps) (GLenum target, GLint components, GLint width, GLint height, GLenum format, GLenum type, const void  *data);
    427 extern void (APIENTRY* qgluPerspective) (GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar);
    428 extern void (APIENTRY* qgluLookAt)(
    429   GLdouble eyex,
    430   GLdouble eyey,
    431   GLdouble eyez,
    432   GLdouble centerx,
    433   GLdouble centery,
    434   GLdouble centerz,
    435   GLdouble upx,
    436   GLdouble upy,
    437   GLdouble upz);
    438 
    439 
    440 // end of glu stuff
    441 
    442 
    443 /*
    444 ** extension constants
    445 */
    446 #define GL_POINT_SIZE_MIN_EXT				0x8126
    447 #define GL_POINT_SIZE_MAX_EXT				0x8127
    448 #define GL_POINT_FADE_THRESHOLD_SIZE_EXT	0x8128
    449 #define GL_DISTANCE_ATTENUATION_EXT			0x8129
    450 
    451 #define GL_SHARED_TEXTURE_PALETTE_EXT		0x81FB
    452 
    453 #define GL_TEXTURE0_SGIS					0x835E
    454 #define GL_TEXTURE1_SGIS					0x835F
    455 
    456 #endif