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