aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llwindow/llglheaders.h
diff options
context:
space:
mode:
authorJacek Antonelli2008-08-15 23:44:46 -0500
committerJacek Antonelli2008-08-15 23:44:46 -0500
commit38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4 (patch)
treeadca584755d22ca041a2dbfc35d4eca01f70b32c /linden/indra/llwindow/llglheaders.h
parentREADME.txt (diff)
downloadmeta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.zip
meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.tar.gz
meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.tar.bz2
meta-impy-38d6d37f2d982fa959e9e8a4a3f7e1ccfad7b5d4.tar.xz
Second Life viewer sources 1.13.2.12
Diffstat (limited to 'linden/indra/llwindow/llglheaders.h')
-rw-r--r--linden/indra/llwindow/llglheaders.h486
1 files changed, 486 insertions, 0 deletions
diff --git a/linden/indra/llwindow/llglheaders.h b/linden/indra/llwindow/llglheaders.h
new file mode 100644
index 0000000..e67b6c7
--- /dev/null
+++ b/linden/indra/llwindow/llglheaders.h
@@ -0,0 +1,486 @@
1/**
2 * @file llglheaders.h
3 * @brief LLGL definitions
4 *
5 * Copyright (c) 2001-2007, Linden Research, Inc.
6 *
7 * The source code in this file ("Source Code") is provided by Linden Lab
8 * to you under the terms of the GNU General Public License, version 2.0
9 * ("GPL"), unless you have obtained a separate licensing agreement
10 * ("Other License"), formally executed by you and Linden Lab. Terms of
11 * the GPL can be found in doc/GPL-license.txt in this distribution, or
12 * online at http://secondlife.com/developers/opensource/gplv2
13 *
14 * There are special exceptions to the terms and conditions of the GPL as
15 * it is applied to this Source Code. View the full text of the exception
16 * in the file doc/FLOSS-exception.txt in this software distribution, or
17 * online at http://secondlife.com/developers/opensource/flossexception
18 *
19 * By copying, modifying or distributing this software, you acknowledge
20 * that you have read and understood your obligations described above,
21 * and agree to abide by those obligations.
22 *
23 * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
24 * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
25 * COMPLETENESS OR PERFORMANCE.
26 */
27
28#ifndef LL_LLGLHEADERS_H
29#define LL_LLGLHEADERS_H
30
31#if LL_LINUX
32# ifndef LL_MESA
33# define LL_MESA 1 // force MESA
34# endif
35# ifndef LL_MESA_HEADLESS
36# define LL_MESA_HEADLESS 1 // force MESA HEADLESS
37# endif
38#endif
39
40#if LL_MESA
41//----------------------------------------------------------------------------
42// MESA headers
43// quotes so we get libraries/.../GL/ version
44#define GL_GLEXT_PROTOTYPES
45#include "GL/gl.h"
46#include "GL/glext.h"
47#include "GL/glu.h"
48
49#elif LL_LINUX
50//----------------------------------------------------------------------------
51// Linux, MESA headers, but not necessarily assuming MESA runtime.
52// quotes so we get libraries/.../GL/ version
53#include "GL/gl.h"
54#include "GL/glext.h"
55#include "GL/glu.h"
56
57// GL_ARB_vertex_buffer_object
58extern PFNGLBINDBUFFERARBPROC glBindBufferARB;
59extern PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB;
60extern PFNGLGENBUFFERSARBPROC glGenBuffersARB;
61extern PFNGLISBUFFERARBPROC glIsBufferARB;
62extern PFNGLBUFFERDATAARBPROC glBufferDataARB;
63extern PFNGLBUFFERSUBDATAARBPROC glBufferSubDataARB;
64extern PFNGLGETBUFFERSUBDATAARBPROC glGetBufferSubDataARB;
65extern PFNGLMAPBUFFERARBPROC glMapBufferARB;
66extern PFNGLUNMAPBUFFERARBPROC glUnmapBufferARB;
67extern PFNGLGETBUFFERPARAMETERIVARBPROC glGetBufferParameterivARB;
68extern PFNGLGETBUFFERPOINTERVARBPROC glGetBufferPointervARB;
69
70// GL_ATI_vertex_array_object
71extern PFNGLNEWOBJECTBUFFERATIPROC glNewObjectBufferATI;
72extern PFNGLISOBJECTBUFFERATIPROC glIsObjectBufferATI;
73extern PFNGLUPDATEOBJECTBUFFERATIPROC glUpdateObjectBufferATI;
74extern PFNGLGETOBJECTBUFFERFVATIPROC glGetObjectBufferfvATI;
75extern PFNGLGETOBJECTBUFFERIVATIPROC glGetObjectBufferivATI;
76extern PFNGLFREEOBJECTBUFFERATIPROC glFreeObjectBufferATI;
77extern PFNGLARRAYOBJECTATIPROC glArrayObjectATI;
78extern PFNGLVERTEXATTRIBARRAYOBJECTATIPROC glVertexAttribArrayObjectATI;
79extern PFNGLGETARRAYOBJECTFVATIPROC glGetArrayObjectfvATI;
80extern PFNGLGETARRAYOBJECTIVATIPROC glGetArrayObjectivATI;
81extern PFNGLVARIANTARRAYOBJECTATIPROC glVariantObjectArrayATI;
82extern PFNGLGETVARIANTARRAYOBJECTFVATIPROC glGetVariantArrayObjectfvATI;
83extern PFNGLGETVARIANTARRAYOBJECTIVATIPROC glGetVariantArrayObjectivATI;
84
85// GL_ARB_occlusion_query
86extern PFNGLGENQUERIESARBPROC glGenQueriesARB;
87extern PFNGLDELETEQUERIESARBPROC glDeleteQueriesARB;
88extern PFNGLISQUERYARBPROC glIsQueryARB;
89extern PFNGLBEGINQUERYARBPROC glBeginQueryARB;
90extern PFNGLENDQUERYARBPROC glEndQueryARB;
91extern PFNGLGETQUERYIVARBPROC glGetQueryivARB;
92extern PFNGLGETQUERYOBJECTIVARBPROC glGetQueryObjectivARB;
93extern PFNGLGETQUERYOBJECTUIVARBPROC glGetQueryObjectuivARB;
94
95// GL_ARB_shader_objects
96extern PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
97extern PFNGLGETHANDLEARBPROC glGetHandleARB;
98extern PFNGLDETACHOBJECTARBPROC glDetachObjectARB;
99extern PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB;
100extern PFNGLSHADERSOURCEARBPROC glShaderSourceARB;
101extern PFNGLCOMPILESHADERARBPROC glCompileShaderARB;
102extern PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
103extern PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
104extern PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
105extern PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
106extern PFNGLVALIDATEPROGRAMARBPROC glValidateProgramARB;
107extern PFNGLUNIFORM1FARBPROC glUniform1fARB;
108extern PFNGLUNIFORM2FARBPROC glUniform2fARB;
109extern PFNGLUNIFORM3FARBPROC glUniform3fARB;
110extern PFNGLUNIFORM4FARBPROC glUniform4fARB;
111extern PFNGLUNIFORM1IARBPROC glUniform1iARB;
112extern PFNGLUNIFORM2IARBPROC glUniform2iARB;
113extern PFNGLUNIFORM3IARBPROC glUniform3iARB;
114extern PFNGLUNIFORM4IARBPROC glUniform4iARB;
115extern PFNGLUNIFORM1FVARBPROC glUniform1fvARB;
116extern PFNGLUNIFORM2FVARBPROC glUniform2fvARB;
117extern PFNGLUNIFORM3FVARBPROC glUniform3fvARB;
118extern PFNGLUNIFORM4FVARBPROC glUniform4fvARB;
119extern PFNGLUNIFORM1IVARBPROC glUniform1ivARB;
120extern PFNGLUNIFORM2IVARBPROC glUniform2ivARB;
121extern PFNGLUNIFORM3IVARBPROC glUniform3ivARB;
122extern PFNGLUNIFORM4IVARBPROC glUniform4ivARB;
123extern PFNGLUNIFORMMATRIX2FVARBPROC glUniformMatrix2fvARB;
124extern PFNGLUNIFORMMATRIX3FVARBPROC glUniformMatrix3fvARB;
125extern PFNGLUNIFORMMATRIX4FVARBPROC glUniformMatrix4fvARB;
126extern PFNGLGETOBJECTPARAMETERFVARBPROC glGetObjectParameterfvARB;
127extern PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB;
128extern PFNGLGETINFOLOGARBPROC glGetInfoLogARB;
129extern PFNGLGETATTACHEDOBJECTSARBPROC glGetAttachedObjectsARB;
130extern PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
131extern PFNGLGETACTIVEUNIFORMARBPROC glGetActiveUniformARB;
132extern PFNGLGETUNIFORMFVARBPROC glGetUniformfvARB;
133extern PFNGLGETUNIFORMIVARBPROC glGetUniformivARB;
134extern PFNGLGETSHADERSOURCEARBPROC glGetShaderSourceARB;
135
136// GL_ARB;_vertex_shader
137extern PFNGLVERTEXATTRIB1DARBPROC glVertexAttrib1dARB;
138extern PFNGLVERTEXATTRIB1DVARBPROC glVertexAttrib1dvARB;
139extern PFNGLVERTEXATTRIB1FARBPROC glVertexAttrib1fARB;
140extern PFNGLVERTEXATTRIB1FVARBPROC glVertexAttrib1fvARB;
141extern PFNGLVERTEXATTRIB1SARBPROC glVertexAttrib1sARB;
142extern PFNGLVERTEXATTRIB1SVARBPROC glVertexAttrib1svARB;
143extern PFNGLVERTEXATTRIB2DARBPROC glVertexAttrib2dARB;
144extern PFNGLVERTEXATTRIB2DVARBPROC glVertexAttrib2dvARB;
145extern PFNGLVERTEXATTRIB2FARBPROC glVertexAttrib2fARB;
146extern PFNGLVERTEXATTRIB2FVARBPROC glVertexAttrib2fvARB;
147extern PFNGLVERTEXATTRIB2SARBPROC glVertexAttrib2sARB;
148extern PFNGLVERTEXATTRIB2SVARBPROC glVertexAttrib2svARB;
149extern PFNGLVERTEXATTRIB3DARBPROC glVertexAttrib3dARB;
150extern PFNGLVERTEXATTRIB3DVARBPROC glVertexAttrib3dvARB;
151extern PFNGLVERTEXATTRIB3FARBPROC glVertexAttrib3fARB;
152extern PFNGLVERTEXATTRIB3FVARBPROC glVertexAttrib3fvARB;
153extern PFNGLVERTEXATTRIB3SARBPROC glVertexAttrib3sARB;
154extern PFNGLVERTEXATTRIB3SVARBPROC glVertexAttrib3svARB;
155extern PFNGLVERTEXATTRIB4NBVARBPROC glVertexAttrib4nbvARB;
156extern PFNGLVERTEXATTRIB4NIVARBPROC glVertexAttrib4nivARB;
157extern PFNGLVERTEXATTRIB4NSVARBPROC glVertexAttrib4nsvARB;
158extern PFNGLVERTEXATTRIB4NUBARBPROC glVertexAttrib4nubARB;
159extern PFNGLVERTEXATTRIB4NUBVARBPROC glVertexAttrib4nubvARB;
160extern PFNGLVERTEXATTRIB4NUIVARBPROC glVertexAttrib4nuivARB;
161extern PFNGLVERTEXATTRIB4NUSVARBPROC glVertexAttrib4nusvARB;
162extern PFNGLVERTEXATTRIB4BVARBPROC glVertexAttrib4bvARB;
163extern PFNGLVERTEXATTRIB4DARBPROC glVertexAttrib4dARB;
164extern PFNGLVERTEXATTRIB4DVARBPROC glVertexAttrib4dvARB;
165extern PFNGLVERTEXATTRIB4FARBPROC glVertexAttrib4fARB;
166extern PFNGLVERTEXATTRIB4FVARBPROC glVertexAttrib4fvARB;
167extern PFNGLVERTEXATTRIB4IVARBPROC glVertexAttrib4ivARB;
168extern PFNGLVERTEXATTRIB4SARBPROC glVertexAttrib4sARB;
169extern PFNGLVERTEXATTRIB4SVARBPROC glVertexAttrib4svARB;
170extern PFNGLVERTEXATTRIB4UBVARBPROC glVertexAttrib4ubvARB;
171extern PFNGLVERTEXATTRIB4UIVARBPROC glVertexAttrib4uivARB;
172extern PFNGLVERTEXATTRIB4USVARBPROC glVertexAttrib4usvARB;
173extern PFNGLVERTEXATTRIBPOINTERARBPROC glVertexAttribPointerARB;
174extern PFNGLENABLEVERTEXATTRIBARRAYARBPROC glEnableVertexAttribArrayARB;
175extern PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glDisableVertexAttribArrayARB;
176extern PFNGLPROGRAMSTRINGARBPROC glProgramStringARB;
177extern PFNGLBINDPROGRAMARBPROC glBindProgramARB;
178extern PFNGLDELETEPROGRAMSARBPROC glDeleteProgramsARB;
179extern PFNGLGENPROGRAMSARBPROC glGenProgramsARB;
180extern PFNGLPROGRAMENVPARAMETER4DARBPROC glProgramEnvParameter4dARB;
181extern PFNGLPROGRAMENVPARAMETER4DVARBPROC glProgramEnvParameter4dvARB;
182extern PFNGLPROGRAMENVPARAMETER4FARBPROC glProgramEnvParameter4fARB;
183extern PFNGLPROGRAMENVPARAMETER4FVARBPROC glProgramEnvParameter4fvARB;
184extern PFNGLPROGRAMLOCALPARAMETER4DARBPROC glProgramLocalParameter4dARB;
185extern PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glProgramLocalParameter4dvARB;
186extern PFNGLPROGRAMLOCALPARAMETER4FARBPROC glProgramLocalParameter4fARB;
187extern PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glProgramLocalParameter4fvARB;
188extern PFNGLGETPROGRAMENVPARAMETERDVARBPROC glGetProgramEnvParameterdvARB;
189extern PFNGLGETPROGRAMENVPARAMETERFVARBPROC glGetProgramEnvParameterfvARB;
190extern PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glGetProgramLocalParameterdvARB;
191extern PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glGetProgramLocalParameterfvARB;
192extern PFNGLGETPROGRAMIVARBPROC glGetProgramivARB;
193extern PFNGLGETPROGRAMSTRINGARBPROC glGetProgramStringARB;
194extern PFNGLGETVERTEXATTRIBDVARBPROC glGetVertexAttribdvARB;
195extern PFNGLGETVERTEXATTRIBFVARBPROC glGetVertexAttribfvARB;
196extern PFNGLGETVERTEXATTRIBIVARBPROC glGetVertexAttribivARB;
197extern PFNGLGETVERTEXATTRIBPOINTERVARBPROC glGetVertexAttribPointervARB;
198extern PFNGLISPROGRAMARBPROC glIsProgramARB;
199extern PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
200extern PFNGLGETACTIVEATTRIBARBPROC glGetActiveAttribARB;
201extern PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB;
202
203extern PFNGLCOMPRESSEDTEXIMAGE2DARBPROC glCompressedTexImage2DARB;
204extern PFNGLGETCOMPRESSEDTEXIMAGEARBPROC glGetCompressedTexImageARB;
205
206extern PFNGLCOLORTABLEEXTPROC glColorTableEXT;
207
208#elif LL_WINDOWS
209//----------------------------------------------------------------------------
210#include <GL/gl.h>
211#include <GL/glu.h>
212
213// quotes so we get libraries/.../GL/ version
214#include "GL/glext.h"
215#include "GL/glh_extensions.h"
216
217
218// GL_ARB_vertex_buffer_object
219extern PFNGLBINDBUFFERARBPROC glBindBufferARB;
220extern PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB;
221extern PFNGLGENBUFFERSARBPROC glGenBuffersARB;
222extern PFNGLISBUFFERARBPROC glIsBufferARB;
223extern PFNGLBUFFERDATAARBPROC glBufferDataARB;
224extern PFNGLBUFFERSUBDATAARBPROC glBufferSubDataARB;
225extern PFNGLGETBUFFERSUBDATAARBPROC glGetBufferSubDataARB;
226extern PFNGLMAPBUFFERARBPROC glMapBufferARB;
227extern PFNGLUNMAPBUFFERARBPROC glUnmapBufferARB;
228extern PFNGLGETBUFFERPARAMETERIVARBPROC glGetBufferParameterivARB;
229extern PFNGLGETBUFFERPOINTERVARBPROC glGetBufferPointervARB;
230
231// GL_ATI_vertex_array_object
232extern PFNGLNEWOBJECTBUFFERATIPROC glNewObjectBufferATI;
233extern PFNGLISOBJECTBUFFERATIPROC glIsObjectBufferATI;
234extern PFNGLUPDATEOBJECTBUFFERATIPROC glUpdateObjectBufferATI;
235extern PFNGLGETOBJECTBUFFERFVATIPROC glGetObjectBufferfvATI;
236extern PFNGLGETOBJECTBUFFERIVATIPROC glGetObjectBufferivATI;
237extern PFNGLFREEOBJECTBUFFERATIPROC glFreeObjectBufferATI;
238extern PFNGLARRAYOBJECTATIPROC glArrayObjectATI;
239extern PFNGLVERTEXATTRIBARRAYOBJECTATIPROC glVertexAttribArrayObjectATI;
240extern PFNGLGETARRAYOBJECTFVATIPROC glGetArrayObjectfvATI;
241extern PFNGLGETARRAYOBJECTIVATIPROC glGetArrayObjectivATI;
242extern PFNGLVARIANTARRAYOBJECTATIPROC glVariantObjectArrayATI;
243extern PFNGLGETVARIANTARRAYOBJECTFVATIPROC glGetVariantArrayObjectfvATI;
244extern PFNGLGETVARIANTARRAYOBJECTIVATIPROC glGetVariantArrayObjectivATI;
245
246extern PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT;
247
248// GL_ARB_occlusion_query
249extern PFNGLGENQUERIESARBPROC glGenQueriesARB;
250extern PFNGLDELETEQUERIESARBPROC glDeleteQueriesARB;
251extern PFNGLISQUERYARBPROC glIsQueryARB;
252extern PFNGLBEGINQUERYARBPROC glBeginQueryARB;
253extern PFNGLENDQUERYARBPROC glEndQueryARB;
254extern PFNGLGETQUERYIVARBPROC glGetQueryivARB;
255extern PFNGLGETQUERYOBJECTIVARBPROC glGetQueryObjectivARB;
256extern PFNGLGETQUERYOBJECTUIVARBPROC glGetQueryObjectuivARB;
257
258// GL_ARB_shader_objects
259extern PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
260extern PFNGLGETHANDLEARBPROC glGetHandleARB;
261extern PFNGLDETACHOBJECTARBPROC glDetachObjectARB;
262extern PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB;
263extern PFNGLSHADERSOURCEARBPROC glShaderSourceARB;
264extern PFNGLCOMPILESHADERARBPROC glCompileShaderARB;
265extern PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
266extern PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
267extern PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
268extern PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
269extern PFNGLVALIDATEPROGRAMARBPROC glValidateProgramARB;
270extern PFNGLUNIFORM1FARBPROC glUniform1fARB;
271extern PFNGLUNIFORM2FARBPROC glUniform2fARB;
272extern PFNGLUNIFORM3FARBPROC glUniform3fARB;
273extern PFNGLUNIFORM4FARBPROC glUniform4fARB;
274extern PFNGLUNIFORM1IARBPROC glUniform1iARB;
275extern PFNGLUNIFORM2IARBPROC glUniform2iARB;
276extern PFNGLUNIFORM3IARBPROC glUniform3iARB;
277extern PFNGLUNIFORM4IARBPROC glUniform4iARB;
278extern PFNGLUNIFORM1FVARBPROC glUniform1fvARB;
279extern PFNGLUNIFORM2FVARBPROC glUniform2fvARB;
280extern PFNGLUNIFORM3FVARBPROC glUniform3fvARB;
281extern PFNGLUNIFORM4FVARBPROC glUniform4fvARB;
282extern PFNGLUNIFORM1IVARBPROC glUniform1ivARB;
283extern PFNGLUNIFORM2IVARBPROC glUniform2ivARB;
284extern PFNGLUNIFORM3IVARBPROC glUniform3ivARB;
285extern PFNGLUNIFORM4IVARBPROC glUniform4ivARB;
286extern PFNGLUNIFORMMATRIX2FVARBPROC glUniformMatrix2fvARB;
287extern PFNGLUNIFORMMATRIX3FVARBPROC glUniformMatrix3fvARB;
288extern PFNGLUNIFORMMATRIX4FVARBPROC glUniformMatrix4fvARB;
289extern PFNGLGETOBJECTPARAMETERFVARBPROC glGetObjectParameterfvARB;
290extern PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB;
291extern PFNGLGETINFOLOGARBPROC glGetInfoLogARB;
292extern PFNGLGETATTACHEDOBJECTSARBPROC glGetAttachedObjectsARB;
293extern PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
294extern PFNGLGETACTIVEUNIFORMARBPROC glGetActiveUniformARB;
295extern PFNGLGETUNIFORMFVARBPROC glGetUniformfvARB;
296extern PFNGLGETUNIFORMIVARBPROC glGetUniformivARB;
297extern PFNGLGETSHADERSOURCEARBPROC glGetShaderSourceARB;
298
299// GL_ARB;_vertex_shader
300extern PFNGLVERTEXATTRIB1DARBPROC glVertexAttrib1dARB;
301extern PFNGLVERTEXATTRIB1DVARBPROC glVertexAttrib1dvARB;
302extern PFNGLVERTEXATTRIB1FARBPROC glVertexAttrib1fARB;
303extern PFNGLVERTEXATTRIB1FVARBPROC glVertexAttrib1fvARB;
304extern PFNGLVERTEXATTRIB1SARBPROC glVertexAttrib1sARB;
305extern PFNGLVERTEXATTRIB1SVARBPROC glVertexAttrib1svARB;
306extern PFNGLVERTEXATTRIB2DARBPROC glVertexAttrib2dARB;
307extern PFNGLVERTEXATTRIB2DVARBPROC glVertexAttrib2dvARB;
308extern PFNGLVERTEXATTRIB2FARBPROC glVertexAttrib2fARB;
309extern PFNGLVERTEXATTRIB2FVARBPROC glVertexAttrib2fvARB;
310extern PFNGLVERTEXATTRIB2SARBPROC glVertexAttrib2sARB;
311extern PFNGLVERTEXATTRIB2SVARBPROC glVertexAttrib2svARB;
312extern PFNGLVERTEXATTRIB3DARBPROC glVertexAttrib3dARB;
313extern PFNGLVERTEXATTRIB3DVARBPROC glVertexAttrib3dvARB;
314extern PFNGLVERTEXATTRIB3FARBPROC glVertexAttrib3fARB;
315extern PFNGLVERTEXATTRIB3FVARBPROC glVertexAttrib3fvARB;
316extern PFNGLVERTEXATTRIB3SARBPROC glVertexAttrib3sARB;
317extern PFNGLVERTEXATTRIB3SVARBPROC glVertexAttrib3svARB;
318extern PFNGLVERTEXATTRIB4NBVARBPROC glVertexAttrib4nbvARB;
319extern PFNGLVERTEXATTRIB4NIVARBPROC glVertexAttrib4nivARB;
320extern PFNGLVERTEXATTRIB4NSVARBPROC glVertexAttrib4nsvARB;
321extern PFNGLVERTEXATTRIB4NUBARBPROC glVertexAttrib4nubARB;
322extern PFNGLVERTEXATTRIB4NUBVARBPROC glVertexAttrib4nubvARB;
323extern PFNGLVERTEXATTRIB4NUIVARBPROC glVertexAttrib4nuivARB;
324extern PFNGLVERTEXATTRIB4NUSVARBPROC glVertexAttrib4nusvARB;
325extern PFNGLVERTEXATTRIB4BVARBPROC glVertexAttrib4bvARB;
326extern PFNGLVERTEXATTRIB4DARBPROC glVertexAttrib4dARB;
327extern PFNGLVERTEXATTRIB4DVARBPROC glVertexAttrib4dvARB;
328extern PFNGLVERTEXATTRIB4FARBPROC glVertexAttrib4fARB;
329extern PFNGLVERTEXATTRIB4FVARBPROC glVertexAttrib4fvARB;
330extern PFNGLVERTEXATTRIB4IVARBPROC glVertexAttrib4ivARB;
331extern PFNGLVERTEXATTRIB4SARBPROC glVertexAttrib4sARB;
332extern PFNGLVERTEXATTRIB4SVARBPROC glVertexAttrib4svARB;
333extern PFNGLVERTEXATTRIB4UBVARBPROC glVertexAttrib4ubvARB;
334extern PFNGLVERTEXATTRIB4UIVARBPROC glVertexAttrib4uivARB;
335extern PFNGLVERTEXATTRIB4USVARBPROC glVertexAttrib4usvARB;
336extern PFNGLVERTEXATTRIBPOINTERARBPROC glVertexAttribPointerARB;
337extern PFNGLENABLEVERTEXATTRIBARRAYARBPROC glEnableVertexAttribArrayARB;
338extern PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glDisableVertexAttribArrayARB;
339extern PFNGLPROGRAMSTRINGARBPROC glProgramStringARB;
340extern PFNGLBINDPROGRAMARBPROC glBindProgramARB;
341extern PFNGLDELETEPROGRAMSARBPROC glDeleteProgramsARB;
342extern PFNGLGENPROGRAMSARBPROC glGenProgramsARB;
343extern PFNGLPROGRAMENVPARAMETER4DARBPROC glProgramEnvParameter4dARB;
344extern PFNGLPROGRAMENVPARAMETER4DVARBPROC glProgramEnvParameter4dvARB;
345extern PFNGLPROGRAMENVPARAMETER4FARBPROC glProgramEnvParameter4fARB;
346extern PFNGLPROGRAMENVPARAMETER4FVARBPROC glProgramEnvParameter4fvARB;
347extern PFNGLPROGRAMLOCALPARAMETER4DARBPROC glProgramLocalParameter4dARB;
348extern PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glProgramLocalParameter4dvARB;
349extern PFNGLPROGRAMLOCALPARAMETER4FARBPROC glProgramLocalParameter4fARB;
350extern PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glProgramLocalParameter4fvARB;
351extern PFNGLGETPROGRAMENVPARAMETERDVARBPROC glGetProgramEnvParameterdvARB;
352extern PFNGLGETPROGRAMENVPARAMETERFVARBPROC glGetProgramEnvParameterfvARB;
353extern PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glGetProgramLocalParameterdvARB;
354extern PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glGetProgramLocalParameterfvARB;
355extern PFNGLGETPROGRAMIVARBPROC glGetProgramivARB;
356extern PFNGLGETPROGRAMSTRINGARBPROC glGetProgramStringARB;
357extern PFNGLGETVERTEXATTRIBDVARBPROC glGetVertexAttribdvARB;
358extern PFNGLGETVERTEXATTRIBFVARBPROC glGetVertexAttribfvARB;
359extern PFNGLGETVERTEXATTRIBIVARBPROC glGetVertexAttribivARB;
360extern PFNGLGETVERTEXATTRIBPOINTERVARBPROC glGetVertexAttribPointervARB;
361extern PFNGLISPROGRAMARBPROC glIsProgramARB;
362extern PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
363extern PFNGLGETACTIVEATTRIBARBPROC glGetActiveAttribARB;
364extern PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB;
365
366
367#elif LL_DARWIN
368//----------------------------------------------------------------------------
369// LL_DARWIN
370
371#include <OpenGL/gl.h>
372#include <OpenGL/glu.h>
373
374#define GL_EXT_separate_specular_color 1
375#include <OpenGL/glext.h>
376
377#include "GL/glh_extensions.h"
378
379#ifdef __cplusplus
380extern "C" {
381#endif
382//
383// Define vertex buffer object headers on Mac
384//
385#ifndef GL_ARB_vertex_buffer_object
386#define GL_BUFFER_SIZE_ARB 0x8764
387#define GL_BUFFER_USAGE_ARB 0x8765
388#define GL_ARRAY_BUFFER_ARB 0x8892
389#define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893
390#define GL_ARRAY_BUFFER_BINDING_ARB 0x8894
391#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
392#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
393#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
394#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898
395#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899
396#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A
397#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B
398#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C
399#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D
400#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E
401#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F
402#define GL_READ_ONLY_ARB 0x88B8
403#define GL_WRITE_ONLY_ARB 0x88B9
404#define GL_READ_WRITE_ARB 0x88BA
405#define GL_BUFFER_ACCESS_ARB 0x88BB
406#define GL_BUFFER_MAPPED_ARB 0x88BC
407#define GL_BUFFER_MAP_POINTER_ARB 0x88BD
408#define GL_STREAM_DRAW_ARB 0x88E0
409#define GL_STREAM_READ_ARB 0x88E1
410#define GL_STREAM_COPY_ARB 0x88E2
411#define GL_STATIC_DRAW_ARB 0x88E4
412#define GL_STATIC_READ_ARB 0x88E5
413#define GL_STATIC_COPY_ARB 0x88E6
414#define GL_DYNAMIC_DRAW_ARB 0x88E8
415#define GL_DYNAMIC_READ_ARB 0x88E9
416#define GL_DYNAMIC_COPY_ARB 0x88EA
417#endif
418
419
420
421#ifndef GL_ARB_vertex_buffer_object
422/* GL types for handling large vertex buffer objects */
423typedef intptr_t GLintptrARB;
424typedef intptr_t GLsizeiptrARB;
425#endif
426
427
428#ifndef GL_ARB_vertex_buffer_object
429#define GL_ARB_vertex_buffer_object 1
430#ifdef GL_GLEXT_FUNCTION_POINTERS
431typedef void (* glBindBufferARBProcPtr) (GLenum target, GLuint buffer);
432typedef void (* glDeleteBufferARBProcPtr) (GLsizei n, const GLuint *buffers);
433typedef void (* glGenBuffersARBProcPtr) (GLsizei n, GLuint *buffers);
434typedef GLboolean (* glIsBufferARBProcPtr) (GLuint buffer);
435typedef void (* glBufferDataARBProcPtr) (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);
436typedef void (* glBufferSubDataARBProcPtr) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);
437typedef void (* glGetBufferSubDataARBProcPtr) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);
438typedef GLvoid* (* glMapBufferARBProcPtr) (GLenum target, GLenum access);
439typedef GLboolean (* glUnmapBufferARBProcPtr) (GLenum target);
440typedef void (* glGetBufferParameterivARBProcPtr) (GLenum target, GLenum pname, GLint *params);
441typedef void (* glGetBufferPointervARBProcPtr) (GLenum target, GLenum pname, GLvoid* *params);
442#else
443extern void glBindBufferARB (GLenum, GLuint);
444extern void glDeleteBuffersARB (GLsizei, const GLuint *);
445extern void glGenBuffersARB (GLsizei, GLuint *);
446extern GLboolean glIsBufferARB (GLuint);
447extern void glBufferDataARB (GLenum, GLsizeiptrARB, const GLvoid *, GLenum);
448extern void glBufferSubDataARB (GLenum, GLintptrARB, GLsizeiptrARB, const GLvoid *);
449extern void glGetBufferSubDataARB (GLenum, GLintptrARB, GLsizeiptrARB, GLvoid *);
450extern GLvoid* glMapBufferARB (GLenum, GLenum);
451extern GLboolean glUnmapBufferARB (GLenum);
452extern void glGetBufferParameterivARB (GLenum, GLenum, GLint *);
453extern void glGetBufferPointervARB (GLenum, GLenum, GLvoid* *);
454#endif /* GL_GLEXT_FUNCTION_POINTERS */
455#endif
456
457// May be needed for DARWIN...
458// #ifndef GL_ARB_compressed_tex_image
459// #define GL_ARB_compressed_tex_image 1
460// #ifdef GL_GLEXT_FUNCTION_POINTERS
461// typedef void (* glCompressedTexImage1D) (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid*);
462// typedef void (* glCompressedTexImage2D) (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid*);
463// typedef void (* glCompressedTexImage3D) (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid*);
464// typedef void (* glCompressedTexSubImage1D) (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid*);
465// typedef void (* glCompressedTexSubImage2D) (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid*);
466// typedef void (* glCompressedTexSubImage3D) (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid*);
467// typedef void (* glGetCompressedTexImage) (GLenum, GLint, GLvoid*);
468// #else
469// extern void glCompressedTexImage1D (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid*);
470// extern void glCompressedTexImage2D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid*);
471// extern void glCompressedTexImage3D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid*);
472// extern void glCompressedTexSubImage1D (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid*);
473// extern void glCompressedTexSubImage2D (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid*);
474// extern void glCompressedTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid*);
475// extern void glGetCompressedTexImage (GLenum, GLint, GLvoid*);
476// #endif /* GL_GLEXT_FUNCTION_POINTERS */
477// #endif
478
479#ifdef __cplusplus
480}
481#endif
482
483#endif // LL_MESA / LL_WINDOWS / LL_DARWIN
484
485
486#endif // LL_LLGLHEADERS_H