1 #ifndef _LOAD_GL_EXTENSIONS_H_ 2 #define _LOAD_GL_EXTENSIONS_H_ 3 4 #include "platform.h" 5 #include <SDL_types.h> 6 7 #ifdef __cplusplus 8 extern "C" 9 { 10 #endif 11 12 #ifndef GL_ATI_texture_compression_3dc 13 #define GL_ATI_texture_compression_3dc 1 14 15 #define GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837 16 17 #endif /* GL_ATI_texture_compression_3dc */ 18 19 #ifndef GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 20 #define GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72 21 #endif 22 23 #ifndef GL_COMPRESSED_LUMINANCE_LATC1_EXT 24 #define GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70 25 #endif 26 27 typedef enum { 28 arb_multitexture = 0, 29 arb_texture_compression = 1, 30 arb_point_parameters = 2, 31 arb_point_sprite = 3, 32 arb_vertex_buffer_object = 4, 33 arb_shadow = 5, 34 arb_texture_env_combine = 6, 35 arb_texture_env_crossbar = 7, 36 arb_texture_env_dot3 = 8, 37 arb_occlusion_query = 9, 38 arb_depth_texture = 10, 39 arb_fragment_program = 11, 40 arb_vertex_program = 12, 41 arb_fragment_shader = 13, 42 arb_vertex_shader = 14, 43 arb_shader_objects = 15, 44 arb_shading_language_100 = 16, 45 arb_texture_non_power_of_two = 17, 46 ext_compiled_vertex_array = 18, 47 ext_draw_range_elements = 19, 48 ext_framebuffer_object = 20, 49 ext_texture_compression_s3tc = 21, 50 ext_texture_filter_anisotropic = 22, 51 sgis_generate_mipmap = 23, 52 arb_texture_mirrored_repeat = 24, 53 arb_texture_rectangle = 25, 54 ext_fog_coord = 26, 55 ati_texture_compression_3dc = 27, 56 ext_texture_compression_latc = 28, 57 ext_texture_compression_rgtc = 29, 58 arb_texture_cube_map = 30, 59 arb_texture_float = 31, 60 ext_abgr = 32, 61 ext_gpu_program_parameters = 33 62 } extension_enum; 63 64 /* GL_VERSION_1_2 */ 65 extern PFNGLCOPYTEXSUBIMAGE3DPROC ELglCopyTexSubImage3D; 66 extern PFNGLDRAWRANGEELEMENTSPROC ELglDrawRangeElements; 67 extern PFNGLTEXIMAGE3DPROC ELglTexImage3D; 68 extern PFNGLTEXSUBIMAGE3DPROC ELglTexSubImage3D; 69 /* GL_VERSION_1_2 */ 70 71 /* GL_VERSION_1_3 */ 72 extern PFNGLACTIVETEXTUREPROC ELglActiveTexture; 73 extern PFNGLCLIENTACTIVETEXTUREPROC ELglClientActiveTexture; 74 extern PFNGLCOMPRESSEDTEXIMAGE1DPROC ELglCompressedTexImage1D; 75 extern PFNGLCOMPRESSEDTEXIMAGE2DPROC ELglCompressedTexImage2D; 76 extern PFNGLCOMPRESSEDTEXIMAGE3DPROC ELglCompressedTexImage3D; 77 extern PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC ELglCompressedTexSubImage1D; 78 extern PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC ELglCompressedTexSubImage2D; 79 extern PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC ELglCompressedTexSubImage3D; 80 extern PFNGLGETCOMPRESSEDTEXIMAGEPROC ELglGetCompressedTexImage; 81 extern PFNGLLOADTRANSPOSEMATRIXDPROC ELglLoadTransposeMatrixd; 82 extern PFNGLLOADTRANSPOSEMATRIXFPROC ELglLoadTransposeMatrixf; 83 extern PFNGLMULTTRANSPOSEMATRIXDPROC ELglMultTransposeMatrixd; 84 extern PFNGLMULTTRANSPOSEMATRIXFPROC ELglMultTransposeMatrixf; 85 extern PFNGLMULTITEXCOORD1DPROC ELglMultiTexCoord1d; 86 extern PFNGLMULTITEXCOORD1DVPROC ELglMultiTexCoord1dv; 87 extern PFNGLMULTITEXCOORD1FPROC ELglMultiTexCoord1f; 88 extern PFNGLMULTITEXCOORD1FVPROC ELglMultiTexCoord1fv; 89 extern PFNGLMULTITEXCOORD1IPROC ELglMultiTexCoord1i; 90 extern PFNGLMULTITEXCOORD1IVPROC ELglMultiTexCoord1iv; 91 extern PFNGLMULTITEXCOORD1SPROC ELglMultiTexCoord1s; 92 extern PFNGLMULTITEXCOORD1SVPROC ELglMultiTexCoord1sv; 93 extern PFNGLMULTITEXCOORD2DPROC ELglMultiTexCoord2d; 94 extern PFNGLMULTITEXCOORD2DVPROC ELglMultiTexCoord2dv; 95 extern PFNGLMULTITEXCOORD2FPROC ELglMultiTexCoord2f; 96 extern PFNGLMULTITEXCOORD2FVPROC ELglMultiTexCoord2fv; 97 extern PFNGLMULTITEXCOORD2IPROC ELglMultiTexCoord2i; 98 extern PFNGLMULTITEXCOORD2IVPROC ELglMultiTexCoord2iv; 99 extern PFNGLMULTITEXCOORD2SPROC ELglMultiTexCoord2s; 100 extern PFNGLMULTITEXCOORD2SVPROC ELglMultiTexCoord2sv; 101 extern PFNGLMULTITEXCOORD3DPROC ELglMultiTexCoord3d; 102 extern PFNGLMULTITEXCOORD3DVPROC ELglMultiTexCoord3dv; 103 extern PFNGLMULTITEXCOORD3FPROC ELglMultiTexCoord3f; 104 extern PFNGLMULTITEXCOORD3FVPROC ELglMultiTexCoord3fv; 105 extern PFNGLMULTITEXCOORD3IPROC ELglMultiTexCoord3i; 106 extern PFNGLMULTITEXCOORD3IVPROC ELglMultiTexCoord3iv; 107 extern PFNGLMULTITEXCOORD3SPROC ELglMultiTexCoord3s; 108 extern PFNGLMULTITEXCOORD3SVPROC ELglMultiTexCoord3sv; 109 extern PFNGLMULTITEXCOORD4DPROC ELglMultiTexCoord4d; 110 extern PFNGLMULTITEXCOORD4DVPROC ELglMultiTexCoord4dv; 111 extern PFNGLMULTITEXCOORD4FPROC ELglMultiTexCoord4f; 112 extern PFNGLMULTITEXCOORD4FVPROC ELglMultiTexCoord4fv; 113 extern PFNGLMULTITEXCOORD4IPROC ELglMultiTexCoord4i; 114 extern PFNGLMULTITEXCOORD4IVPROC ELglMultiTexCoord4iv; 115 extern PFNGLMULTITEXCOORD4SPROC ELglMultiTexCoord4s; 116 extern PFNGLMULTITEXCOORD4SVPROC ELglMultiTexCoord4sv; 117 extern PFNGLSAMPLECOVERAGEPROC ELglSampleCoverage; 118 /* GL_VERSION_1_3 */ 119 120 /* GL_VERSION_1_4 */ 121 extern PFNGLBLENDCOLORPROC ELglBlendColor; 122 extern PFNGLBLENDEQUATIONPROC ELglBlendEquation; 123 extern PFNGLBLENDFUNCSEPARATEPROC ELglBlendFuncSeparate; 124 extern PFNGLFOGCOORDPOINTERPROC ELglFogCoordPointer; 125 extern PFNGLFOGCOORDDPROC ELglFogCoordd; 126 extern PFNGLFOGCOORDDVPROC ELglFogCoorddv; 127 extern PFNGLFOGCOORDFPROC ELglFogCoordf; 128 extern PFNGLFOGCOORDFVPROC ELglFogCoordfv; 129 extern PFNGLMULTIDRAWARRAYSPROC ELglMultiDrawArrays; 130 extern PFNGLMULTIDRAWELEMENTSPROC ELglMultiDrawElements; 131 extern PFNGLPOINTPARAMETERFPROC ELglPointParameterf; 132 extern PFNGLPOINTPARAMETERFVPROC ELglPointParameterfv; 133 extern PFNGLSECONDARYCOLOR3BPROC ELglSecondaryColor3b; 134 extern PFNGLSECONDARYCOLOR3BVPROC ELglSecondaryColor3bv; 135 extern PFNGLSECONDARYCOLOR3DPROC ELglSecondaryColor3d; 136 extern PFNGLSECONDARYCOLOR3DVPROC ELglSecondaryColor3dv; 137 extern PFNGLSECONDARYCOLOR3FPROC ELglSecondaryColor3f; 138 extern PFNGLSECONDARYCOLOR3FVPROC ELglSecondaryColor3fv; 139 extern PFNGLSECONDARYCOLOR3IPROC ELglSecondaryColor3i; 140 extern PFNGLSECONDARYCOLOR3IVPROC ELglSecondaryColor3iv; 141 extern PFNGLSECONDARYCOLOR3SPROC ELglSecondaryColor3s; 142 extern PFNGLSECONDARYCOLOR3SVPROC ELglSecondaryColor3sv; 143 extern PFNGLSECONDARYCOLOR3UBPROC ELglSecondaryColor3ub; 144 extern PFNGLSECONDARYCOLOR3UBVPROC ELglSecondaryColor3ubv; 145 extern PFNGLSECONDARYCOLOR3UIPROC ELglSecondaryColor3ui; 146 extern PFNGLSECONDARYCOLOR3UIVPROC ELglSecondaryColor3uiv; 147 extern PFNGLSECONDARYCOLOR3USPROC ELglSecondaryColor3us; 148 extern PFNGLSECONDARYCOLOR3USVPROC ELglSecondaryColor3usv; 149 extern PFNGLSECONDARYCOLORPOINTERPROC ELglSecondaryColorPointer; 150 extern PFNGLWINDOWPOS2DPROC ELglWindowPos2d; 151 extern PFNGLWINDOWPOS2DVPROC ELglWindowPos2dv; 152 extern PFNGLWINDOWPOS2FPROC ELglWindowPos2f; 153 extern PFNGLWINDOWPOS2FVPROC ELglWindowPos2fv; 154 extern PFNGLWINDOWPOS2IPROC ELglWindowPos2i; 155 extern PFNGLWINDOWPOS2IVPROC ELglWindowPos2iv; 156 extern PFNGLWINDOWPOS2SPROC ELglWindowPos2s; 157 extern PFNGLWINDOWPOS2SVPROC ELglWindowPos2sv; 158 extern PFNGLWINDOWPOS3DPROC ELglWindowPos3d; 159 extern PFNGLWINDOWPOS3DVPROC ELglWindowPos3dv; 160 extern PFNGLWINDOWPOS3FPROC ELglWindowPos3f; 161 extern PFNGLWINDOWPOS3FVPROC ELglWindowPos3fv; 162 extern PFNGLWINDOWPOS3IPROC ELglWindowPos3i; 163 extern PFNGLWINDOWPOS3IVPROC ELglWindowPos3iv; 164 extern PFNGLWINDOWPOS3SPROC ELglWindowPos3s; 165 extern PFNGLWINDOWPOS3SVPROC ELglWindowPos3sv; 166 /* GL_VERSION_1_4 */ 167 168 /* GL_VERSION_1_5 */ 169 extern PFNGLBEGINQUERYPROC ELglBeginQuery; 170 extern PFNGLBINDBUFFERPROC ELglBindBuffer; 171 extern PFNGLBUFFERDATAPROC ELglBufferData; 172 extern PFNGLBUFFERSUBDATAPROC ELglBufferSubData; 173 extern PFNGLDELETEBUFFERSPROC ELglDeleteBuffers; 174 extern PFNGLDELETEQUERIESPROC ELglDeleteQueries; 175 extern PFNGLENDQUERYPROC ELglEndQuery; 176 extern PFNGLGENBUFFERSPROC ELglGenBuffers; 177 extern PFNGLGENQUERIESPROC ELglGenQueries; 178 extern PFNGLGETBUFFERPARAMETERIVPROC ELglGetBufferParameteriv; 179 extern PFNGLGETBUFFERPOINTERVPROC ELglGetBufferPointerv; 180 extern PFNGLGETBUFFERSUBDATAPROC ELglGetBufferSubData; 181 extern PFNGLGETQUERYOBJECTIVPROC ELglGetQueryObjectiv; 182 extern PFNGLGETQUERYOBJECTUIVPROC ELglGetQueryObjectuiv; 183 extern PFNGLGETQUERYIVPROC ELglGetQueryiv; 184 extern PFNGLISBUFFERPROC ELglIsBuffer; 185 extern PFNGLISQUERYPROC ELglIsQuery; 186 extern PFNGLMAPBUFFERPROC ELglMapBuffer; 187 extern PFNGLUNMAPBUFFERPROC ELglUnmapBuffer; 188 /* GL_VERSION_1_5 */ 189 190 /* GL_VERSION_2_0 */ 191 extern PFNGLATTACHSHADERPROC ELglAttachShader; 192 extern PFNGLBINDATTRIBLOCATIONPROC ELglBindAttribLocation; 193 extern PFNGLBLENDEQUATIONSEPARATEPROC ELglBlendEquationSeparate; 194 extern PFNGLCOMPILESHADERPROC ELglCompileShader; 195 extern PFNGLCREATEPROGRAMPROC ELglCreateProgram; 196 extern PFNGLCREATESHADERPROC ELglCreateShader; 197 extern PFNGLDELETEPROGRAMPROC ELglDeleteProgram; 198 extern PFNGLDELETESHADERPROC ELglDeleteShader; 199 extern PFNGLDETACHSHADERPROC ELglDetachShader; 200 extern PFNGLDISABLEVERTEXATTRIBARRAYPROC ELglDisableVertexAttribArray; 201 extern PFNGLDRAWBUFFERSPROC ELglDrawBuffers; 202 extern PFNGLENABLEVERTEXATTRIBARRAYPROC ELglEnableVertexAttribArray; 203 extern PFNGLGETACTIVEATTRIBPROC ELglGetActiveAttrib; 204 extern PFNGLGETACTIVEUNIFORMPROC ELglGetActiveUniform; 205 extern PFNGLGETATTACHEDSHADERSPROC ELglGetAttachedShaders; 206 extern PFNGLGETATTRIBLOCATIONPROC ELglGetAttribLocation; 207 extern PFNGLGETPROGRAMINFOLOGPROC ELglGetProgramInfoLog; 208 extern PFNGLGETPROGRAMIVPROC ELglGetProgramiv; 209 extern PFNGLGETSHADERINFOLOGPROC ELglGetShaderInfoLog; 210 extern PFNGLGETSHADERSOURCEPROC ELglGetShaderSource; 211 extern PFNGLGETSHADERIVPROC ELglGetShaderiv; 212 extern PFNGLGETUNIFORMLOCATIONPROC ELglGetUniformLocation; 213 extern PFNGLGETUNIFORMFVPROC ELglGetUniformfv; 214 extern PFNGLGETUNIFORMIVPROC ELglGetUniformiv; 215 extern PFNGLGETVERTEXATTRIBPOINTERVPROC ELglGetVertexAttribPointerv; 216 extern PFNGLGETVERTEXATTRIBDVPROC ELglGetVertexAttribdv; 217 extern PFNGLGETVERTEXATTRIBFVPROC ELglGetVertexAttribfv; 218 extern PFNGLGETVERTEXATTRIBIVPROC ELglGetVertexAttribiv; 219 extern PFNGLISPROGRAMPROC ELglIsProgram; 220 extern PFNGLISSHADERPROC ELglIsShader; 221 extern PFNGLLINKPROGRAMPROC ELglLinkProgram; 222 extern PFNGLSHADERSOURCEPROC ELglShaderSource; 223 extern PFNGLSTENCILFUNCSEPARATEPROC ELglStencilFuncSeparate; 224 extern PFNGLSTENCILMASKSEPARATEPROC ELglStencilMaskSeparate; 225 extern PFNGLSTENCILOPSEPARATEPROC ELglStencilOpSeparate; 226 extern PFNGLUNIFORM1FPROC ELglUniform1f; 227 extern PFNGLUNIFORM1FVPROC ELglUniform1fv; 228 extern PFNGLUNIFORM1IPROC ELglUniform1i; 229 extern PFNGLUNIFORM1IVPROC ELglUniform1iv; 230 extern PFNGLUNIFORM2FPROC ELglUniform2f; 231 extern PFNGLUNIFORM2FVPROC ELglUniform2fv; 232 extern PFNGLUNIFORM2IPROC ELglUniform2i; 233 extern PFNGLUNIFORM2IVPROC ELglUniform2iv; 234 extern PFNGLUNIFORM3FPROC ELglUniform3f; 235 extern PFNGLUNIFORM3FVPROC ELglUniform3fv; 236 extern PFNGLUNIFORM3IPROC ELglUniform3i; 237 extern PFNGLUNIFORM3IVPROC ELglUniform3iv; 238 extern PFNGLUNIFORM4FPROC ELglUniform4f; 239 extern PFNGLUNIFORM4FVPROC ELglUniform4fv; 240 extern PFNGLUNIFORM4IPROC ELglUniform4i; 241 extern PFNGLUNIFORM4IVPROC ELglUniform4iv; 242 extern PFNGLUNIFORMMATRIX2FVPROC ELglUniformMatrix2fv; 243 extern PFNGLUNIFORMMATRIX3FVPROC ELglUniformMatrix3fv; 244 extern PFNGLUNIFORMMATRIX4FVPROC ELglUniformMatrix4fv; 245 extern PFNGLUSEPROGRAMPROC ELglUseProgram; 246 extern PFNGLVALIDATEPROGRAMPROC ELglValidateProgram; 247 extern PFNGLVERTEXATTRIB1DPROC ELglVertexAttrib1d; 248 extern PFNGLVERTEXATTRIB1DVPROC ELglVertexAttrib1dv; 249 extern PFNGLVERTEXATTRIB1FPROC ELglVertexAttrib1f; 250 extern PFNGLVERTEXATTRIB1FVPROC ELglVertexAttrib1fv; 251 extern PFNGLVERTEXATTRIB1SPROC ELglVertexAttrib1s; 252 extern PFNGLVERTEXATTRIB1SVPROC ELglVertexAttrib1sv; 253 extern PFNGLVERTEXATTRIB2DPROC ELglVertexAttrib2d; 254 extern PFNGLVERTEXATTRIB2DVPROC ELglVertexAttrib2dv; 255 extern PFNGLVERTEXATTRIB2FPROC ELglVertexAttrib2f; 256 extern PFNGLVERTEXATTRIB2FVPROC ELglVertexAttrib2fv; 257 extern PFNGLVERTEXATTRIB2SPROC ELglVertexAttrib2s; 258 extern PFNGLVERTEXATTRIB2SVPROC ELglVertexAttrib2sv; 259 extern PFNGLVERTEXATTRIB3DPROC ELglVertexAttrib3d; 260 extern PFNGLVERTEXATTRIB3DVPROC ELglVertexAttrib3dv; 261 extern PFNGLVERTEXATTRIB3FPROC ELglVertexAttrib3f; 262 extern PFNGLVERTEXATTRIB3FVPROC ELglVertexAttrib3fv; 263 extern PFNGLVERTEXATTRIB3SPROC ELglVertexAttrib3s; 264 extern PFNGLVERTEXATTRIB3SVPROC ELglVertexAttrib3sv; 265 extern PFNGLVERTEXATTRIB4NBVPROC ELglVertexAttrib4Nbv; 266 extern PFNGLVERTEXATTRIB4NIVPROC ELglVertexAttrib4Niv; 267 extern PFNGLVERTEXATTRIB4NSVPROC ELglVertexAttrib4Nsv; 268 extern PFNGLVERTEXATTRIB4NUBPROC ELglVertexAttrib4Nub; 269 extern PFNGLVERTEXATTRIB4NUBVPROC ELglVertexAttrib4Nubv; 270 extern PFNGLVERTEXATTRIB4NUIVPROC ELglVertexAttrib4Nuiv; 271 extern PFNGLVERTEXATTRIB4NUSVPROC ELglVertexAttrib4Nusv; 272 extern PFNGLVERTEXATTRIB4BVPROC ELglVertexAttrib4bv; 273 extern PFNGLVERTEXATTRIB4DPROC ELglVertexAttrib4d; 274 extern PFNGLVERTEXATTRIB4DVPROC ELglVertexAttrib4dv; 275 extern PFNGLVERTEXATTRIB4FPROC ELglVertexAttrib4f; 276 extern PFNGLVERTEXATTRIB4FVPROC ELglVertexAttrib4fv; 277 extern PFNGLVERTEXATTRIB4IVPROC ELglVertexAttrib4iv; 278 extern PFNGLVERTEXATTRIB4SPROC ELglVertexAttrib4s; 279 extern PFNGLVERTEXATTRIB4SVPROC ELglVertexAttrib4sv; 280 extern PFNGLVERTEXATTRIB4UBVPROC ELglVertexAttrib4ubv; 281 extern PFNGLVERTEXATTRIB4UIVPROC ELglVertexAttrib4uiv; 282 extern PFNGLVERTEXATTRIB4USVPROC ELglVertexAttrib4usv; 283 extern PFNGLVERTEXATTRIBPOINTERPROC ELglVertexAttribPointer; 284 /* GL_VERSION_2_0 */ 285 286 /* GL_VERSION_2_1 */ 287 extern PFNGLUNIFORMMATRIX2X3FVPROC ELglUniformMatrix2x3fv; 288 extern PFNGLUNIFORMMATRIX2X4FVPROC ELglUniformMatrix2x4fv; 289 extern PFNGLUNIFORMMATRIX3X2FVPROC ELglUniformMatrix3x2fv; 290 extern PFNGLUNIFORMMATRIX3X4FVPROC ELglUniformMatrix3x4fv; 291 extern PFNGLUNIFORMMATRIX4X2FVPROC ELglUniformMatrix4x2fv; 292 extern PFNGLUNIFORMMATRIX4X3FVPROC ELglUniformMatrix4x3fv; 293 /* GL_VERSION_2_1 */ 294 295 /* GL_ARB_multitexture */ 296 extern PFNGLACTIVETEXTUREARBPROC ELglActiveTextureARB; 297 extern PFNGLCLIENTACTIVETEXTUREARBPROC ELglClientActiveTextureARB; 298 extern PFNGLMULTITEXCOORD1DARBPROC ELglMultiTexCoord1dARB; 299 extern PFNGLMULTITEXCOORD1DVARBPROC ELglMultiTexCoord1dvARB; 300 extern PFNGLMULTITEXCOORD1FARBPROC ELglMultiTexCoord1fARB; 301 extern PFNGLMULTITEXCOORD1FVARBPROC ELglMultiTexCoord1fvARB; 302 extern PFNGLMULTITEXCOORD1IARBPROC ELglMultiTexCoord1iARB; 303 extern PFNGLMULTITEXCOORD1IVARBPROC ELglMultiTexCoord1ivARB; 304 extern PFNGLMULTITEXCOORD1SARBPROC ELglMultiTexCoord1sARB; 305 extern PFNGLMULTITEXCOORD1SVARBPROC ELglMultiTexCoord1svARB; 306 extern PFNGLMULTITEXCOORD2DARBPROC ELglMultiTexCoord2dARB; 307 extern PFNGLMULTITEXCOORD2DVARBPROC ELglMultiTexCoord2dvARB; 308 extern PFNGLMULTITEXCOORD2FARBPROC ELglMultiTexCoord2fARB; 309 extern PFNGLMULTITEXCOORD2FVARBPROC ELglMultiTexCoord2fvARB; 310 extern PFNGLMULTITEXCOORD2IARBPROC ELglMultiTexCoord2iARB; 311 extern PFNGLMULTITEXCOORD2IVARBPROC ELglMultiTexCoord2ivARB; 312 extern PFNGLMULTITEXCOORD2SARBPROC ELglMultiTexCoord2sARB; 313 extern PFNGLMULTITEXCOORD2SVARBPROC ELglMultiTexCoord2svARB; 314 extern PFNGLMULTITEXCOORD3DARBPROC ELglMultiTexCoord3dARB; 315 extern PFNGLMULTITEXCOORD3DVARBPROC ELglMultiTexCoord3dvARB; 316 extern PFNGLMULTITEXCOORD3FARBPROC ELglMultiTexCoord3fARB; 317 extern PFNGLMULTITEXCOORD3FVARBPROC ELglMultiTexCoord3fvARB; 318 extern PFNGLMULTITEXCOORD3IARBPROC ELglMultiTexCoord3iARB; 319 extern PFNGLMULTITEXCOORD3IVARBPROC ELglMultiTexCoord3ivARB; 320 extern PFNGLMULTITEXCOORD3SARBPROC ELglMultiTexCoord3sARB; 321 extern PFNGLMULTITEXCOORD3SVARBPROC ELglMultiTexCoord3svARB; 322 extern PFNGLMULTITEXCOORD4DARBPROC ELglMultiTexCoord4dARB; 323 extern PFNGLMULTITEXCOORD4DVARBPROC ELglMultiTexCoord4dvARB; 324 extern PFNGLMULTITEXCOORD4FARBPROC ELglMultiTexCoord4fARB; 325 extern PFNGLMULTITEXCOORD4FVARBPROC ELglMultiTexCoord4fvARB; 326 extern PFNGLMULTITEXCOORD4IARBPROC ELglMultiTexCoord4iARB; 327 extern PFNGLMULTITEXCOORD4IVARBPROC ELglMultiTexCoord4ivARB; 328 extern PFNGLMULTITEXCOORD4SARBPROC ELglMultiTexCoord4sARB; 329 extern PFNGLMULTITEXCOORD4SVARBPROC ELglMultiTexCoord4svARB; 330 /* GL_ARB_multitexture */ 331 332 /* GL_EXT_compiled_vertex_array */ 333 extern PFNGLLOCKARRAYSEXTPROC ELglLockArraysEXT; 334 extern PFNGLUNLOCKARRAYSEXTPROC ELglUnlockArraysEXT; 335 /* GL_EXT_compiled_vertex_array */ 336 337 /* GL_EXT_draw_range_elements */ 338 extern PFNGLDRAWRANGEELEMENTSEXTPROC ELglDrawRangeElementsEXT; 339 /* GL_EXT_draw_range_elements */ 340 341 /* GL_ARB_point_parameters */ 342 extern PFNGLPOINTPARAMETERFARBPROC ELglPointParameterfARB; 343 extern PFNGLPOINTPARAMETERFVARBPROC ELglPointParameterfvARB; 344 /* GL_ARB_point_parameters */ 345 346 /* GL_ARB_vertex_buffer_object */ 347 extern PFNGLBINDBUFFERARBPROC ELglBindBufferARB; 348 extern PFNGLBUFFERDATAARBPROC ELglBufferDataARB; 349 extern PFNGLBUFFERSUBDATAARBPROC ELglBufferSubDataARB; 350 extern PFNGLDELETEBUFFERSARBPROC ELglDeleteBuffersARB; 351 extern PFNGLGENBUFFERSARBPROC ELglGenBuffersARB; 352 extern PFNGLGETBUFFERPARAMETERIVARBPROC ELglGetBufferParameterivARB; 353 extern PFNGLGETBUFFERPOINTERVARBPROC ELglGetBufferPointervARB; 354 extern PFNGLGETBUFFERSUBDATAARBPROC ELglGetBufferSubDataARB; 355 extern PFNGLISBUFFERARBPROC ELglIsBufferARB; 356 extern PFNGLMAPBUFFERARBPROC ELglMapBufferARB; 357 extern PFNGLUNMAPBUFFERARBPROC ELglUnmapBufferARB; 358 /* GL_ARB_vertex_buffer_object */ 359 360 /* GL_EXT_framebuffer_object */ 361 extern PFNGLBINDFRAMEBUFFEREXTPROC ELglBindFramebufferEXT; 362 extern PFNGLBINDRENDERBUFFEREXTPROC ELglBindRenderbufferEXT; 363 extern PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC ELglCheckFramebufferStatusEXT; 364 extern PFNGLDELETEFRAMEBUFFERSEXTPROC ELglDeleteFramebuffersEXT; 365 extern PFNGLDELETERENDERBUFFERSEXTPROC ELglDeleteRenderbuffersEXT; 366 extern PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC ELglFramebufferRenderbufferEXT; 367 extern PFNGLFRAMEBUFFERTEXTURE1DEXTPROC ELglFramebufferTexture1DEXT; 368 extern PFNGLFRAMEBUFFERTEXTURE2DEXTPROC ELglFramebufferTexture2DEXT; 369 extern PFNGLFRAMEBUFFERTEXTURE3DEXTPROC ELglFramebufferTexture3DEXT; 370 extern PFNGLGENFRAMEBUFFERSEXTPROC ELglGenFramebuffersEXT; 371 extern PFNGLGENRENDERBUFFERSEXTPROC ELglGenRenderbuffersEXT; 372 extern PFNGLGENERATEMIPMAPEXTPROC ELglGenerateMipmapEXT; 373 extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC ELglGetFramebufferAttachmentParameterivEXT; 374 extern PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC ELglGetRenderbufferParameterivEXT; 375 extern PFNGLISFRAMEBUFFEREXTPROC ELglIsFramebufferEXT; 376 extern PFNGLISRENDERBUFFEREXTPROC ELglIsRenderbufferEXT; 377 extern PFNGLRENDERBUFFERSTORAGEEXTPROC ELglRenderbufferStorageEXT; 378 /* GL_EXT_framebuffer_object */ 379 380 /* GL_ARB_texture_compression */ 381 extern PFNGLCOMPRESSEDTEXIMAGE1DARBPROC ELglCompressedTexImage1DARB; 382 extern PFNGLCOMPRESSEDTEXIMAGE2DARBPROC ELglCompressedTexImage2DARB; 383 extern PFNGLCOMPRESSEDTEXIMAGE3DARBPROC ELglCompressedTexImage3DARB; 384 extern PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC ELglCompressedTexSubImage1DARB; 385 extern PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC ELglCompressedTexSubImage2DARB; 386 extern PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC ELglCompressedTexSubImage3DARB; 387 extern PFNGLGETCOMPRESSEDTEXIMAGEARBPROC ELglGetCompressedTexImageARB; 388 /* GL_ARB_texture_compression */ 389 390 /* GL_ARB_occlusion_query */ 391 extern PFNGLBEGINQUERYARBPROC ELglBeginQueryARB; 392 extern PFNGLDELETEQUERIESARBPROC ELglDeleteQueriesARB; 393 extern PFNGLENDQUERYARBPROC ELglEndQueryARB; 394 extern PFNGLGENQUERIESARBPROC ELglGenQueriesARB; 395 extern PFNGLGETQUERYOBJECTIVARBPROC ELglGetQueryObjectivARB; 396 extern PFNGLGETQUERYOBJECTUIVARBPROC ELglGetQueryObjectuivARB; 397 extern PFNGLGETQUERYIVARBPROC ELglGetQueryivARB; 398 extern PFNGLISQUERYARBPROC ELglIsQueryARB; 399 /* GL_ARB_occlusion_query */ 400 401 /* GL_ARB_vertex_program */ 402 extern PFNGLBINDPROGRAMARBPROC ELglBindProgramARB; 403 extern PFNGLDELETEPROGRAMSARBPROC ELglDeleteProgramsARB; 404 extern PFNGLDISABLEVERTEXATTRIBARRAYARBPROC ELglDisableVertexAttribArrayARB; 405 extern PFNGLENABLEVERTEXATTRIBARRAYARBPROC ELglEnableVertexAttribArrayARB; 406 extern PFNGLGENPROGRAMSARBPROC ELglGenProgramsARB; 407 extern PFNGLGETPROGRAMENVPARAMETERDVARBPROC ELglGetProgramEnvParameterdvARB; 408 extern PFNGLGETPROGRAMENVPARAMETERFVARBPROC ELglGetProgramEnvParameterfvARB; 409 extern PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC ELglGetProgramLocalParameterdvARB; 410 extern PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC ELglGetProgramLocalParameterfvARB; 411 extern PFNGLGETPROGRAMSTRINGARBPROC ELglGetProgramStringARB; 412 extern PFNGLGETPROGRAMIVARBPROC ELglGetProgramivARB; 413 extern PFNGLGETVERTEXATTRIBPOINTERVARBPROC ELglGetVertexAttribPointervARB; 414 extern PFNGLGETVERTEXATTRIBDVARBPROC ELglGetVertexAttribdvARB; 415 extern PFNGLGETVERTEXATTRIBFVARBPROC ELglGetVertexAttribfvARB; 416 extern PFNGLGETVERTEXATTRIBIVARBPROC ELglGetVertexAttribivARB; 417 extern PFNGLISPROGRAMARBPROC ELglIsProgramARB; 418 extern PFNGLPROGRAMENVPARAMETER4DARBPROC ELglProgramEnvParameter4dARB; 419 extern PFNGLPROGRAMENVPARAMETER4DVARBPROC ELglProgramEnvParameter4dvARB; 420 extern PFNGLPROGRAMENVPARAMETER4FARBPROC ELglProgramEnvParameter4fARB; 421 extern PFNGLPROGRAMENVPARAMETER4FVARBPROC ELglProgramEnvParameter4fvARB; 422 extern PFNGLPROGRAMLOCALPARAMETER4DARBPROC ELglProgramLocalParameter4dARB; 423 extern PFNGLPROGRAMLOCALPARAMETER4DVARBPROC ELglProgramLocalParameter4dvARB; 424 extern PFNGLPROGRAMLOCALPARAMETER4FARBPROC ELglProgramLocalParameter4fARB; 425 extern PFNGLPROGRAMLOCALPARAMETER4FVARBPROC ELglProgramLocalParameter4fvARB; 426 extern PFNGLPROGRAMSTRINGARBPROC ELglProgramStringARB; 427 extern PFNGLVERTEXATTRIB1DARBPROC ELglVertexAttrib1dARB; 428 extern PFNGLVERTEXATTRIB1DVARBPROC ELglVertexAttrib1dvARB; 429 extern PFNGLVERTEXATTRIB1FARBPROC ELglVertexAttrib1fARB; 430 extern PFNGLVERTEXATTRIB1FVARBPROC ELglVertexAttrib1fvARB; 431 extern PFNGLVERTEXATTRIB1SARBPROC ELglVertexAttrib1sARB; 432 extern PFNGLVERTEXATTRIB1SVARBPROC ELglVertexAttrib1svARB; 433 extern PFNGLVERTEXATTRIB2DARBPROC ELglVertexAttrib2dARB; 434 extern PFNGLVERTEXATTRIB2DVARBPROC ELglVertexAttrib2dvARB; 435 extern PFNGLVERTEXATTRIB2FARBPROC ELglVertexAttrib2fARB; 436 extern PFNGLVERTEXATTRIB2FVARBPROC ELglVertexAttrib2fvARB; 437 extern PFNGLVERTEXATTRIB2SARBPROC ELglVertexAttrib2sARB; 438 extern PFNGLVERTEXATTRIB2SVARBPROC ELglVertexAttrib2svARB; 439 extern PFNGLVERTEXATTRIB3DARBPROC ELglVertexAttrib3dARB; 440 extern PFNGLVERTEXATTRIB3DVARBPROC ELglVertexAttrib3dvARB; 441 extern PFNGLVERTEXATTRIB3FARBPROC ELglVertexAttrib3fARB; 442 extern PFNGLVERTEXATTRIB3FVARBPROC ELglVertexAttrib3fvARB; 443 extern PFNGLVERTEXATTRIB3SARBPROC ELglVertexAttrib3sARB; 444 extern PFNGLVERTEXATTRIB3SVARBPROC ELglVertexAttrib3svARB; 445 extern PFNGLVERTEXATTRIB4NBVARBPROC ELglVertexAttrib4NbvARB; 446 extern PFNGLVERTEXATTRIB4NIVARBPROC ELglVertexAttrib4NivARB; 447 extern PFNGLVERTEXATTRIB4NSVARBPROC ELglVertexAttrib4NsvARB; 448 extern PFNGLVERTEXATTRIB4NUBARBPROC ELglVertexAttrib4NubARB; 449 extern PFNGLVERTEXATTRIB4NUBVARBPROC ELglVertexAttrib4NubvARB; 450 extern PFNGLVERTEXATTRIB4NUIVARBPROC ELglVertexAttrib4NuivARB; 451 extern PFNGLVERTEXATTRIB4NUSVARBPROC ELglVertexAttrib4NusvARB; 452 extern PFNGLVERTEXATTRIB4BVARBPROC ELglVertexAttrib4bvARB; 453 extern PFNGLVERTEXATTRIB4DARBPROC ELglVertexAttrib4dARB; 454 extern PFNGLVERTEXATTRIB4DVARBPROC ELglVertexAttrib4dvARB; 455 extern PFNGLVERTEXATTRIB4FARBPROC ELglVertexAttrib4fARB; 456 extern PFNGLVERTEXATTRIB4FVARBPROC ELglVertexAttrib4fvARB; 457 extern PFNGLVERTEXATTRIB4IVARBPROC ELglVertexAttrib4ivARB; 458 extern PFNGLVERTEXATTRIB4SARBPROC ELglVertexAttrib4sARB; 459 extern PFNGLVERTEXATTRIB4SVARBPROC ELglVertexAttrib4svARB; 460 extern PFNGLVERTEXATTRIB4UBVARBPROC ELglVertexAttrib4ubvARB; 461 extern PFNGLVERTEXATTRIB4UIVARBPROC ELglVertexAttrib4uivARB; 462 extern PFNGLVERTEXATTRIB4USVARBPROC ELglVertexAttrib4usvARB; 463 extern PFNGLVERTEXATTRIBPOINTERARBPROC ELglVertexAttribPointerARB; 464 /* GL_ARB_vertex_program */ 465 466 /* GL_ARB_vertex_shader */ 467 extern PFNGLBINDATTRIBLOCATIONARBPROC ELglBindAttribLocationARB; 468 extern PFNGLGETACTIVEATTRIBARBPROC ELglGetActiveAttribARB; 469 extern PFNGLGETATTRIBLOCATIONARBPROC ELglGetAttribLocationARB; 470 /* GL_ARB_vertex_shader */ 471 472 /* GL_ARB_shader_objects */ 473 extern PFNGLATTACHOBJECTARBPROC ELglAttachObjectARB; 474 extern PFNGLCOMPILESHADERARBPROC ELglCompileShaderARB; 475 extern PFNGLCREATEPROGRAMOBJECTARBPROC ELglCreateProgramObjectARB; 476 extern PFNGLCREATESHADEROBJECTARBPROC ELglCreateShaderObjectARB; 477 extern PFNGLDELETEOBJECTARBPROC ELglDeleteObjectARB; 478 extern PFNGLDETACHOBJECTARBPROC ELglDetachObjectARB; 479 extern PFNGLGETACTIVEUNIFORMARBPROC ELglGetActiveUniformARB; 480 extern PFNGLGETATTACHEDOBJECTSARBPROC ELglGetAttachedObjectsARB; 481 extern PFNGLGETHANDLEARBPROC ELglGetHandleARB; 482 extern PFNGLGETINFOLOGARBPROC ELglGetInfoLogARB; 483 extern PFNGLGETOBJECTPARAMETERFVARBPROC ELglGetObjectParameterfvARB; 484 extern PFNGLGETOBJECTPARAMETERIVARBPROC ELglGetObjectParameterivARB; 485 extern PFNGLGETSHADERSOURCEARBPROC ELglGetShaderSourceARB; 486 extern PFNGLGETUNIFORMLOCATIONARBPROC ELglGetUniformLocationARB; 487 extern PFNGLGETUNIFORMFVARBPROC ELglGetUniformfvARB; 488 extern PFNGLGETUNIFORMIVARBPROC ELglGetUniformivARB; 489 extern PFNGLLINKPROGRAMARBPROC ELglLinkProgramARB; 490 extern PFNGLSHADERSOURCEARBPROC ELglShaderSourceARB; 491 extern PFNGLUNIFORM1FARBPROC ELglUniform1fARB; 492 extern PFNGLUNIFORM1FVARBPROC ELglUniform1fvARB; 493 extern PFNGLUNIFORM1IARBPROC ELglUniform1iARB; 494 extern PFNGLUNIFORM1IVARBPROC ELglUniform1ivARB; 495 extern PFNGLUNIFORM2FARBPROC ELglUniform2fARB; 496 extern PFNGLUNIFORM2FVARBPROC ELglUniform2fvARB; 497 extern PFNGLUNIFORM2IARBPROC ELglUniform2iARB; 498 extern PFNGLUNIFORM2IVARBPROC ELglUniform2ivARB; 499 extern PFNGLUNIFORM3FARBPROC ELglUniform3fARB; 500 extern PFNGLUNIFORM3FVARBPROC ELglUniform3fvARB; 501 extern PFNGLUNIFORM3IARBPROC ELglUniform3iARB; 502 extern PFNGLUNIFORM3IVARBPROC ELglUniform3ivARB; 503 extern PFNGLUNIFORM4FARBPROC ELglUniform4fARB; 504 extern PFNGLUNIFORM4FVARBPROC ELglUniform4fvARB; 505 extern PFNGLUNIFORM4IARBPROC ELglUniform4iARB; 506 extern PFNGLUNIFORM4IVARBPROC ELglUniform4ivARB; 507 extern PFNGLUNIFORMMATRIX2FVARBPROC ELglUniformMatrix2fvARB; 508 extern PFNGLUNIFORMMATRIX3FVARBPROC ELglUniformMatrix3fvARB; 509 extern PFNGLUNIFORMMATRIX4FVARBPROC ELglUniformMatrix4fvARB; 510 extern PFNGLUSEPROGRAMOBJECTARBPROC ELglUseProgramObjectARB; 511 extern PFNGLVALIDATEPROGRAMARBPROC ELglValidateProgramARB; 512 /* GL_ARB_shader_objects */ 513 514 /* GL_EXT_fog_coord */ 515 extern PFNGLFOGCOORDPOINTEREXTPROC ELglFogCoordPointerEXT; 516 extern PFNGLFOGCOORDDEXTPROC ELglFogCoorddEXT; 517 extern PFNGLFOGCOORDDVEXTPROC ELglFogCoorddvEXT; 518 extern PFNGLFOGCOORDFEXTPROC ELglFogCoordfEXT; 519 extern PFNGLFOGCOORDFVEXTPROC ELglFogCoordfvEXT; 520 /* GL_EXT_fog_coord */ 521 522 /* GL_EXT_gpu_program_parameters */ 523 extern PFNGLPROGRAMENVPARAMETERS4FVEXTPROC ELglProgramEnvParameters4fvEXT; 524 extern PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC ELglProgramLocalParameters4fvEXT; 525 /* GL_EXT_gpu_program_parameters */ 526 527 extern void init_opengl_extensions(); 528 extern Uint32 have_extension(extension_enum extension); 529 extern Uint32 get_texture_units(); 530 531 extern const char* get_gl_version_str(); 532 extern GLboolean supports_gl_version(Uint8 major, Uint8 minor); 533 534 #ifdef __cplusplus 535 } 536 #endif 537 538 #endif //_LOAD_GL_EXTENSIONS_H_ 539