2 ===========================================================================
3 Copyright (C) 1997-2006 Id Software, Inc.
5 This file is part of Quake 2 Tools source code.
7 Quake 2 Tools 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.
12 Quake 2 Tools 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.
17 You should have received a copy of the GNU General Public License
18 along with Quake 2 Tools source code; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20 ===========================================================================
23 // This .h file contains constants, typedefs, etc. for Intergraph
24 // extensions to OpenGL. These extensions are:
26 // Multiple Palette Extension
27 // Texture Object Extension
29 #define GL_INGR_multiple_palette 1
30 #define GL_EXT_texture_object 1
33 // New constants and typedefs for the Multiple Palette Extension
34 #define GL_PALETTE_INGR 0x80c0
35 #define GL_MAX_PALETTES_INGR 0x80c1
36 #define GL_MAX_PALETTE_ENTRIES_INGR 0x80c2
37 #define GL_CURRENT_PALETTE_INGR 0x80c3
38 #define GL_PALETTE_WRITEMASK_INGR 0x80c4
39 #define GL_CURRENT_RASTER_PALETTE_INGR 0x80c5
40 #define GL_PALETTE_CLEAR_VALUE_INGR 0x80c6
42 // Function prototypes for the Multiple Palette Extension routines
43 typedef void (APIENTRY *PALETTEFUNCPTR)(GLuint);
44 typedef void (APIENTRY *PALETTEMASKFUNCPTR)(GLboolean);
45 typedef void (APIENTRY *WGLLOADPALETTEFUNCPTR)(GLuint, GLsizei, GLuint *);
46 typedef void (APIENTRY *CLEARPALETTEFUNCPTR)(GLuint);
49 // New Constants and typedefs for the Texture Object Extension
50 #define GL_TEXTURE_PRIORITY_EXT 0x8066
51 #define GL_TEXTURE_RESIDENT_EXT 0x8067
52 #define GL_TEXTURE_1D_BINDING_EXT 0x8068
53 #define GL_TEXTURE_2D_BINDING_EXT 0x8069
55 // Function prototypes for the Texture Object Extension routines
56 typedef GLboolean (APIENTRY *ARETEXRESFUNCPTR)(GLsizei, const GLuint *,
58 typedef void (APIENTRY *BINDTEXFUNCPTR)(GLenum, GLuint);
59 typedef void (APIENTRY *DELTEXFUNCPTR)(GLsizei, const GLuint *);
60 typedef void (APIENTRY *GENTEXFUNCPTR)(GLsizei, GLuint *);
61 typedef GLboolean (APIENTRY *ISTEXFUNCPTR)(GLuint);
62 typedef void (APIENTRY *PRIORTEXFUNCPTR)(GLsizei, const GLuint *,
66 /* OpenGL ExtEscape escape function constants */
67 #ifndef OPENGL_GETINFO
68 #define OPENGL_GETINFO 4353 /* for OpenGL ExtEscape */
71 // OPENGL_GETINFO ExtEscape sub-escape numbers. They are defined by
74 #ifndef OPENGL_GETINFO_DRVNAME
76 #define OPENGL_GETINFO_DRVNAME 0
79 // Input structure for OPENGL_GETINFO ExtEscape.
81 typedef struct _OPENGLGETINFO
84 } OPENGLGETINFO, *POPENGLGETINFO;
87 // Output structure for OPENGL_GETINFO_DRVNAME ExtEscape.
89 typedef struct _GLDRVNAMERET
91 ULONG ulVersion; // must be 1 for this version
92 ULONG ulDriverVersion; // driver specific version number
93 WCHAR awch[MAX_PATH+1];
94 } GLDRVNAMERET, *PGLDRVNAMERET;