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