git-svn-id: https://scorched3d.svn.sourceforge.net/svnroot/scorched3d/trunk/scorched...
[scorched3d/parasti.git] / src / client / GLEXT / GLMissingExt.h
blob318cb27f1420ecadd3a773728e7f8bbaf0e929cc
1 ////////////////////////////////////////////////////////////////////////////////
2 // Scorched3D (c) 2000-2009
3 //
4 // This file is part of Scorched3D.
5 //
6 // Scorched3D is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License as published by
8 // the Free Software Foundation; either version 2 of the License, or
9 // (at your option) any later version.
11 // Scorched3D is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License
17 // along with Scorched3D; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 ////////////////////////////////////////////////////////////////////////////////
21 #if !defined(AFX_GLMISSINGEXT_H__9DA92C48_B9A4_4517_AB9F_55141CCDA817__INCLUDED_)
22 #define AFX_GLMISSINGEXT_H__9DA92C48_B9A4_4517_AB9F_55141CCDA817__INCLUDED_
24 // Some newer official GL extensions that may not have made it into the SDL
25 // implementation yet
27 #ifndef GL_COMBINE_ARB
28 #define GL_COMBINE_ARB 0x8570
29 #endif
31 #ifndef GL_RGB_SCALE_ARB
32 #define GL_RGB_SCALE_ARB 0x8573
33 #endif
35 #ifndef GL_NV_texture_rectangle
36 #define GL_TEXTURE_RECTANGLE_NV 0x84F5
37 #define GL_TEXTURE_BINDING_RECTANGLE_NV 0x84F6
38 #define GL_PROXY_TEXTURE_RECTANGLE_NV 0x84F7
39 #define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8
40 #endif
42 #ifndef GL_ARB_depth_texture
43 #define GL_DEPTH_COMPONENT16_ARB 0x81A5
44 #define GL_DEPTH_COMPONENT24_ARB 0x81A6
45 #define GL_DEPTH_COMPONENT32_ARB 0x81A7
46 #define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A
47 #define GL_DEPTH_TEXTURE_MODE_ARB 0x884B
48 #endif
50 #ifndef GL_ARB_shadow
51 #define GL_TEXTURE_COMPARE_MODE_ARB 0x884C
52 #define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D
53 #define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E
54 #endif
56 #ifndef GL_EXT_framebuffer_object
57 #define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506
58 #define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8
59 #define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6
60 #define GL_RENDERBUFFER_BINDING_EXT 0x8CA7
61 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0
62 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1
63 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2
64 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3
65 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4
66 #define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5
67 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6
68 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7
69 #define GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT 0x8CD8
70 #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9
71 #define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA
72 #define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB
73 #define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC
74 #define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD
75 #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF
76 #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0
77 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1
78 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2
79 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3
80 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4
81 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5
82 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6
83 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7
84 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8
85 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9
86 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA
87 #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB
88 #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC
89 #define GL_COLOR_ATTACHMENT13_EXT 0x8CED
90 #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE
91 #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF
92 #define GL_DEPTH_ATTACHMENT_EXT 0x8D00
93 #define GL_STENCIL_ATTACHMENT_EXT 0x8D20
94 #define GL_FRAMEBUFFER_EXT 0x8D40
95 #define GL_RENDERBUFFER_EXT 0x8D41
96 #define GL_RENDERBUFFER_WIDTH_EXT 0x8D42
97 #define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43
98 #define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44
99 #define GL_STENCIL_INDEX_EXT 0x8D45
100 #define GL_STENCIL_INDEX1_EXT 0x8D46
101 #define GL_STENCIL_INDEX4_EXT 0x8D47
102 #define GL_STENCIL_INDEX8_EXT 0x8D48
103 #define GL_STENCIL_INDEX16_EXT 0x8D49
104 #define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50
105 #define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51
106 #define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52
107 #define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53
108 #define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54
109 #define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55
110 #endif
112 #ifndef GL_ARRAY_BUFFER_ARB
113 #define GL_ARRAY_BUFFER_ARB 0x8892
114 #define GL_STATIC_DRAW_ARB 0x88E4
115 #define GL_DYNAMIC_DRAW_ARB 0x88E8
116 #define GL_WRITE_ONLY_ARB 0x88B9
117 #endif
119 #ifndef GL_EXT_framebuffer_object
120 #define GL_EXT_framebuffer_object 1
121 typedef GLboolean (APIENTRY * PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer);
122 typedef void (APIENTRY * PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer);
123 typedef void (APIENTRY * PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint *renderbuffers);
124 typedef void (APIENTRY * PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint *renderbuffers);
125 typedef void (APIENTRY * PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
126 typedef void (APIENTRY * PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
127 typedef GLboolean (APIENTRY * PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer);
128 typedef void (APIENTRY * PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer);
129 typedef void (APIENTRY * PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint *framebuffers);
130 typedef void (APIENTRY * PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint *framebuffers);
131 typedef GLenum (APIENTRY * PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target);
132 typedef void (APIENTRY * PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
133 typedef void (APIENTRY * PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
134 typedef void (APIENTRY * PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
135 typedef void (APIENTRY * PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
136 typedef void (APIENTRY * PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
137 typedef void (APIENTRY * PFNGLGENERATEMIPMAPEXTPROC) (GLenum target);
138 #endif
140 #ifndef GL_ARB_multitexture
141 #define GL_ARB_multitexture 1
142 typedef void (APIENTRY * PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
143 typedef void (APIENTRY * PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
144 typedef void (APIENTRY * PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
145 typedef void (APIENTRY * PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
146 typedef void (APIENTRY * PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
147 typedef void (APIENTRY * PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
148 typedef void (APIENTRY * PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
149 typedef void (APIENTRY * PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
150 typedef void (APIENTRY * PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
151 typedef void (APIENTRY * PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
152 typedef void (APIENTRY * PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
153 typedef void (APIENTRY * PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
154 typedef void (APIENTRY * PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
155 typedef void (APIENTRY * PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
156 typedef void (APIENTRY * PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
157 typedef void (APIENTRY * PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
158 typedef void (APIENTRY * PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
159 typedef void (APIENTRY * PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
160 typedef void (APIENTRY * PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
161 typedef void (APIENTRY * PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
162 typedef void (APIENTRY * PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
163 typedef void (APIENTRY * PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
164 typedef void (APIENTRY * PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
165 typedef void (APIENTRY * PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
166 typedef void (APIENTRY * PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
167 typedef void (APIENTRY * PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
168 typedef void (APIENTRY * PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
169 typedef void (APIENTRY * PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
170 typedef void (APIENTRY * PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
171 typedef void (APIENTRY * PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
172 typedef void (APIENTRY * PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
173 typedef void (APIENTRY * PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
174 typedef void (APIENTRY * PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
175 typedef void (APIENTRY * PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
176 #endif
178 #ifndef GL_ARB_vertex_buffer_object
179 #define GL_ARB_vertex_buffer_object 1
180 typedef void (APIENTRY * PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer);
181 typedef void (APIENTRY * PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint *buffers);
182 typedef void (APIENTRY * PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers);
183 typedef GLboolean (APIENTRY * PFNGLISBUFFERARBPROC) (GLuint buffer);
184 typedef void (APIENTRY * PFNGLBUFFERDATAARBPROC) (GLenum target, int size, const GLvoid *data, GLenum usage);
185 typedef void (APIENTRY * PFNGLBUFFERSUBDATAARBPROC) (GLenum target, int offset, int size, const GLvoid *data);
186 typedef void (APIENTRY * PFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, int offset, int size, GLvoid *data);
187 typedef GLvoid* (APIENTRY * PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access);
188 typedef GLboolean (APIENTRY * PFNGLUNMAPBUFFERARBPROC) (GLenum target);
189 typedef void (APIENTRY * PFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint *params);
190 typedef void (APIENTRY * PFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, GLvoid* *params);
191 #endif
193 #endif // !defined(AFX_GLMISSINGEXT_H__9DA92C48_B9A4_4517_AB9F_55141CCDA817__INCLUDED_)