1 //////////////////////////////////////////////////////////////////////////////// 2 // Scorched3D (c) 2000-2011 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. 10 // 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. 15 // 16 // You should have received a copy of the GNU General Public License along 17 // with this program; if not, write to the Free Software Foundation, Inc., 18 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 19 //////////////////////////////////////////////////////////////////////////////// 20 21 #if !defined(AFX_GLMISSINGEXT_H__9DA92C48_B9A4_4517_AB9F_55141CCDA817__INCLUDED_) 22 #define AFX_GLMISSINGEXT_H__9DA92C48_B9A4_4517_AB9F_55141CCDA817__INCLUDED_ 23 24 // Some newer official GL extensions that may not have made it into the SDL 25 // implementation yet 26 27 #ifndef GL_COMBINE_ARB 28 #define GL_COMBINE_ARB 0x8570 29 #endif 30 31 #ifndef GL_RGB_SCALE_ARB 32 #define GL_RGB_SCALE_ARB 0x8573 33 #endif 34 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 41 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 49 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 55 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 111 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 118 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 139 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 177 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 192 193 #endif // !defined(AFX_GLMISSINGEXT_H__9DA92C48_B9A4_4517_AB9F_55141CCDA817__INCLUDED_) 194