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