Remove QGL pointers

This is a manual merge of Hecatomb Q2 ref b8952d5. Manual since git
couldn't do an automerge for some reasons... Notable changes are:
- QGL function pointers are removed, libGL is linked directly
- The OpenGL log framework is removed. It was disfunctional
- The gl_driver cvar is finaly gone
This change is currently untested on Windows and OS. There should
be no problems but a better Makefile integration of libGL is needed.
This commit is contained in:
Yamagi Burmeister 2013-06-15 09:01:12 +02:00
parent d2304ebcab
commit 9af9f54f36
8 changed files with 490 additions and 5326 deletions

View File

@ -324,6 +324,8 @@ build/client/%.o : %.m
${Q}$(CC) $(OSX_ARCH) -x objective-c -c $< -o $@
endif
release/quake2 : LDFLAGS += -lGL
ifeq ($(WITH_CDA),yes)
release/quake2 : CFLAGS += -DCDA
endif

View File

@ -1,40 +0,0 @@
/*
* Copyright (C) 1997-2001 Id Software, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* =======================================================================
*
* This file holds the main struct for the OpenGL context
*
* =======================================================================
*/
#ifndef GEN_GLWINDOW_H
#define GEN_GLWINDOW_H
#include <stdio.h>
typedef struct
{
void *OpenGLLib; /* instance of OpenGL library */
FILE *log_fp;
} glwstate_t;
extern glwstate_t glw_state;
#endif

View File

@ -1,4 +1,6 @@
/*
* Copyright (C) 2013 Alejandro Ricoveri
* Copyright (C) 1999-2005 Id Software, Inc.
* Copyright (C) 1997-2001 Id Software, Inc.
*
* This program is free software; you can redistribute it and/or modify
@ -19,7 +21,7 @@
*
* =======================================================================
*
* Quake GL prototypes
* Quake GL prototypes based on ioquake3 source code
*
* =======================================================================
*/
@ -28,7 +30,7 @@
#define REF_QGL_H
#ifdef _WIN32
#include <windows.h>
#include <windows.h>
#endif
#if defined(__APPLE__)
@ -38,7 +40,7 @@
#endif
#ifndef APIENTRY
#define APIENTRY
#define APIENTRY
#endif
#define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB
@ -50,548 +52,416 @@
#define GL_POINT_SIZE_MAX_EXT 0x8127
#define GL_DISTANCE_ATTENUATION_EXT 0x8129
qboolean QGL_Init(const char *dllname);
void QGL_Shutdown(void);
extern void (APIENTRY *qglAccum)(GLenum op, GLfloat value);
extern void (APIENTRY *qglAlphaFunc)(GLenum func, GLclampf ref);
extern GLboolean (APIENTRY *qglAreTexturesResident)(GLsizei n,
const GLuint *textures, GLboolean *residences);
extern void (APIENTRY *qglArrayElement)(GLint i);
extern void (APIENTRY *qglBegin)(GLenum mode);
extern void (APIENTRY *qglBindTexture)(GLenum target, GLuint texture);
extern void (APIENTRY *qglBitmap)(GLsizei width, GLsizei height, GLfloat xorig,
GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
extern void (APIENTRY *qglBlendFunc)(GLenum sfactor, GLenum dfactor);
extern void (APIENTRY *qglCallList)(GLuint list);
extern void (APIENTRY *qglCallLists)(GLsizei n, GLenum type,
const GLvoid *lists);
extern void (APIENTRY *qglClear)(GLbitfield mask);
extern void (APIENTRY *qglClearAccum)(GLfloat red, GLfloat green, GLfloat blue,
GLfloat alpha);
extern void (APIENTRY *qglClearColor)(GLclampf red, GLclampf green,
GLclampf blue, GLclampf alpha);
extern void (APIENTRY *qglClearDepth)(GLclampd depth);
extern void (APIENTRY *qglClearIndex)(GLfloat c);
extern void (APIENTRY *qglClearStencil)(GLint s);
extern void (APIENTRY *qglClipPlane)(GLenum plane, const GLdouble *equation);
extern void (APIENTRY *qglColor3b)(GLbyte red, GLbyte green, GLbyte blue);
extern void (APIENTRY *qglColor3bv)(const GLbyte *v);
extern void (APIENTRY *qglColor3d)(GLdouble red, GLdouble green, GLdouble blue);
extern void (APIENTRY *qglColor3dv)(const GLdouble *v);
extern void (APIENTRY *qglColor3f)(GLfloat red, GLfloat green, GLfloat blue);
extern void (APIENTRY *qglColor3fv)(const GLfloat *v);
extern void (APIENTRY *qglColor3i)(GLint red, GLint green, GLint blue);
extern void (APIENTRY *qglColor3iv)(const GLint *v);
extern void (APIENTRY *qglColor3s)(GLshort red, GLshort green, GLshort blue);
extern void (APIENTRY *qglColor3sv)(const GLshort *v);
extern void (APIENTRY *qglColor3ub)(GLubyte red, GLubyte green, GLubyte blue);
extern void (APIENTRY *qglColor3ubv)(const GLubyte *v);
extern void (APIENTRY *qglColor3ui)(GLuint red, GLuint green, GLuint blue);
extern void (APIENTRY *qglColor3uiv)(const GLuint *v);
extern void (APIENTRY *qglColor3us)(GLushort red, GLushort green, GLushort blue);
extern void (APIENTRY *qglColor3usv)(const GLushort *v);
extern void (APIENTRY *qglColor4b)(GLbyte red, GLbyte green, GLbyte blue,
GLbyte alpha);
extern void (APIENTRY *qglColor4bv)(const GLbyte *v);
extern void (APIENTRY *qglColor4d)(GLdouble red, GLdouble green, GLdouble blue,
GLdouble alpha);
extern void (APIENTRY *qglColor4dv)(const GLdouble *v);
extern void (APIENTRY *qglColor4f)(GLfloat red, GLfloat green, GLfloat blue,
GLfloat alpha);
extern void (APIENTRY *qglColor4fv)(const GLfloat *v);
extern void (APIENTRY *qglColor4i)(GLint red, GLint green, GLint blue,
GLint alpha);
extern void (APIENTRY *qglColor4iv)(const GLint *v);
extern void (APIENTRY *qglColor4s)(GLshort red, GLshort green, GLshort blue,
GLshort alpha);
extern void (APIENTRY *qglColor4sv)(const GLshort *v);
extern void (APIENTRY *qglColor4ub)(GLubyte red, GLubyte green, GLubyte blue,
GLubyte alpha);
extern void (APIENTRY *qglColor4ubv)(const GLubyte *v);
extern void (APIENTRY *qglColor4ui)(GLuint red, GLuint green, GLuint blue,
GLuint alpha);
extern void (APIENTRY *qglColor4uiv)(const GLuint *v);
extern void (APIENTRY *qglColor4us)(GLushort red, GLushort green, GLushort blue,
GLushort alpha);
extern void (APIENTRY *qglColor4usv)(const GLushort *v);
extern void (APIENTRY *qglColorMask)(GLboolean red, GLboolean green,
GLboolean blue, GLboolean alpha);
extern void (APIENTRY *qglColorMaterial)(GLenum face, GLenum mode);
extern void (APIENTRY *qglColorPointer)(GLint size, GLenum type, GLsizei stride,
const GLvoid *pointer);
extern void (APIENTRY *qglCopyPixels)(GLint x, GLint y, GLsizei width,
GLsizei height, GLenum type);
extern void (APIENTRY *qglCopyTexImage1D)(GLenum target, GLint level,
GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
extern void (APIENTRY *qglCopyTexImage2D)(GLenum target, GLint level,
GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height,
GLint border);
extern void (APIENTRY *qglCopyTexSubImage1D)(GLenum target, GLint level,
GLint xoffset, GLint x, GLint y, GLsizei width);
extern void (APIENTRY *qglCopyTexSubImage2D)(GLenum target, GLint level,
GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width,
GLsizei height);
extern void (APIENTRY *qglCullFace)(GLenum mode);
extern void (APIENTRY *qglDeleteLists)(GLuint list, GLsizei range);
extern void (APIENTRY *qglDeleteTextures)(GLsizei n, const GLuint *textures);
extern void (APIENTRY *qglDepthFunc)(GLenum func);
extern void (APIENTRY *qglDepthMask)(GLboolean flag);
extern void (APIENTRY *qglDepthRange)(GLclampd zNear, GLclampd zFar);
extern void (APIENTRY *qglDisable)(GLenum cap);
extern void (APIENTRY *qglDisableClientState)(GLenum array);
extern void (APIENTRY *qglDrawArrays)(GLenum mode, GLint first, GLsizei count);
extern void (APIENTRY *qglDrawBuffer)(GLenum mode);
extern void (APIENTRY *qglDrawElements)(GLenum mode, GLsizei count, GLenum type,
const GLvoid *indices);
extern void (APIENTRY *qglDrawPixels)(GLsizei width, GLsizei height,
GLenum format, GLenum type, const GLvoid *pixels);
extern void (APIENTRY *qglEdgeFlag)(GLboolean flag);
extern void (APIENTRY *qglEdgeFlagPointer)(GLsizei stride,
const GLvoid *pointer);
extern void (APIENTRY *qglEdgeFlagv)(const GLboolean *flag);
extern void (APIENTRY *qglEnable)(GLenum cap);
extern void (APIENTRY *qglEnableClientState)(GLenum array);
extern void (APIENTRY *qglEnd)(void);
extern void (APIENTRY *qglEndList)(void);
extern void (APIENTRY *qglEvalCoord1d)(GLdouble u);
extern void (APIENTRY *qglEvalCoord1dv)(const GLdouble *u);
extern void (APIENTRY *qglEvalCoord1f)(GLfloat u);
extern void (APIENTRY *qglEvalCoord1fv)(const GLfloat *u);
extern void (APIENTRY *qglEvalCoord2d)(GLdouble u, GLdouble v);
extern void (APIENTRY *qglEvalCoord2dv)(const GLdouble *u);
extern void (APIENTRY *qglEvalCoord2f)(GLfloat u, GLfloat v);
extern void (APIENTRY *qglEvalCoord2fv)(const GLfloat *u);
extern void (APIENTRY *qglEvalMesh1)(GLenum mode, GLint i1, GLint i2);
extern void (APIENTRY *qglEvalMesh2)(GLenum mode, GLint i1, GLint i2, GLint j1,
GLint j2);
extern void (APIENTRY *qglEvalPoint1)(GLint i);
extern void (APIENTRY *qglEvalPoint2)(GLint i, GLint j);
extern void (APIENTRY *qglFeedbackBuffer)(GLsizei size, GLenum type,
GLfloat *buffer);
extern void (APIENTRY *qglFinish)(void);
extern void (APIENTRY *qglFlush)(void);
extern void (APIENTRY *qglFogf)(GLenum pname, GLfloat param);
extern void (APIENTRY *qglFogfv)(GLenum pname, const GLfloat *params);
extern void (APIENTRY *qglFogi)(GLenum pname, GLint param);
extern void (APIENTRY *qglFogiv)(GLenum pname, const GLint *params);
extern void (APIENTRY *qglFrontFace)(GLenum mode);
extern void (APIENTRY *qglFrustum)(GLdouble left, GLdouble right,
GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
extern GLuint (APIENTRY *qglGenLists)(GLsizei range);
extern void (APIENTRY *qglGenTextures)(GLsizei n, GLuint *textures);
extern void (APIENTRY *qglGetBooleanv)(GLenum pname, GLboolean *params);
extern void (APIENTRY *qglGetClipPlane)(GLenum plane, GLdouble *equation);
extern void (APIENTRY *qglGetDoublev)(GLenum pname, GLdouble *params);
extern GLenum (APIENTRY *qglGetError)(void);
extern void (APIENTRY *qglGetFloatv)(GLenum pname, GLfloat *params);
extern void (APIENTRY *qglGetIntegerv)(GLenum pname, GLint *params);
extern void (APIENTRY *qglGetLightfv)(GLenum light, GLenum pname,
GLfloat *params);
extern void (APIENTRY *qglGetLightiv)(GLenum light, GLenum pname, GLint *params);
extern void (APIENTRY *qglGetMapdv)(GLenum target, GLenum query, GLdouble *v);
extern void (APIENTRY *qglGetMapfv)(GLenum target, GLenum query, GLfloat *v);
extern void (APIENTRY *qglGetMapiv)(GLenum target, GLenum query, GLint *v);
extern void (APIENTRY *qglGetMaterialfv)(GLenum face, GLenum pname,
GLfloat *params);
extern void (APIENTRY *qglGetMaterialiv)(GLenum face, GLenum pname,
GLint *params);
extern void (APIENTRY *qglGetPixelMapfv)(GLenum map, GLfloat *values);
extern void (APIENTRY *qglGetPixelMapuiv)(GLenum map, GLuint *values);
extern void (APIENTRY *qglGetPixelMapusv)(GLenum map, GLushort *values);
extern void (APIENTRY *qglGetPointerv)(GLenum pname, GLvoid **params);
extern void (APIENTRY *qglGetPolygonStipple)(GLubyte *mask);
extern const GLubyte * (APIENTRY * qglGetString)(GLenum name);
extern void (APIENTRY *qglGetTexEnvfv)(GLenum target, GLenum pname,
GLfloat *params);
extern void (APIENTRY *qglGetTexEnviv)(GLenum target, GLenum pname,
GLint *params);
extern void (APIENTRY *qglGetTexGendv)(GLenum coord, GLenum pname,
GLdouble *params);
extern void (APIENTRY *qglGetTexGenfv)(GLenum coord, GLenum pname,
GLfloat *params);
extern void (APIENTRY *qglGetTexGeniv)(GLenum coord, GLenum pname,
GLint *params);
extern void (APIENTRY *qglGetTexImage)(GLenum target, GLint level,
GLenum format, GLenum type, GLvoid *pixels);
extern void (APIENTRY *qglGetTexLevelParameterfv)(GLenum target, GLint level,
GLenum pname, GLfloat *params);
extern void (APIENTRY *qglGetTexLevelParameteriv)(GLenum target, GLint level,
GLenum pname, GLint *params);
extern void (APIENTRY *qglGetTexParameterfv)(GLenum target, GLenum pname,
GLfloat *params);
extern void (APIENTRY *qglGetTexParameteriv)(GLenum target, GLenum pname,
GLint *params);
extern void (APIENTRY *qglHint)(GLenum target, GLenum mode);
extern void (APIENTRY *qglIndexMask)(GLuint mask);
extern void (APIENTRY *qglIndexPointer)(GLenum type, GLsizei stride,
const GLvoid *pointer);
extern void (APIENTRY *qglIndexd)(GLdouble c);
extern void (APIENTRY *qglIndexdv)(const GLdouble *c);
extern void (APIENTRY *qglIndexf)(GLfloat c);
extern void (APIENTRY *qglIndexfv)(const GLfloat *c);
extern void (APIENTRY *qglIndexi)(GLint c);
extern void (APIENTRY *qglIndexiv)(const GLint *c);
extern void (APIENTRY *qglIndexs)(GLshort c);
extern void (APIENTRY *qglIndexsv)(const GLshort *c);
extern void (APIENTRY *qglIndexub)(GLubyte c);
extern void (APIENTRY *qglIndexubv)(const GLubyte *c);
extern void (APIENTRY *qglInitNames)(void);
extern void (APIENTRY *qglInterleavedArrays)(GLenum format, GLsizei stride,
const GLvoid *pointer);
extern GLboolean (APIENTRY *qglIsEnabled)(GLenum cap);
extern GLboolean (APIENTRY *qglIsList)(GLuint list);
extern GLboolean (APIENTRY *qglIsTexture)(GLuint texture);
extern void (APIENTRY *qglLightModelf)(GLenum pname, GLfloat param);
extern void (APIENTRY *qglLightModelfv)(GLenum pname, const GLfloat *params);
extern void (APIENTRY *qglLightModeli)(GLenum pname, GLint param);
extern void (APIENTRY *qglLightModeliv)(GLenum pname, const GLint *params);
extern void (APIENTRY *qglLightf)(GLenum light, GLenum pname, GLfloat param);
extern void (APIENTRY *qglLightfv)(GLenum light, GLenum pname,
const GLfloat *params);
extern void (APIENTRY *qglLighti)(GLenum light, GLenum pname, GLint param);
extern void (APIENTRY *qglLightiv)(GLenum light, GLenum pname,
const GLint *params);
extern void (APIENTRY *qglLineStipple)(GLint factor, GLushort pattern);
extern void (APIENTRY *qglLineWidth)(GLfloat width);
extern void (APIENTRY *qglListBase)(GLuint base);
extern void (APIENTRY *qglLoadIdentity)(void);
extern void (APIENTRY *qglLoadMatrixd)(const GLdouble *m);
extern void (APIENTRY *qglLoadMatrixf)(const GLfloat *m);
extern void (APIENTRY *qglLoadName)(GLuint name);
extern void (APIENTRY *qglLogicOp)(GLenum opcode);
extern void (APIENTRY *qglMap1d)(GLenum target, GLdouble u1, GLdouble u2,
GLint stride, GLint order, const GLdouble *points);
extern void (APIENTRY *qglMap1f)(GLenum target, GLfloat u1, GLfloat u2,
GLint stride, GLint order, const GLfloat *points);
extern void (APIENTRY *qglMap2d)(GLenum target, GLdouble u1, GLdouble u2,
GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride,
GLint vorder, const GLdouble *points);
extern void (APIENTRY *qglMap2f)(GLenum target, GLfloat u1, GLfloat u2,
GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride,
GLint vorder, const GLfloat *points);
extern void (APIENTRY *qglMapGrid1d)(GLint un, GLdouble u1, GLdouble u2);
extern void (APIENTRY *qglMapGrid1f)(GLint un, GLfloat u1, GLfloat u2);
extern void (APIENTRY *qglMapGrid2d)(GLint un, GLdouble u1, GLdouble u2,
GLint vn, GLdouble v1, GLdouble v2);
extern void (APIENTRY *qglMapGrid2f)(GLint un, GLfloat u1, GLfloat u2, GLint vn,
GLfloat v1, GLfloat v2);
extern void (APIENTRY *qglMaterialf)(GLenum face, GLenum pname, GLfloat param);
extern void (APIENTRY *qglMaterialfv)(GLenum face, GLenum pname,
const GLfloat *params);
extern void (APIENTRY *qglMateriali)(GLenum face, GLenum pname, GLint param);
extern void (APIENTRY *qglMaterialiv)(GLenum face, GLenum pname,
const GLint *params);
extern void (APIENTRY *qglMatrixMode)(GLenum mode);
extern void (APIENTRY *qglMultMatrixd)(const GLdouble *m);
extern void (APIENTRY *qglMultMatrixf)(const GLfloat *m);
extern void (APIENTRY *qglNewList)(GLuint list, GLenum mode);
extern void (APIENTRY *qglNormal3b)(GLbyte nx, GLbyte ny, GLbyte nz);
extern void (APIENTRY *qglNormal3bv)(const GLbyte *v);
extern void (APIENTRY *qglNormal3d)(GLdouble nx, GLdouble ny, GLdouble nz);
extern void (APIENTRY *qglNormal3dv)(const GLdouble *v);
extern void (APIENTRY *qglNormal3f)(GLfloat nx, GLfloat ny, GLfloat nz);
extern void (APIENTRY *qglNormal3fv)(const GLfloat *v);
extern void (APIENTRY *qglNormal3i)(GLint nx, GLint ny, GLint nz);
extern void (APIENTRY *qglNormal3iv)(const GLint *v);
extern void (APIENTRY *qglNormal3s)(GLshort nx, GLshort ny, GLshort nz);
extern void (APIENTRY *qglNormal3sv)(const GLshort *v);
extern void (APIENTRY *qglNormalPointer)(GLenum type, GLsizei stride,
const GLvoid *pointer);
extern void (APIENTRY *qglOrtho)(GLdouble left, GLdouble right, GLdouble bottom,
GLdouble top, GLdouble zNear, GLdouble zFar);
extern void (APIENTRY *qglPassThrough)(GLfloat token);
extern void (APIENTRY *qglPixelMapfv)(GLenum map, GLsizei mapsize,
const GLfloat *values);
extern void (APIENTRY *qglPixelMapuiv)(GLenum map, GLsizei mapsize,
const GLuint *values);
extern void (APIENTRY *qglPixelMapusv)(GLenum map, GLsizei mapsize,
const GLushort *values);
extern void (APIENTRY *qglPixelStoref)(GLenum pname, GLfloat param);
extern void (APIENTRY *qglPixelStorei)(GLenum pname, GLint param);
extern void (APIENTRY *qglPixelTransferf)(GLenum pname, GLfloat param);
extern void (APIENTRY *qglPixelTransferi)(GLenum pname, GLint param);
extern void (APIENTRY *qglPixelZoom)(GLfloat xfactor, GLfloat yfactor);
extern void (APIENTRY *qglPointSize)(GLfloat size);
extern void (APIENTRY *qglPolygonMode)(GLenum face, GLenum mode);
extern void (APIENTRY *qglPolygonOffset)(GLfloat factor, GLfloat units);
extern void (APIENTRY *qglPolygonStipple)(const GLubyte *mask);
extern void (APIENTRY *qglPopAttrib)(void);
extern void (APIENTRY *qglPopClientAttrib)(void);
extern void (APIENTRY *qglPopMatrix)(void);
extern void (APIENTRY *qglPopName)(void);
extern void (APIENTRY *qglPrioritizeTextures)(GLsizei n, const GLuint *textures,
const GLclampf *priorities);
extern void (APIENTRY *qglPushAttrib)(GLbitfield mask);
extern void (APIENTRY *qglPushClientAttrib)(GLbitfield mask);
extern void (APIENTRY *qglPushMatrix)(void);
extern void (APIENTRY *qglPushName)(GLuint name);
extern void (APIENTRY *qglRasterPos2d)(GLdouble x, GLdouble y);
extern void (APIENTRY *qglRasterPos2dv)(const GLdouble *v);
extern void (APIENTRY *qglRasterPos2f)(GLfloat x, GLfloat y);
extern void (APIENTRY *qglRasterPos2fv)(const GLfloat *v);
extern void (APIENTRY *qglRasterPos2i)(GLint x, GLint y);
extern void (APIENTRY *qglRasterPos2iv)(const GLint *v);
extern void (APIENTRY *qglRasterPos2s)(GLshort x, GLshort y);
extern void (APIENTRY *qglRasterPos2sv)(const GLshort *v);
extern void (APIENTRY *qglRasterPos3d)(GLdouble x, GLdouble y, GLdouble z);
extern void (APIENTRY *qglRasterPos3dv)(const GLdouble *v);
extern void (APIENTRY *qglRasterPos3f)(GLfloat x, GLfloat y, GLfloat z);
extern void (APIENTRY *qglRasterPos3fv)(const GLfloat *v);
extern void (APIENTRY *qglRasterPos3i)(GLint x, GLint y, GLint z);
extern void (APIENTRY *qglRasterPos3iv)(const GLint *v);
extern void (APIENTRY *qglRasterPos3s)(GLshort x, GLshort y, GLshort z);
extern void (APIENTRY *qglRasterPos3sv)(const GLshort *v);
extern void (APIENTRY *qglRasterPos4d)(GLdouble x, GLdouble y, GLdouble z,
GLdouble w);
extern void (APIENTRY *qglRasterPos4dv)(const GLdouble *v);
extern void (APIENTRY *qglRasterPos4f)(GLfloat x, GLfloat y, GLfloat z,
GLfloat w);
extern void (APIENTRY *qglRasterPos4fv)(const GLfloat *v);
extern void (APIENTRY *qglRasterPos4i)(GLint x, GLint y, GLint z, GLint w);
extern void (APIENTRY *qglRasterPos4iv)(const GLint *v);
extern void (APIENTRY *qglRasterPos4s)(GLshort x, GLshort y, GLshort z,
GLshort w);
extern void (APIENTRY *qglRasterPos4sv)(const GLshort *v);
extern void (APIENTRY *qglReadBuffer)(GLenum mode);
extern void (APIENTRY *qglReadPixels)(GLint x, GLint y, GLsizei width,
GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
extern void (APIENTRY *qglRectd)(GLdouble x1, GLdouble y1, GLdouble x2,
GLdouble y2);
extern void (APIENTRY *qglRectdv)(const GLdouble *v1, const GLdouble *v2);
extern void (APIENTRY *qglRectf)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
extern void (APIENTRY *qglRectfv)(const GLfloat *v1, const GLfloat *v2);
extern void (APIENTRY *qglRecti)(GLint x1, GLint y1, GLint x2, GLint y2);
extern void (APIENTRY *qglRectiv)(const GLint *v1, const GLint *v2);
extern void (APIENTRY *qglRects)(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
extern void (APIENTRY *qglRectsv)(const GLshort *v1, const GLshort *v2);
extern GLint (APIENTRY *qglRenderMode)(GLenum mode);
extern void (APIENTRY *qglRotated)(GLdouble angle, GLdouble x, GLdouble y,
GLdouble z);
extern void (APIENTRY *qglRotatef)(GLfloat angle, GLfloat x, GLfloat y,
GLfloat z);
extern void (APIENTRY *qglScaled)(GLdouble x, GLdouble y, GLdouble z);
extern void (APIENTRY *qglScalef)(GLfloat x, GLfloat y, GLfloat z);
extern void (APIENTRY *qglScissor)(GLint x, GLint y, GLsizei width,
GLsizei height);
extern void (APIENTRY *qglSelectBuffer)(GLsizei size, GLuint *buffer);
extern void (APIENTRY *qglShadeModel)(GLenum mode);
extern void (APIENTRY *qglStencilFunc)(GLenum func, GLint ref, GLuint mask);
extern void (APIENTRY *qglStencilMask)(GLuint mask);
extern void (APIENTRY *qglStencilOp)(GLenum fail, GLenum zfail, GLenum zpass);
extern void (APIENTRY *qglTexCoord1d)(GLdouble s);
extern void (APIENTRY *qglTexCoord1dv)(const GLdouble *v);
extern void (APIENTRY *qglTexCoord1f)(GLfloat s);
extern void (APIENTRY *qglTexCoord1fv)(const GLfloat *v);
extern void (APIENTRY *qglTexCoord1i)(GLint s);
extern void (APIENTRY *qglTexCoord1iv)(const GLint *v);
extern void (APIENTRY *qglTexCoord1s)(GLshort s);
extern void (APIENTRY *qglTexCoord1sv)(const GLshort *v);
extern void (APIENTRY *qglTexCoord2d)(GLdouble s, GLdouble t);
extern void (APIENTRY *qglTexCoord2dv)(const GLdouble *v);
extern void (APIENTRY *qglTexCoord2f)(GLfloat s, GLfloat t);
extern void (APIENTRY *qglTexCoord2fv)(const GLfloat *v);
extern void (APIENTRY *qglTexCoord2i)(GLint s, GLint t);
extern void (APIENTRY *qglTexCoord2iv)(const GLint *v);
extern void (APIENTRY *qglTexCoord2s)(GLshort s, GLshort t);
extern void (APIENTRY *qglTexCoord2sv)(const GLshort *v);
extern void (APIENTRY *qglTexCoord3d)(GLdouble s, GLdouble t, GLdouble r);
extern void (APIENTRY *qglTexCoord3dv)(const GLdouble *v);
extern void (APIENTRY *qglTexCoord3f)(GLfloat s, GLfloat t, GLfloat r);
extern void (APIENTRY *qglTexCoord3fv)(const GLfloat *v);
extern void (APIENTRY *qglTexCoord3i)(GLint s, GLint t, GLint r);
extern void (APIENTRY *qglTexCoord3iv)(const GLint *v);
extern void (APIENTRY *qglTexCoord3s)(GLshort s, GLshort t, GLshort r);
extern void (APIENTRY *qglTexCoord3sv)(const GLshort *v);
extern void (APIENTRY *qglTexCoord4d)(GLdouble s, GLdouble t, GLdouble r,
GLdouble q);
extern void (APIENTRY *qglTexCoord4dv)(const GLdouble *v);
extern void (APIENTRY *qglTexCoord4f)(GLfloat s, GLfloat t, GLfloat r,
GLfloat q);
extern void (APIENTRY *qglTexCoord4fv)(const GLfloat *v);
extern void (APIENTRY *qglTexCoord4i)(GLint s, GLint t, GLint r, GLint q);
extern void (APIENTRY *qglTexCoord4iv)(const GLint *v);
extern void (APIENTRY *qglTexCoord4s)(GLshort s, GLshort t, GLshort r,
GLshort q);
extern void (APIENTRY *qglTexCoord4sv)(const GLshort *v);
extern void (APIENTRY *qglTexCoordPointer)(GLint size, GLenum type,
GLsizei stride, const GLvoid *pointer);
extern void (APIENTRY *qglTexEnvf)(GLenum target, GLenum pname, GLfloat param);
extern void (APIENTRY *qglTexEnvfv)(GLenum target, GLenum pname,
const GLfloat *params);
extern void (APIENTRY *qglTexEnvi)(GLenum target, GLenum pname, GLint param);
extern void (APIENTRY *qglTexEnviv)(GLenum target, GLenum pname,
const GLint *params);
extern void (APIENTRY *qglTexGend)(GLenum coord, GLenum pname, GLdouble param);
extern void (APIENTRY *qglTexGendv)(GLenum coord, GLenum pname,
const GLdouble *params);
extern void (APIENTRY *qglTexGenf)(GLenum coord, GLenum pname, GLfloat param);
extern void (APIENTRY *qglTexGenfv)(GLenum coord, GLenum pname,
const GLfloat *params);
extern void (APIENTRY *qglTexGeni)(GLenum coord, GLenum pname, GLint param);
extern void (APIENTRY *qglTexGeniv)(GLenum coord, GLenum pname,
const GLint *params);
extern void (APIENTRY *qglTexImage1D)(GLenum target, GLint level,
GLint internalformat, GLsizei width, GLint border, GLenum format,
GLenum type, const GLvoid *pixels);
extern void (APIENTRY *qglTexImage2D)(GLenum target, GLint level,
GLint internalformat, GLsizei width, GLsizei height, GLint border,
GLenum format, GLenum type, const GLvoid *pixels);
extern void (APIENTRY *qglTexParameterf)(GLenum target, GLenum pname,
GLfloat param);
extern void (APIENTRY *qglTexParameterfv)(GLenum target, GLenum pname,
const GLfloat *params);
extern void (APIENTRY *qglTexParameteri)(GLenum target, GLenum pname,
GLint param);
extern void (APIENTRY *qglTexParameteriv)(GLenum target, GLenum pname,
const GLint *params);
extern void (APIENTRY *qglTexSubImage1D)(GLenum target, GLint level,
GLint xoffset, GLsizei width, GLenum format, GLenum type,
const GLvoid *pixels);
extern void (APIENTRY *qglTexSubImage2D)(GLenum target, GLint level,
GLint xoffset, GLint yoffset, GLsizei width, GLsizei height,
GLenum format, GLenum type, const GLvoid *pixels);
extern void (APIENTRY *qglTranslated)(GLdouble x, GLdouble y, GLdouble z);
extern void (APIENTRY *qglTranslatef)(GLfloat x, GLfloat y, GLfloat z);
extern void (APIENTRY *qglVertex2d)(GLdouble x, GLdouble y);
extern void (APIENTRY *qglVertex2dv)(const GLdouble *v);
extern void (APIENTRY *qglVertex2f)(GLfloat x, GLfloat y);
extern void (APIENTRY *qglVertex2fv)(const GLfloat *v);
extern void (APIENTRY *qglVertex2i)(GLint x, GLint y);
extern void (APIENTRY *qglVertex2iv)(const GLint *v);
extern void (APIENTRY *qglVertex2s)(GLshort x, GLshort y);
extern void (APIENTRY *qglVertex2sv)(const GLshort *v);
extern void (APIENTRY *qglVertex3d)(GLdouble x, GLdouble y, GLdouble z);
extern void (APIENTRY *qglVertex3dv)(const GLdouble *v);
extern void (APIENTRY *qglVertex3f)(GLfloat x, GLfloat y, GLfloat z);
extern void (APIENTRY *qglVertex3fv)(const GLfloat *v);
extern void (APIENTRY *qglVertex3i)(GLint x, GLint y, GLint z);
extern void (APIENTRY *qglVertex3iv)(const GLint *v);
extern void (APIENTRY *qglVertex3s)(GLshort x, GLshort y, GLshort z);
extern void (APIENTRY *qglVertex3sv)(const GLshort *v);
extern void (APIENTRY *qglVertex4d)(GLdouble x, GLdouble y, GLdouble z,
GLdouble w);
extern void (APIENTRY *qglVertex4dv)(const GLdouble *v);
extern void (APIENTRY *qglVertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
extern void (APIENTRY *qglVertex4fv)(const GLfloat *v);
extern void (APIENTRY *qglVertex4i)(GLint x, GLint y, GLint z, GLint w);
extern void (APIENTRY *qglVertex4iv)(const GLint *v);
extern void (APIENTRY *qglVertex4s)(GLshort x, GLshort y, GLshort z, GLshort w);
extern void (APIENTRY *qglVertex4sv)(const GLshort *v);
extern void (APIENTRY *qglVertexPointer)(GLint size, GLenum type,
GLsizei stride, const GLvoid *pointer);
extern void (APIENTRY *qglViewport)(GLint x, GLint y, GLsizei width,
GLsizei height);
extern void (APIENTRY *qglPointParameterfEXT)(GLenum param, GLfloat value);
extern void (APIENTRY *qglPointParameterfvEXT)(GLenum param,
const GLfloat *value);
extern void (APIENTRY *qglColorTableEXT)(GLenum, GLenum, GLsizei, GLenum,
GLenum, const GLvoid *);
extern void (APIENTRY *qglLockArraysEXT)(int, int);
extern void (APIENTRY *qglUnlockArraysEXT)(void);
extern void (APIENTRY *qglMTexCoord2fSGIS)(GLenum, GLfloat, GLfloat);
extern void (APIENTRY *qglSelectTextureSGIS)(GLenum);
extern void (APIENTRY *qglActiveTextureARB)(GLenum);
extern void (APIENTRY *qglClientActiveTextureARB)(GLenum);
extern void *GetProcAddressGL(char *symbol);
extern void *(APIENTRY *qwglGetProcAddress)(char *symbol);
#ifdef _WIN32
extern int (WINAPI *qwglChoosePixelFormat)(HDC, CONST PIXELFORMATDESCRIPTOR *);
extern int (WINAPI *qwglDescribePixelFormat)(HDC, int, UINT,
LPPIXELFORMATDESCRIPTOR);
extern int (WINAPI *qwglGetPixelFormat)(HDC);
extern BOOL (WINAPI *qwglSetPixelFormat)(HDC, int,
CONST PIXELFORMATDESCRIPTOR *);
extern BOOL (WINAPI *qwglSwapBuffers)(HDC);
extern BOOL (WINAPI *qwglCopyContext)(HGLRC, HGLRC, UINT);
extern HGLRC (WINAPI *qwglCreateContext)(HDC);
extern HGLRC (WINAPI *qwglCreateLayerContext)(HDC, int);
extern BOOL (WINAPI *qwglDeleteContext)(HGLRC);
extern HGLRC (WINAPI *qwglGetCurrentContext)(VOID);
extern HDC (WINAPI *qwglGetCurrentDC)(VOID);
extern BOOL (WINAPI *qwglMakeCurrent)(HDC, HGLRC);
extern BOOL (WINAPI *qwglShareLists)(HGLRC, HGLRC);
extern BOOL (WINAPI *qwglUseFontBitmaps)(HDC, DWORD, DWORD, DWORD);
extern BOOL (WINAPI *qwglUseFontOutlines)(HDC, DWORD, DWORD, DWORD, FLOAT,
FLOAT, int, LPGLYPHMETRICSFLOAT);
extern BOOL (WINAPI *qwglDescribeLayerPlane)(HDC, int, int, UINT,
LPLAYERPLANEDESCRIPTOR);
extern int (WINAPI *qwglSetLayerPaletteEntries)(HDC, int, int, int,
CONST COLORREF *);
extern int (WINAPI *qwglGetLayerPaletteEntries)(HDC, int, int, int, COLORREF *);
extern BOOL (WINAPI *qwglRealizeLayerPalette)(HDC, int, BOOL);
extern BOOL (WINAPI *qwglSwapLayerBuffers)(HDC, UINT);
extern BOOL (WINAPI *qwglSwapIntervalEXT)(int interval);
extern BOOL (WINAPI *qwglGetDeviceGammaRampEXT)(unsigned char *pRed,
unsigned char *pGreen, unsigned char *pBlue);
extern BOOL (WINAPI *qwglSetDeviceGammaRampEXT)(const unsigned char *pRed,
const unsigned char *pGreen, const unsigned char *pBlue);
#else
/* local function in dll */
void Fake_glColorTableEXT(GLenum target, GLenum internalformat, GLsizei width,
GLenum format, GLenum type, const GLvoid *table);
#ifndef GL_EXT_texture_env_combine
#define GL_COMBINE_EXT 0x8570
#define GL_COMBINE_RGB_EXT 0x8571
#define GL_COMBINE_ALPHA_EXT 0x8572
#define GL_RGB_SCALE_EXT 0x8573
#define GL_ADD_SIGNED_EXT 0x8574
#define GL_INTERPOLATE_EXT 0x8575
#define GL_CONSTANT_EXT 0x8576
#define GL_PRIMARY_COLOR_EXT 0x8577
#define GL_PREVIOUS_EXT 0x8578
#define GL_SOURCE0_RGB_EXT 0x8580
#define GL_SOURCE1_RGB_EXT 0x8581
#define GL_SOURCE2_RGB_EXT 0x8582
#define GL_SOURCE3_RGB_EXT 0x8583
#define GL_SOURCE4_RGB_EXT 0x8584
#define GL_SOURCE5_RGB_EXT 0x8585
#define GL_SOURCE6_RGB_EXT 0x8586
#define GL_SOURCE7_RGB_EXT 0x8587
#define GL_SOURCE0_ALPHA_EXT 0x8588
#define GL_SOURCE1_ALPHA_EXT 0x8589
#define GL_SOURCE2_ALPHA_EXT 0x858A
#define GL_SOURCE3_ALPHA_EXT 0x858B
#define GL_SOURCE4_ALPHA_EXT 0x858C
#define GL_SOURCE5_ALPHA_EXT 0x858D
#define GL_SOURCE6_ALPHA_EXT 0x858E
#define GL_SOURCE7_ALPHA_EXT 0x858F
#define GL_OPERAND0_RGB_EXT 0x8590
#define GL_OPERAND1_RGB_EXT 0x8591
#define GL_OPERAND2_RGB_EXT 0x8592
#define GL_OPERAND3_RGB_EXT 0x8593
#define GL_OPERAND4_RGB_EXT 0x8594
#define GL_OPERAND5_RGB_EXT 0x8595
#define GL_OPERAND6_RGB_EXT 0x8596
#define GL_OPERAND7_RGB_EXT 0x8597
#define GL_OPERAND0_ALPHA_EXT 0x8598
#define GL_OPERAND1_ALPHA_EXT 0x8599
#define GL_OPERAND2_ALPHA_EXT 0x859A
#define GL_OPERAND3_ALPHA_EXT 0x859B
#define GL_OPERAND4_ALPHA_EXT 0x859C
#define GL_OPERAND5_ALPHA_EXT 0x859D
#define GL_OPERAND6_ALPHA_EXT 0x859E
#define GL_OPERAND7_ALPHA_EXT 0x859F
#endif
#define qglAccum glAccum
#define qglAlphaFunc glAlphaFunc
#define qglAreTexturesResident glAreTexturesResident
#define qglArrayElement glArrayElement
#define qglBegin glBegin
#define qglBindTexture glBindTexture
#define qglBitmap glBitmap
#define qglBlendFunc glBlendFunc
#define qglCallList glCallList
#define qglCallLists glCallLists
#define qglClear glClear
#define qglClearAccum glClearAccum
#define qglClearColor glClearColor
#define qglClearDepth glClearDepth
#define qglClearIndex glClearIndex
#define qglClearStencil glClearStencil
#define qglClipPlane glClipPlane
#define qglColor3b glColor3b
#define qglColor3bv glColor3bv
#define qglColor3d glColor3d
#define qglColor3dv glColor3dv
#define qglColor3f glColor3f
#define qglColor3fv glColor3fv
#define qglColor3i glColor3i
#define qglColor3iv glColor3iv
#define qglColor3s glColor3s
#define qglColor3sv glColor3sv
#define qglColor3ub glColor3ub
#define qglColor3ubv glColor3ubv
#define qglColor3ui glColor3ui
#define qglColor3uiv glColor3uiv
#define qglColor3us glColor3us
#define qglColor3usv glColor3usv
#define qglColor4b glColor4b
#define qglColor4bv glColor4bv
#define qglColor4d glColor4d
#define qglColor4dv glColor4dv
#define qglColor4f glColor4f
#define qglColor4fv glColor4fv
#define qglColor4i glColor4i
#define qglColor4iv glColor4iv
#define qglColor4s glColor4s
#define qglColor4sv glColor4sv
#define qglColor4ub glColor4ub
#define qglColor4ubv glColor4ubv
#define qglColor4ui glColor4ui
#define qglColor4uiv glColor4uiv
#define qglColor4us glColor4us
#define qglColor4usv glColor4usv
#define qglColorMask glColorMask
#define qglColorMaterial glColorMaterial
#define qglColorPointer glColorPointer
#define qglCopyPixels glCopyPixels
#define qglCopyTexImage1D glCopyTexImage1D
#define qglCopyTexImage2D glCopyTexImage2D
#define qglCopyTexSubImage1D glCopyTexSubImage1D
#define qglCopyTexSubImage2D glCopyTexSubImage2D
#define qglCullFace glCullFace
#define qglDeleteLists glDeleteLists
#define qglDeleteTextures glDeleteTextures
#define qglDepthFunc glDepthFunc
#define qglDepthMask glDepthMask
#define qglDepthRange glDepthRange
#define qglDisable glDisable
#define qglDisableClientState glDisableClientState
#define qglDrawArrays glDrawArrays
#define qglDrawBuffer glDrawBuffer
#define qglDrawElements glDrawElements
#define qglDrawPixels glDrawPixels
#define qglEdgeFlag glEdgeFlag
#define qglEdgeFlagPointer glEdgeFlagPointer
#define qglEdgeFlagv glEdgeFlagv
#define qglEnable glEnable
#define qglEnableClientState glEnableClientState
#define qglEnd glEnd
#define qglEndList glEndList
#define qglEvalCoord1d glEvalCoord1d
#define qglEvalCoord1dv glEvalCoord1dv
#define qglEvalCoord1f glEvalCoord1f
#define qglEvalCoord1fv glEvalCoord1fv
#define qglEvalCoord2d glEvalCoord2d
#define qglEvalCoord2dv glEvalCoord2dv
#define qglEvalCoord2f glEvalCoord2f
#define qglEvalCoord2fv glEvalCoord2fv
#define qglEvalMesh1 glEvalMesh1
#define qglEvalMesh2 glEvalMesh2
#define qglEvalPoint1 glEvalPoint1
#define qglEvalPoint2 glEvalPoint2
#define qglFeedbackBuffer glFeedbackBuffer
#define qglFinish glFinish
#define qglFlush glFlush
#define qglFogf glFogf
#define qglFogfv glFogfv
#define qglFogi glFogi
#define qglFogiv glFogiv
#define qglFrontFace glFrontFace
#define qglFrustum glFrustum
#define qglGenLists glGenLists
#define qglGenTextures glGenTextures
#define qglGetBooleanv glGetBooleanv
#define qglGetClipPlane glGetClipPlane
#define qglGetDoublev glGetDoublev
#define qglGetError glGetError
#define qglGetFloatv glGetFloatv
#define qglGetIntegerv glGetIntegerv
#define qglGetLightfv glGetLightfv
#define qglGetLightiv glGetLightiv
#define qglGetMapdv glGetMapdv
#define qglGetMapfv glGetMapfv
#define qglGetMapiv glGetMapiv
#define qglGetMaterialfv glGetMaterialfv
#define qglGetMaterialiv glGetMaterialiv
#define qglGetPixelMapfv glGetPixelMapfv
#define qglGetPixelMapuiv glGetPixelMapuiv
#define qglGetPixelMapusv glGetPixelMapusv
#define qglGetPointerv glGetPointerv
#define qglGetPolygonStipple glGetPolygonStipple
#define qglGetString glGetString
#define qglGetTexGendv glGetTexGendv
#define qglGetTexGenfv glGetTexGenfv
#define qglGetTexGeniv glGetTexGeniv
#define qglGetTexImage glGetTexImage
#define qglGetTexLevelParameterfv glGetTexLevelParameterfv
#define qglGetTexLevelParameteriv glGetTexLevelParameteriv
#define qglGetTexParameterfv glGetTexParameterfv
#define qglGetTexParameteriv glGetTexParameteriv
#define qglHint glHint
#define qglIndexMask glIndexMask
#define qglIndexPointer glIndexPointer
#define qglIndexd glIndexd
#define qglIndexdv glIndexdv
#define qglIndexf glIndexf
#define qglIndexfv glIndexfv
#define qglIndexi glIndexi
#define qglIndexiv glIndexiv
#define qglIndexs glIndexs
#define qglIndexsv glIndexsv
#define qglIndexub glIndexub
#define qglIndexubv glIndexubv
#define qglInitNames glInitNames
#define qglInterleavedArrays glInterleavedArrays
#define qglIsEnabled glIsEnabled
#define qglIsList glIsList
#define qglIsTexture glIsTexture
#define qglLightModelf glLightModelf
#define qglLightModelfv glLightModelfv
#define qglLightModeli glLightModeli
#define qglLightModeliv glLightModeliv
#define qglLightf glLightf
#define qglLightfv glLightfv
#define qglLighti glLighti
#define qglLightiv glLightiv
#define qglLineStipple glLineStipple
#define qglLineWidth glLineWidth
#define qglListBase glListBase
#define qglLoadIdentity glLoadIdentity
#define qglLoadMatrixd glLoadMatrixd
#define qglLoadMatrixf glLoadMatrixf
#define qglLoadName glLoadName
#define qglLogicOp glLogicOp
#define qglMap1d glMap1d
#define qglMap1f glMap1f
#define qglMap2d glMap2d
#define qglMap2f glMap2f
#define qglMapGrid1d glMapGrid1d
#define qglMapGrid1f glMapGrid1f
#define qglMapGrid2d glMapGrid2d
#define qglMapGrid2f glMapGrid2f
#define qglMaterialf glMaterialf
#define qglMaterialfv glMaterialfv
#define qglMateriali glMateriali
#define qglMaterialiv glMaterialiv
#define qglMatrixMode glMatrixMode
#define qglMultMatrixd glMultMatrixd
#define qglMultMatrixf glMultMatrixf
#define qglNewList glNewList
#define qglNormal3b glNormal3b
#define qglNormal3bv glNormal3bv
#define qglNormal3d glNormal3d
#define qglNormal3dv glNormal3dv
#define qglNormal3f glNormal3f
#define qglNormal3fv glNormal3fv
#define qglNormal3i glNormal3i
#define qglNormal3iv glNormal3iv
#define qglNormal3s glNormal3s
#define qglNormal3sv glNormal3sv
#define qglNormalPointer glNormalPointer
#define qglOrtho glOrtho
#define qglPassThrough glPassThrough
#define qglPixelMapfv glPixelMapfv
#define qglPixelMapuiv glPixelMapuiv
#define qglPixelMapusv glPixelMapusv
#define qglPixelStoref glPixelStoref
#define qglPixelStorei glPixelStorei
#define qglPixelTransferf glPixelTransferf
#define qglPixelTransferi glPixelTransferi
#define qglPixelZoom glPixelZoom
#define qglPointSize glPointSize
#define qglPolygonMode glPolygonMode
#define qglPolygonOffset glPolygonOffset
#define qglPolygonStipple glPolygonStipple
#define qglPopAttrib glPopAttrib
#define qglPopClientAttrib glPopClientAttrib
#define qglPopMatrix glPopMatrix
#define qglPopName glPopName
#define qglPrioritizeTextures glPrioritizeTextures
#define qglPushAttrib glPushAttrib
#define qglPushClientAttrib glPushClientAttrib
#define qglPushMatrix glPushMatrix
#define qglPushName glPushName
#define qglRasterPos2d glRasterPos2d
#define qglRasterPos2dv glRasterPos2dv
#define qglRasterPos2f glRasterPos2f
#define qglRasterPos2fv glRasterPos2fv
#define qglRasterPos2i glRasterPos2i
#define qglRasterPos2iv glRasterPos2iv
#define qglRasterPos2s glRasterPos2s
#define qglRasterPos2sv glRasterPos2sv
#define qglRasterPos3d glRasterPos3d
#define qglRasterPos3dv glRasterPos3dv
#define qglRasterPos3f glRasterPos3f
#define qglRasterPos3fv glRasterPos3fv
#define qglRasterPos3i glRasterPos3i
#define qglRasterPos3iv glRasterPos3iv
#define qglRasterPos3s glRasterPos3s
#define qglRasterPos3sv glRasterPos3sv
#define qglRasterPos4d glRasterPos4d
#define qglRasterPos4dv glRasterPos4dv
#define qglRasterPos4f glRasterPos4f
#define qglRasterPos4fv glRasterPos4fv
#define qglRasterPos4i glRasterPos4i
#define qglRasterPos4iv glRasterPos4iv
#define qglRasterPos4s glRasterPos4s
#define qglRasterPos4sv glRasterPos4sv
#define qglReadBuffer glReadBuffer
#define qglReadPixels glReadPixels
#define qglRectd glRectd
#define qglRectdv glRectdv
#define qglRectf glRectf
#define qglRectfv glRectfv
#define qglRecti glRecti
#define qglRectiv glRectiv
#define qglRects glRects
#define qglRectsv glRectsv
#define qglRenderMode glRenderMode
#define qglRotated glRotated
#define qglRotatef glRotatef
#define qglScaled glScaled
#define qglScalef glScalef
#define qglScissor glScissor
#define qglSelectBuffer glSelectBuffer
#define qglShadeModel glShadeModel
#define qglStencilFunc glStencilFunc
#define qglStencilMask glStencilMask
#define qglStencilOp glStencilOp
#define qglTexCoord1d glTexCoord1d
#define qglTexCoord1dv glTexCoord1dv
#define qglTexCoord1f glTexCoord1f
#define qglTexCoord1fv glTexCoord1fv
#define qglTexCoord1i glTexCoord1i
#define qglTexCoord1iv glTexCoord1iv
#define qglTexCoord1s glTexCoord1s
#define qglTexCoord1sv glTexCoord1sv
#define qglTexCoord2d glTexCoord2d
#define qglTexCoord2dv glTexCoord2dv
#define qglTexCoord2f glTexCoord2f
#define qglTexCoord2fv glTexCoord2fv
#define qglTexCoord2i glTexCoord2i
#define qglTexCoord2iv glTexCoord2iv
#define qglTexCoord2s glTexCoord2s
#define qglTexCoord2sv glTexCoord2sv
#define qglTexCoord3d glTexCoord3d
#define qglTexCoord3dv glTexCoord3dv
#define qglTexCoord3f glTexCoord3f
#define qglTexCoord3fv glTexCoord3fv
#define qglTexCoord3i glTexCoord3i
#define qglTexCoord3iv glTexCoord3iv
#define qglTexCoord3s glTexCoord3s
#define qglTexCoord3sv glTexCoord3sv
#define qglTexCoord4d glTexCoord4d
#define qglTexCoord4dv glTexCoord4dv
#define qglTexCoord4f glTexCoord4f
#define qglTexCoord4fv glTexCoord4fv
#define qglTexCoord4i glTexCoord4i
#define qglTexCoord4iv glTexCoord4iv
#define qglTexCoord4s glTexCoord4s
#define qglTexCoord4sv glTexCoord4sv
#define qglTexCoordPointer glTexCoordPointer
#define qglTexEnvf glTexEnvf
#define qglTexEnvfv glTexEnvfv
#define qglTexEnvi glTexEnvi
#define qglTexEnviv glTexEnviv
#define qglTexGend glTexGend
#define qglTexGendv glTexGendv
#define qglTexGenf glTexGenf
#define qglTexGenfv glTexGenfv
#define qglTexGeni glTexGeni
#define qglTexGeniv glTexGeniv
#define qglTexImage1D glTexImage1D
#define qglTexImage2D glTexImage2D
#define qglTexParameterf glTexParameterf
#define qglTexParameterfv glTexParameterfv
#define qglTexParameteri glTexParameteri
#define qglTexParameteriv glTexParameteriv
#define qglTexSubImage1D glTexSubImage1D
#define qglTexSubImage2D glTexSubImage2D
#define qglTranslated glTranslated
#define qglTranslatef glTranslatef
#define qglVertex2d glVertex2d
#define qglVertex2dv glVertex2dv
#define qglVertex2f glVertex2f
#define qglVertex2fv glVertex2fv
#define qglVertex2i glVertex2i
#define qglVertex2iv glVertex2iv
#define qglVertex2s glVertex2s
#define qglVertex2sv glVertex2sv
#define qglVertex3d glVertex3d
#define qglVertex3dv glVertex3dv
#define qglVertex3f glVertex3f
#define qglVertex3fv glVertex3fv
#define qglVertex3i glVertex3i
#define qglVertex3iv glVertex3iv
#define qglVertex3s glVertex3s
#define qglVertex3sv glVertex3sv
#define qglVertex4d glVertex4d
#define qglVertex4dv glVertex4dv
#define qglVertex4f glVertex4f
#define qglVertex4fv glVertex4fv
#define qglVertex4i glVertex4i
#define qglVertex4iv glVertex4iv
#define qglVertex4s glVertex4s
#define qglVertex4sv glVertex4sv
#define qglVertexPointer glVertexPointer
#define qglViewport glViewport
/* QGL main functions */
/*
* This is responsible for setting up our QGL extension pointers
*/
qboolean QGL_Init ( void );
/*
* Unloads the specified DLL then nulls out all the proc pointers.
*/
void QGL_Shutdown ( void );
/*
* Special case function to return addresses of non
* base functions in libGL.
*/
void * QGL_GetProcAddress ( char *proc );
/* GL extensions */
extern void ( APIENTRY *qglPointParameterfEXT ) ( GLenum param, GLfloat value );
extern void ( APIENTRY *qglPointParameterfvEXT ) ( GLenum param,
const GLfloat *value );
extern void ( APIENTRY *qglColorTableEXT ) ( GLenum, GLenum, GLsizei, GLenum,
GLenum, const GLvoid * );
extern void ( APIENTRY *qglLockArraysEXT ) ( int, int );
extern void ( APIENTRY *qglUnlockArraysEXT ) ( void );
extern void ( APIENTRY *qglMTexCoord2fSGIS ) ( GLenum, GLfloat, GLfloat );
extern void ( APIENTRY *qglSelectTextureSGIS ) ( GLenum );
extern void ( APIENTRY *qglActiveTextureARB ) ( GLenum );
extern void ( APIENTRY *qglClientActiveTextureARB ) ( GLenum );
extern int QGL_TEXTURE0, QGL_TEXTURE1;
#ifndef GL_EXT_texture_env_combine
#define GL_COMBINE_EXT 0x8570
#define GL_COMBINE_RGB_EXT 0x8571
#define GL_COMBINE_ALPHA_EXT 0x8572
#define GL_RGB_SCALE_EXT 0x8573
#define GL_ADD_SIGNED_EXT 0x8574
#define GL_INTERPOLATE_EXT 0x8575
#define GL_CONSTANT_EXT 0x8576
#define GL_PRIMARY_COLOR_EXT 0x8577
#define GL_PREVIOUS_EXT 0x8578
#define GL_SOURCE0_RGB_EXT 0x8580
#define GL_SOURCE1_RGB_EXT 0x8581
#define GL_SOURCE2_RGB_EXT 0x8582
#define GL_SOURCE3_RGB_EXT 0x8583
#define GL_SOURCE4_RGB_EXT 0x8584
#define GL_SOURCE5_RGB_EXT 0x8585
#define GL_SOURCE6_RGB_EXT 0x8586
#define GL_SOURCE7_RGB_EXT 0x8587
#define GL_SOURCE0_ALPHA_EXT 0x8588
#define GL_SOURCE1_ALPHA_EXT 0x8589
#define GL_SOURCE2_ALPHA_EXT 0x858A
#define GL_SOURCE3_ALPHA_EXT 0x858B
#define GL_SOURCE4_ALPHA_EXT 0x858C
#define GL_SOURCE5_ALPHA_EXT 0x858D
#define GL_SOURCE6_ALPHA_EXT 0x858E
#define GL_SOURCE7_ALPHA_EXT 0x858F
#define GL_OPERAND0_RGB_EXT 0x8590
#define GL_OPERAND1_RGB_EXT 0x8591
#define GL_OPERAND2_RGB_EXT 0x8592
#define GL_OPERAND3_RGB_EXT 0x8593
#define GL_OPERAND4_RGB_EXT 0x8594
#define GL_OPERAND5_RGB_EXT 0x8595
#define GL_OPERAND6_RGB_EXT 0x8596
#define GL_OPERAND7_RGB_EXT 0x8597
#define GL_OPERAND0_ALPHA_EXT 0x8598
#define GL_OPERAND1_ALPHA_EXT 0x8599
#define GL_OPERAND2_ALPHA_EXT 0x859A
#define GL_OPERAND3_ALPHA_EXT 0x859B
#define GL_OPERAND4_ALPHA_EXT 0x859C
#define GL_OPERAND5_ALPHA_EXT 0x859D
#define GL_OPERAND6_ALPHA_EXT 0x859E
#define GL_OPERAND7_ALPHA_EXT 0x859F
#endif
#endif

File diff suppressed because it is too large Load Diff

View File

@ -26,7 +26,6 @@
*/
#include "../../refresh/header/local.h"
#include "../generic/header/glwindow.h"
#if defined(__APPLE__)
#include <OpenGL/gl.h>
#else
@ -53,7 +52,6 @@
#endif
SDL_Surface *surface;
glwstate_t glw_state;
qboolean have_stencil = false;
char *displayname = NULL;
@ -88,6 +86,15 @@ GLimp_Init(void)
return true;
}
/*
* Returns the adress of a GL function
*/
void *
GLimp_GetProcAddress (const char* proc)
{
return SDL_GL_GetProcAddress ( proc );
}
/*
* Sets the window icon
*/

View File

@ -37,7 +37,6 @@ extern cvar_t *vid_gamma;
extern cvar_t *scr_viewsize;
static cvar_t *gl_mode;
static cvar_t *gl_driver;
static cvar_t *gl_picmip;
static cvar_t *gl_ext_palettedtexture;
@ -217,11 +216,6 @@ VID_MenuInit(void)
0
};
if (!gl_driver)
{
gl_driver = Cvar_Get("gl_driver", LIBGL, 0);
}
if (!gl_picmip)
{
gl_picmip = Cvar_Get("gl_picmip", "0", 0);

View File

@ -211,7 +211,6 @@ extern cvar_t *gl_customheight;
extern cvar_t *gl_retexturing;
#endif
extern cvar_t *gl_log;
extern cvar_t *gl_lightmap;
extern cvar_t *gl_shadows;
extern cvar_t *gl_stencilshadow;
@ -235,7 +234,6 @@ extern cvar_t *gl_modulate;
extern cvar_t *gl_playermip;
extern cvar_t *gl_drawbuffer;
extern cvar_t *gl_3dlabs_broken;
extern cvar_t *gl_driver;
extern cvar_t *gl_swapinterval;
extern cvar_t *gl_anisotropic;
extern cvar_t *gl_anisotropic_avail;
@ -399,12 +397,25 @@ typedef struct
extern glconfig_t gl_config;
extern glstate_t gl_state;
void GLimp_BeginFrame(float camera_separation);
/*
* Initializes the SDL OpenGL context
*/
int GLimp_Init(void);
/*
* Shuts the SDL render backend down
*/
void GLimp_Shutdown(void);
/*
* Changes the video mode
*/
int GLimp_SetMode(int *pwidth, int *pheight, int mode, qboolean fullscreen);
void GLimp_AppActivate(qboolean active);
void GLimp_EnableLogging(qboolean enable);
void GLimp_LogNewFrame(void);
/*
* Returns the address of the GL function proc,
* or NULL if the function is not found.
*/
void *GLimp_GetProcAddress (const char* proc);
#endif

View File

@ -105,10 +105,8 @@ cvar_t *gl_ext_pointparameters;
cvar_t *gl_ext_compiled_vertex_array;
cvar_t *gl_ext_mtexcombine;
cvar_t *gl_log;
cvar_t *gl_bitdepth;
cvar_t *gl_drawbuffer;
cvar_t *gl_driver;
cvar_t *gl_lightmap;
cvar_t *gl_shadows;
cvar_t *gl_stencilshadow;
@ -974,7 +972,6 @@ R_Register(void)
gl_particle_att_c = Cvar_Get("gl_particle_att_c", "0.01", CVAR_ARCHIVE);
gl_modulate = Cvar_Get("gl_modulate", "1", CVAR_ARCHIVE);
gl_log = Cvar_Get("gl_log", "0", 0);
gl_bitdepth = Cvar_Get("gl_bitdepth", "0", 0);
gl_mode = Cvar_Get("gl_mode", "4", CVAR_ARCHIVE);
gl_lightmap = Cvar_Get("gl_lightmap", "0", 0);
@ -994,7 +991,6 @@ R_Register(void)
gl_polyblend = Cvar_Get("gl_polyblend", "1", 0);
gl_flashblend = Cvar_Get("gl_flashblend", "0", 0);
gl_playermip = Cvar_Get("gl_playermip", "0", 0);
gl_driver = Cvar_Get("gl_driver", LIBGL, CVAR_ARCHIVE);
gl_texturemode = Cvar_Get("gl_texturemode", "GL_LINEAR_MIPMAP_NEAREST", CVAR_ARCHIVE);
gl_texturealphamode = Cvar_Get("gl_texturealphamode", "default", CVAR_ARCHIVE);
@ -1128,13 +1124,7 @@ R_Init(void *hinstance, void *hWnd)
R_Register();
/* initialize our QGL dynamic bindings */
if (!QGL_Init(gl_driver->string))
{
QGL_Shutdown();
VID_Printf(PRINT_ALL, "ref_gl::R_Init() - could not load \"%s\"\n",
gl_driver->string);
return -1;
}
QGL_Init();
/* initialize OS-specific parts of OpenGL */
if (!GLimp_Init())
@ -1183,8 +1173,8 @@ R_Init(void *hinstance, void *hWnd)
strstr(gl_config.extensions_string, "GL_SGI_compiled_vertex_array"))
{
VID_Printf(PRINT_ALL, "...using GL_EXT_compiled_vertex_array\n");
qglLockArraysEXT = (void *)GetProcAddressGL("glLockArraysEXT");
qglUnlockArraysEXT = (void *)GetProcAddressGL("glUnlockArraysEXT");
qglLockArraysEXT = ( void * ) QGL_GetProcAddress ( "glLockArraysEXT" );
qglUnlockArraysEXT = ( void * ) QGL_GetProcAddress ( "glUnlockArraysEXT" );
}
else
{
@ -1197,9 +1187,9 @@ R_Init(void *hinstance, void *hWnd)
{
VID_Printf(PRINT_ALL, "...using GL_EXT_point_parameters\n");
qglPointParameterfEXT = (void (APIENTRY *)(GLenum, GLfloat))
GetProcAddressGL("glPointParameterfEXT");
QGL_GetProcAddress ( "glPointParameterfEXT" );
qglPointParameterfvEXT = (void (APIENTRY *)(GLenum, const GLfloat *))
GetProcAddressGL("glPointParameterfvEXT");
QGL_GetProcAddress ( "glPointParameterfvEXT" );
}
else
{
@ -1220,7 +1210,7 @@ R_Init(void *hinstance, void *hWnd)
VID_Printf(PRINT_ALL, "...using GL_EXT_shared_texture_palette\n");
qglColorTableEXT =
(void (APIENTRY *)(GLenum, GLenum, GLsizei, GLenum, GLenum,
const GLvoid *))GetProcAddressGL(
const GLvoid * ) ) QGL_GetProcAddress (
"glColorTableEXT");
}
else
@ -1238,9 +1228,9 @@ R_Init(void *hinstance, void *hWnd)
if (gl_ext_multitexture->value)
{
VID_Printf(PRINT_ALL, "...using GL_ARB_multitexture\n");
qglMTexCoord2fSGIS = (void *)GetProcAddressGL("glMultiTexCoord2fARB");
qglActiveTextureARB = (void *)GetProcAddressGL("glActiveTextureARB");
qglClientActiveTextureARB = (void *)GetProcAddressGL("glClientActiveTextureARB");
qglMTexCoord2fSGIS = ( void * ) QGL_GetProcAddress ( "glMultiTexCoord2fARB" );
qglActiveTextureARB = ( void * ) QGL_GetProcAddress ( "glActiveTextureARB" );
qglClientActiveTextureARB = ( void * ) QGL_GetProcAddress ( "glClientActiveTextureARB" );
QGL_TEXTURE0 = GL_TEXTURE0_ARB;
QGL_TEXTURE1 = GL_TEXTURE1_ARB;
}
@ -1263,8 +1253,8 @@ R_Init(void *hinstance, void *hWnd)
else if (gl_ext_multitexture->value)
{
VID_Printf(PRINT_ALL, "...using GL_SGIS_multitexture\n");
qglMTexCoord2fSGIS = (void *)GetProcAddressGL("glMTexCoord2fSGIS");
qglSelectTextureSGIS = (void *)GetProcAddressGL("glSelectTextureSGIS");
qglMTexCoord2fSGIS = ( void * ) QGL_GetProcAddress ( "glMTexCoord2fSGIS" );
qglSelectTextureSGIS = ( void * ) QGL_GetProcAddress ( "glSelectTextureSGIS" );
QGL_TEXTURE0 = GL_TEXTURE0_SGIS;
QGL_TEXTURE1 = GL_TEXTURE1_SGIS;
}
@ -1383,17 +1373,6 @@ R_BeginFrame(float camera_separation)
vid_fullscreen->modified = true;
}
if (gl_log->modified)
{
GLimp_EnableLogging(gl_log->value);
gl_log->modified = false;
}
if (gl_log->value)
{
GLimp_LogNewFrame();
}
if (vid_gamma->modified)
{
vid_gamma->modified = false;