2011-11-22 21:28:15 +00:00
|
|
|
/*
|
|
|
|
===========================================================================
|
|
|
|
|
|
|
|
Doom 3 GPL Source Code
|
2011-12-06 18:20:15 +00:00
|
|
|
Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
|
2011-11-22 21:28:15 +00:00
|
|
|
|
2011-12-06 16:14:59 +00:00
|
|
|
This file is part of the Doom 3 GPL Source Code ("Doom 3 Source Code").
|
2011-11-22 21:28:15 +00:00
|
|
|
|
|
|
|
Doom 3 Source Code 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 3 of the License, or
|
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
Doom 3 Source Code 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 Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
|
|
|
|
|
|
|
|
If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
|
|
|
|
|
|
|
|
===========================================================================
|
|
|
|
*/
|
|
|
|
/*
|
|
|
|
** QGL.H
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __QGL_H__
|
|
|
|
#define __QGL_H__
|
|
|
|
|
2012-01-04 18:58:36 +00:00
|
|
|
#include <SDL_opengl.h>
|
2011-11-22 21:28:15 +00:00
|
|
|
|
|
|
|
typedef void (*GLExtension_t)(void);
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
GLExtension_t GLimp_ExtensionPointer( const char *name );
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2012-07-18 22:41:19 +00:00
|
|
|
// declare qgl functions
|
|
|
|
#define QGLPROC(name, rettype, args) extern rettype (APIENTRYP q##name) args;
|
|
|
|
#include "renderer/qgl_proc.h"
|
|
|
|
|
2011-11-22 21:28:15 +00:00
|
|
|
// multitexture
|
|
|
|
extern void ( APIENTRY * qglMultiTexCoord2fARB )( GLenum texture, GLfloat s, GLfloat t );
|
|
|
|
extern void ( APIENTRY * qglMultiTexCoord2fvARB )( GLenum texture, GLfloat *st );
|
|
|
|
extern void ( APIENTRY * qglActiveTextureARB )( GLenum texture );
|
|
|
|
extern void ( APIENTRY * qglClientActiveTextureARB )( GLenum texture );
|
|
|
|
|
|
|
|
// ARB_vertex_buffer_object
|
|
|
|
extern PFNGLBINDBUFFERARBPROC qglBindBufferARB;
|
|
|
|
extern PFNGLDELETEBUFFERSARBPROC qglDeleteBuffersARB;
|
|
|
|
extern PFNGLGENBUFFERSARBPROC qglGenBuffersARB;
|
|
|
|
extern PFNGLISBUFFERARBPROC qglIsBufferARB;
|
|
|
|
extern PFNGLBUFFERDATAARBPROC qglBufferDataARB;
|
|
|
|
extern PFNGLBUFFERSUBDATAARBPROC qglBufferSubDataARB;
|
|
|
|
extern PFNGLGETBUFFERSUBDATAARBPROC qglGetBufferSubDataARB;
|
|
|
|
extern PFNGLMAPBUFFERARBPROC qglMapBufferARB;
|
|
|
|
extern PFNGLUNMAPBUFFERARBPROC qglUnmapBufferARB;
|
|
|
|
extern PFNGLGETBUFFERPARAMETERIVARBPROC qglGetBufferParameterivARB;
|
|
|
|
extern PFNGLGETBUFFERPOINTERVARBPROC qglGetBufferPointervARB;
|
|
|
|
|
|
|
|
// 3D textures
|
|
|
|
extern void ( APIENTRY *qglTexImage3D)(GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
|
|
|
|
|
|
|
|
// shared texture palette
|
|
|
|
extern void ( APIENTRY *qglColorTableEXT)( int, int, int, int, int, const void * );
|
|
|
|
|
|
|
|
// EXT_stencil_two_side
|
|
|
|
extern PFNGLACTIVESTENCILFACEEXTPROC qglActiveStencilFaceEXT;
|
|
|
|
|
|
|
|
// ARB_texture_compression
|
|
|
|
extern PFNGLCOMPRESSEDTEXIMAGE2DARBPROC qglCompressedTexImage2DARB;
|
|
|
|
extern PFNGLGETCOMPRESSEDTEXIMAGEARBPROC qglGetCompressedTexImageARB;
|
|
|
|
|
|
|
|
// ARB_vertex_program / ARB_fragment_program
|
|
|
|
extern PFNGLVERTEXATTRIBPOINTERARBPROC qglVertexAttribPointerARB;
|
|
|
|
extern PFNGLENABLEVERTEXATTRIBARRAYARBPROC qglEnableVertexAttribArrayARB;
|
|
|
|
extern PFNGLDISABLEVERTEXATTRIBARRAYARBPROC qglDisableVertexAttribArrayARB;
|
|
|
|
extern PFNGLPROGRAMSTRINGARBPROC qglProgramStringARB;
|
|
|
|
extern PFNGLBINDPROGRAMARBPROC qglBindProgramARB;
|
|
|
|
extern PFNGLGENPROGRAMSARBPROC qglGenProgramsARB;
|
|
|
|
extern PFNGLPROGRAMENVPARAMETER4FVARBPROC qglProgramEnvParameter4fvARB;
|
|
|
|
extern PFNGLPROGRAMLOCALPARAMETER4FVARBPROC qglProgramLocalParameter4fvARB;
|
|
|
|
|
|
|
|
// GL_EXT_depth_bounds_test
|
|
|
|
extern PFNGLDEPTHBOUNDSEXTPROC qglDepthBoundsEXT;
|
|
|
|
|
|
|
|
#endif
|