00001
00032 #ifndef LL_LLGLHEADERS_H
00033 #define LL_LLGLHEADERS_H
00034
00035 #if LL_LINUX
00036 # ifndef LL_MESA
00037 # define LL_MESA 1 // force MESA
00038 # endif
00039 # ifndef LL_MESA_HEADLESS
00040 # define LL_MESA_HEADLESS 1 // force MESA HEADLESS
00041 # endif
00042 #endif
00043
00044 #if LL_MESA
00045
00046
00047
00048 #define GL_GLEXT_PROTOTYPES
00049 #include "GL/gl.h"
00050 #include "GL/glext.h"
00051 #include "GL/glu.h"
00052
00053
00054 # define __APPLE__
00055 # include "GL/glh_extensions.h"
00056 # undef __APPLE__
00057
00058 #elif LL_LINUX
00059
00060
00061
00062 #include "GL/gl.h"
00063 #include "GL/glext.h"
00064 #include "GL/glu.h"
00065
00066
00067 #if LL_LINUX && !LL_MESA_HEADLESS
00068
00069 # define __APPLE__
00070 # include "GL/glh_extensions.h"
00071 # undef __APPLE__
00072
00073
00074
00075
00076
00077
00078 #define GLX_GLXEXT_PROTOTYPES 1
00079 # include "GL/glx.h"
00080 # include "GL/glxext.h"
00081
00082
00083 # define GLH_EXT_GET_PROC_ADDRESS(p) glXGetProcAddressARB((const GLubyte*)(p))
00084
00085 #undef Status
00086 #endif // LL_LINUX && !LL_MESA_HEADLESS
00087
00088
00089
00090 extern PFNGLBINDBUFFERARBPROC glBindBufferARB;
00091 extern PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB;
00092 extern PFNGLGENBUFFERSARBPROC glGenBuffersARB;
00093 extern PFNGLISBUFFERARBPROC glIsBufferARB;
00094 extern PFNGLBUFFERDATAARBPROC glBufferDataARB;
00095 extern PFNGLBUFFERSUBDATAARBPROC glBufferSubDataARB;
00096 extern PFNGLGETBUFFERSUBDATAARBPROC glGetBufferSubDataARB;
00097 extern PFNGLMAPBUFFERARBPROC glMapBufferARB;
00098 extern PFNGLUNMAPBUFFERARBPROC glUnmapBufferARB;
00099 extern PFNGLGETBUFFERPARAMETERIVARBPROC glGetBufferParameterivARB;
00100 extern PFNGLGETBUFFERPOINTERVARBPROC glGetBufferPointervARB;
00101
00102
00103 extern PFNGLNEWOBJECTBUFFERATIPROC glNewObjectBufferATI;
00104 extern PFNGLISOBJECTBUFFERATIPROC glIsObjectBufferATI;
00105 extern PFNGLUPDATEOBJECTBUFFERATIPROC glUpdateObjectBufferATI;
00106 extern PFNGLGETOBJECTBUFFERFVATIPROC glGetObjectBufferfvATI;
00107 extern PFNGLGETOBJECTBUFFERIVATIPROC glGetObjectBufferivATI;
00108 extern PFNGLFREEOBJECTBUFFERATIPROC glFreeObjectBufferATI;
00109 extern PFNGLARRAYOBJECTATIPROC glArrayObjectATI;
00110 extern PFNGLVERTEXATTRIBARRAYOBJECTATIPROC glVertexAttribArrayObjectATI;
00111 extern PFNGLGETARRAYOBJECTFVATIPROC glGetArrayObjectfvATI;
00112 extern PFNGLGETARRAYOBJECTIVATIPROC glGetArrayObjectivATI;
00113 extern PFNGLVARIANTARRAYOBJECTATIPROC glVariantObjectArrayATI;
00114 extern PFNGLGETVARIANTARRAYOBJECTFVATIPROC glGetVariantArrayObjectfvATI;
00115 extern PFNGLGETVARIANTARRAYOBJECTIVATIPROC glGetVariantArrayObjectivATI;
00116
00117
00118 extern PFNGLGENQUERIESARBPROC glGenQueriesARB;
00119 extern PFNGLDELETEQUERIESARBPROC glDeleteQueriesARB;
00120 extern PFNGLISQUERYARBPROC glIsQueryARB;
00121 extern PFNGLBEGINQUERYARBPROC glBeginQueryARB;
00122 extern PFNGLENDQUERYARBPROC glEndQueryARB;
00123 extern PFNGLGETQUERYIVARBPROC glGetQueryivARB;
00124 extern PFNGLGETQUERYOBJECTIVARBPROC glGetQueryObjectivARB;
00125 extern PFNGLGETQUERYOBJECTUIVARBPROC glGetQueryObjectuivARB;
00126
00127
00128 extern PFNGLPOINTPARAMETERFARBPROC glPointParameterfARB;
00129 extern PFNGLPOINTPARAMETERFVARBPROC glPointParameterfvARB;
00130
00131
00132 extern PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
00133 extern PFNGLGETHANDLEARBPROC glGetHandleARB;
00134 extern PFNGLDETACHOBJECTARBPROC glDetachObjectARB;
00135 extern PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB;
00136 extern PFNGLSHADERSOURCEARBPROC glShaderSourceARB;
00137 extern PFNGLCOMPILESHADERARBPROC glCompileShaderARB;
00138 extern PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
00139 extern PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
00140 extern PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
00141 extern PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
00142 extern PFNGLVALIDATEPROGRAMARBPROC glValidateProgramARB;
00143 extern PFNGLUNIFORM1FARBPROC glUniform1fARB;
00144 extern PFNGLUNIFORM2FARBPROC glUniform2fARB;
00145 extern PFNGLUNIFORM3FARBPROC glUniform3fARB;
00146 extern PFNGLUNIFORM4FARBPROC glUniform4fARB;
00147 extern PFNGLUNIFORM1IARBPROC glUniform1iARB;
00148 extern PFNGLUNIFORM2IARBPROC glUniform2iARB;
00149 extern PFNGLUNIFORM3IARBPROC glUniform3iARB;
00150 extern PFNGLUNIFORM4IARBPROC glUniform4iARB;
00151 extern PFNGLUNIFORM1FVARBPROC glUniform1fvARB;
00152 extern PFNGLUNIFORM2FVARBPROC glUniform2fvARB;
00153 extern PFNGLUNIFORM3FVARBPROC glUniform3fvARB;
00154 extern PFNGLUNIFORM4FVARBPROC glUniform4fvARB;
00155 extern PFNGLUNIFORM1IVARBPROC glUniform1ivARB;
00156 extern PFNGLUNIFORM2IVARBPROC glUniform2ivARB;
00157 extern PFNGLUNIFORM3IVARBPROC glUniform3ivARB;
00158 extern PFNGLUNIFORM4IVARBPROC glUniform4ivARB;
00159 extern PFNGLUNIFORMMATRIX2FVARBPROC glUniformMatrix2fvARB;
00160 extern PFNGLUNIFORMMATRIX3FVARBPROC glUniformMatrix3fvARB;
00161 extern PFNGLUNIFORMMATRIX4FVARBPROC glUniformMatrix4fvARB;
00162 extern PFNGLGETOBJECTPARAMETERFVARBPROC glGetObjectParameterfvARB;
00163 extern PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB;
00164 extern PFNGLGETINFOLOGARBPROC glGetInfoLogARB;
00165 extern PFNGLGETATTACHEDOBJECTSARBPROC glGetAttachedObjectsARB;
00166 extern PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
00167 extern PFNGLGETACTIVEUNIFORMARBPROC glGetActiveUniformARB;
00168 extern PFNGLGETUNIFORMFVARBPROC glGetUniformfvARB;
00169 extern PFNGLGETUNIFORMIVARBPROC glGetUniformivARB;
00170 extern PFNGLGETSHADERSOURCEARBPROC glGetShaderSourceARB;
00171
00172
00173 extern PFNGLVERTEXATTRIB1DARBPROC glVertexAttrib1dARB;
00174 extern PFNGLVERTEXATTRIB1DVARBPROC glVertexAttrib1dvARB;
00175 extern PFNGLVERTEXATTRIB1FARBPROC glVertexAttrib1fARB;
00176 extern PFNGLVERTEXATTRIB1FVARBPROC glVertexAttrib1fvARB;
00177 extern PFNGLVERTEXATTRIB1SARBPROC glVertexAttrib1sARB;
00178 extern PFNGLVERTEXATTRIB1SVARBPROC glVertexAttrib1svARB;
00179 extern PFNGLVERTEXATTRIB2DARBPROC glVertexAttrib2dARB;
00180 extern PFNGLVERTEXATTRIB2DVARBPROC glVertexAttrib2dvARB;
00181 extern PFNGLVERTEXATTRIB2FARBPROC glVertexAttrib2fARB;
00182 extern PFNGLVERTEXATTRIB2FVARBPROC glVertexAttrib2fvARB;
00183 extern PFNGLVERTEXATTRIB2SARBPROC glVertexAttrib2sARB;
00184 extern PFNGLVERTEXATTRIB2SVARBPROC glVertexAttrib2svARB;
00185 extern PFNGLVERTEXATTRIB3DARBPROC glVertexAttrib3dARB;
00186 extern PFNGLVERTEXATTRIB3DVARBPROC glVertexAttrib3dvARB;
00187 extern PFNGLVERTEXATTRIB3FARBPROC glVertexAttrib3fARB;
00188 extern PFNGLVERTEXATTRIB3FVARBPROC glVertexAttrib3fvARB;
00189 extern PFNGLVERTEXATTRIB3SARBPROC glVertexAttrib3sARB;
00190 extern PFNGLVERTEXATTRIB3SVARBPROC glVertexAttrib3svARB;
00191 extern PFNGLVERTEXATTRIB4NBVARBPROC glVertexAttrib4nbvARB;
00192 extern PFNGLVERTEXATTRIB4NIVARBPROC glVertexAttrib4nivARB;
00193 extern PFNGLVERTEXATTRIB4NSVARBPROC glVertexAttrib4nsvARB;
00194 extern PFNGLVERTEXATTRIB4NUBARBPROC glVertexAttrib4nubARB;
00195 extern PFNGLVERTEXATTRIB4NUBVARBPROC glVertexAttrib4nubvARB;
00196 extern PFNGLVERTEXATTRIB4NUIVARBPROC glVertexAttrib4nuivARB;
00197 extern PFNGLVERTEXATTRIB4NUSVARBPROC glVertexAttrib4nusvARB;
00198 extern PFNGLVERTEXATTRIB4BVARBPROC glVertexAttrib4bvARB;
00199 extern PFNGLVERTEXATTRIB4DARBPROC glVertexAttrib4dARB;
00200 extern PFNGLVERTEXATTRIB4DVARBPROC glVertexAttrib4dvARB;
00201 extern PFNGLVERTEXATTRIB4FARBPROC glVertexAttrib4fARB;
00202 extern PFNGLVERTEXATTRIB4FVARBPROC glVertexAttrib4fvARB;
00203 extern PFNGLVERTEXATTRIB4IVARBPROC glVertexAttrib4ivARB;
00204 extern PFNGLVERTEXATTRIB4SARBPROC glVertexAttrib4sARB;
00205 extern PFNGLVERTEXATTRIB4SVARBPROC glVertexAttrib4svARB;
00206 extern PFNGLVERTEXATTRIB4UBVARBPROC glVertexAttrib4ubvARB;
00207 extern PFNGLVERTEXATTRIB4UIVARBPROC glVertexAttrib4uivARB;
00208 extern PFNGLVERTEXATTRIB4USVARBPROC glVertexAttrib4usvARB;
00209 extern PFNGLVERTEXATTRIBPOINTERARBPROC glVertexAttribPointerARB;
00210 extern PFNGLENABLEVERTEXATTRIBARRAYARBPROC glEnableVertexAttribArrayARB;
00211 extern PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glDisableVertexAttribArrayARB;
00212 extern PFNGLPROGRAMSTRINGARBPROC glProgramStringARB;
00213 extern PFNGLBINDPROGRAMARBPROC glBindProgramARB;
00214 extern PFNGLDELETEPROGRAMSARBPROC glDeleteProgramsARB;
00215 extern PFNGLGENPROGRAMSARBPROC glGenProgramsARB;
00216 extern PFNGLPROGRAMENVPARAMETER4DARBPROC glProgramEnvParameter4dARB;
00217 extern PFNGLPROGRAMENVPARAMETER4DVARBPROC glProgramEnvParameter4dvARB;
00218 extern PFNGLPROGRAMENVPARAMETER4FARBPROC glProgramEnvParameter4fARB;
00219 extern PFNGLPROGRAMENVPARAMETER4FVARBPROC glProgramEnvParameter4fvARB;
00220 extern PFNGLPROGRAMLOCALPARAMETER4DARBPROC glProgramLocalParameter4dARB;
00221 extern PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glProgramLocalParameter4dvARB;
00222 extern PFNGLPROGRAMLOCALPARAMETER4FARBPROC glProgramLocalParameter4fARB;
00223 extern PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glProgramLocalParameter4fvARB;
00224 extern PFNGLGETPROGRAMENVPARAMETERDVARBPROC glGetProgramEnvParameterdvARB;
00225 extern PFNGLGETPROGRAMENVPARAMETERFVARBPROC glGetProgramEnvParameterfvARB;
00226 extern PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glGetProgramLocalParameterdvARB;
00227 extern PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glGetProgramLocalParameterfvARB;
00228 extern PFNGLGETPROGRAMIVARBPROC glGetProgramivARB;
00229 extern PFNGLGETPROGRAMSTRINGARBPROC glGetProgramStringARB;
00230 extern PFNGLGETVERTEXATTRIBDVARBPROC glGetVertexAttribdvARB;
00231 extern PFNGLGETVERTEXATTRIBFVARBPROC glGetVertexAttribfvARB;
00232 extern PFNGLGETVERTEXATTRIBIVARBPROC glGetVertexAttribivARB;
00233 extern PFNGLGETVERTEXATTRIBPOINTERVARBPROC glGetVertexAttribPointervARB;
00234 extern PFNGLISPROGRAMARBPROC glIsProgramARB;
00235 extern PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
00236 extern PFNGLGETACTIVEATTRIBARBPROC glGetActiveAttribARB;
00237 extern PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB;
00238
00239 extern PFNGLCOMPRESSEDTEXIMAGE2DARBPROC glCompressedTexImage2DARB;
00240 extern PFNGLGETCOMPRESSEDTEXIMAGEARBPROC glGetCompressedTexImageARB;
00241
00242 extern PFNGLCOLORTABLEEXTPROC glColorTableEXT;
00243
00244
00245 extern PFNGLISRENDERBUFFEREXTPROC glIsRenderbufferEXT;
00246 extern PFNGLBINDRENDERBUFFEREXTPROC glBindRenderbufferEXT;
00247 extern PFNGLDELETERENDERBUFFERSEXTPROC glDeleteRenderbuffersEXT;
00248 extern PFNGLGENRENDERBUFFERSEXTPROC glGenRenderbuffersEXT;
00249 extern PFNGLRENDERBUFFERSTORAGEEXTPROC glRenderbufferStorageEXT;
00250 extern PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC glGetRenderbufferParameterivEXT;
00251 extern PFNGLISFRAMEBUFFEREXTPROC glIsFramebufferEXT;
00252 extern PFNGLBINDFRAMEBUFFEREXTPROC glBindFramebufferEXT;
00253 extern PFNGLDELETEFRAMEBUFFERSEXTPROC glDeleteFramebuffersEXT;
00254 extern PFNGLGENFRAMEBUFFERSEXTPROC glGenFramebuffersEXT;
00255 extern PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glCheckFramebufferStatusEXT;
00256 extern PFNGLFRAMEBUFFERTEXTURE1DEXTPROC glFramebufferTexture1DEXT;
00257 extern PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glFramebufferTexture2DEXT;
00258 extern PFNGLFRAMEBUFFERTEXTURE3DEXTPROC glFramebufferTexture3DEXT;
00259 extern PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glFramebufferRenderbufferEXT;
00260 extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glGetFramebufferAttachmentParameterivEXT;
00261 extern PFNGLGENERATEMIPMAPEXTPROC glGenerateMipmapEXT;
00262
00263
00264 #elif LL_WINDOWS
00265
00266
00267 #define WIN32_LEAN_AND_MEAN
00268 #include <winsock2.h>
00269 #include <windows.h>
00270
00271
00272 #include <GL/gl.h>
00273 #include <GL/glu.h>
00274
00275
00276 #include "GL/glext.h"
00277 #include "GL/glh_extensions.h"
00278
00279
00280
00281 extern PFNGLBINDBUFFERARBPROC glBindBufferARB;
00282 extern PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB;
00283 extern PFNGLGENBUFFERSARBPROC glGenBuffersARB;
00284 extern PFNGLISBUFFERARBPROC glIsBufferARB;
00285 extern PFNGLBUFFERDATAARBPROC glBufferDataARB;
00286 extern PFNGLBUFFERSUBDATAARBPROC glBufferSubDataARB;
00287 extern PFNGLGETBUFFERSUBDATAARBPROC glGetBufferSubDataARB;
00288 extern PFNGLMAPBUFFERARBPROC glMapBufferARB;
00289 extern PFNGLUNMAPBUFFERARBPROC glUnmapBufferARB;
00290 extern PFNGLGETBUFFERPARAMETERIVARBPROC glGetBufferParameterivARB;
00291 extern PFNGLGETBUFFERPOINTERVARBPROC glGetBufferPointervARB;
00292
00293
00294 extern PFNGLNEWOBJECTBUFFERATIPROC glNewObjectBufferATI;
00295 extern PFNGLISOBJECTBUFFERATIPROC glIsObjectBufferATI;
00296 extern PFNGLUPDATEOBJECTBUFFERATIPROC glUpdateObjectBufferATI;
00297 extern PFNGLGETOBJECTBUFFERFVATIPROC glGetObjectBufferfvATI;
00298 extern PFNGLGETOBJECTBUFFERIVATIPROC glGetObjectBufferivATI;
00299 extern PFNGLFREEOBJECTBUFFERATIPROC glFreeObjectBufferATI;
00300 extern PFNGLARRAYOBJECTATIPROC glArrayObjectATI;
00301 extern PFNGLVERTEXATTRIBARRAYOBJECTATIPROC glVertexAttribArrayObjectATI;
00302 extern PFNGLGETARRAYOBJECTFVATIPROC glGetArrayObjectfvATI;
00303 extern PFNGLGETARRAYOBJECTIVATIPROC glGetArrayObjectivATI;
00304 extern PFNGLVARIANTARRAYOBJECTATIPROC glVariantObjectArrayATI;
00305 extern PFNGLGETVARIANTARRAYOBJECTFVATIPROC glGetVariantArrayObjectfvATI;
00306 extern PFNGLGETVARIANTARRAYOBJECTIVATIPROC glGetVariantArrayObjectivATI;
00307
00308 extern PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT;
00309
00310
00311 extern PFNGLGENQUERIESARBPROC glGenQueriesARB;
00312 extern PFNGLDELETEQUERIESARBPROC glDeleteQueriesARB;
00313 extern PFNGLISQUERYARBPROC glIsQueryARB;
00314 extern PFNGLBEGINQUERYARBPROC glBeginQueryARB;
00315 extern PFNGLENDQUERYARBPROC glEndQueryARB;
00316 extern PFNGLGETQUERYIVARBPROC glGetQueryivARB;
00317 extern PFNGLGETQUERYOBJECTIVARBPROC glGetQueryObjectivARB;
00318 extern PFNGLGETQUERYOBJECTUIVARBPROC glGetQueryObjectuivARB;
00319
00320
00321 extern PFNGLPOINTPARAMETERFARBPROC glPointParameterfARB;
00322 extern PFNGLPOINTPARAMETERFVARBPROC glPointParameterfvARB;
00323
00324
00325 extern PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
00326 extern PFNGLGETHANDLEARBPROC glGetHandleARB;
00327 extern PFNGLDETACHOBJECTARBPROC glDetachObjectARB;
00328 extern PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB;
00329 extern PFNGLSHADERSOURCEARBPROC glShaderSourceARB;
00330 extern PFNGLCOMPILESHADERARBPROC glCompileShaderARB;
00331 extern PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
00332 extern PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
00333 extern PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
00334 extern PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
00335 extern PFNGLVALIDATEPROGRAMARBPROC glValidateProgramARB;
00336 extern PFNGLUNIFORM1FARBPROC glUniform1fARB;
00337 extern PFNGLUNIFORM2FARBPROC glUniform2fARB;
00338 extern PFNGLUNIFORM3FARBPROC glUniform3fARB;
00339 extern PFNGLUNIFORM4FARBPROC glUniform4fARB;
00340 extern PFNGLUNIFORM1IARBPROC glUniform1iARB;
00341 extern PFNGLUNIFORM2IARBPROC glUniform2iARB;
00342 extern PFNGLUNIFORM3IARBPROC glUniform3iARB;
00343 extern PFNGLUNIFORM4IARBPROC glUniform4iARB;
00344 extern PFNGLUNIFORM1FVARBPROC glUniform1fvARB;
00345 extern PFNGLUNIFORM2FVARBPROC glUniform2fvARB;
00346 extern PFNGLUNIFORM3FVARBPROC glUniform3fvARB;
00347 extern PFNGLUNIFORM4FVARBPROC glUniform4fvARB;
00348 extern PFNGLUNIFORM1IVARBPROC glUniform1ivARB;
00349 extern PFNGLUNIFORM2IVARBPROC glUniform2ivARB;
00350 extern PFNGLUNIFORM3IVARBPROC glUniform3ivARB;
00351 extern PFNGLUNIFORM4IVARBPROC glUniform4ivARB;
00352 extern PFNGLUNIFORMMATRIX2FVARBPROC glUniformMatrix2fvARB;
00353 extern PFNGLUNIFORMMATRIX3FVARBPROC glUniformMatrix3fvARB;
00354 extern PFNGLUNIFORMMATRIX4FVARBPROC glUniformMatrix4fvARB;
00355 extern PFNGLGETOBJECTPARAMETERFVARBPROC glGetObjectParameterfvARB;
00356 extern PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB;
00357 extern PFNGLGETINFOLOGARBPROC glGetInfoLogARB;
00358 extern PFNGLGETATTACHEDOBJECTSARBPROC glGetAttachedObjectsARB;
00359 extern PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
00360 extern PFNGLGETACTIVEUNIFORMARBPROC glGetActiveUniformARB;
00361 extern PFNGLGETUNIFORMFVARBPROC glGetUniformfvARB;
00362 extern PFNGLGETUNIFORMIVARBPROC glGetUniformivARB;
00363 extern PFNGLGETSHADERSOURCEARBPROC glGetShaderSourceARB;
00364
00365
00366 extern PFNGLVERTEXATTRIB1DARBPROC glVertexAttrib1dARB;
00367 extern PFNGLVERTEXATTRIB1DVARBPROC glVertexAttrib1dvARB;
00368 extern PFNGLVERTEXATTRIB1FARBPROC glVertexAttrib1fARB;
00369 extern PFNGLVERTEXATTRIB1FVARBPROC glVertexAttrib1fvARB;
00370 extern PFNGLVERTEXATTRIB1SARBPROC glVertexAttrib1sARB;
00371 extern PFNGLVERTEXATTRIB1SVARBPROC glVertexAttrib1svARB;
00372 extern PFNGLVERTEXATTRIB2DARBPROC glVertexAttrib2dARB;
00373 extern PFNGLVERTEXATTRIB2DVARBPROC glVertexAttrib2dvARB;
00374 extern PFNGLVERTEXATTRIB2FARBPROC glVertexAttrib2fARB;
00375 extern PFNGLVERTEXATTRIB2FVARBPROC glVertexAttrib2fvARB;
00376 extern PFNGLVERTEXATTRIB2SARBPROC glVertexAttrib2sARB;
00377 extern PFNGLVERTEXATTRIB2SVARBPROC glVertexAttrib2svARB;
00378 extern PFNGLVERTEXATTRIB3DARBPROC glVertexAttrib3dARB;
00379 extern PFNGLVERTEXATTRIB3DVARBPROC glVertexAttrib3dvARB;
00380 extern PFNGLVERTEXATTRIB3FARBPROC glVertexAttrib3fARB;
00381 extern PFNGLVERTEXATTRIB3FVARBPROC glVertexAttrib3fvARB;
00382 extern PFNGLVERTEXATTRIB3SARBPROC glVertexAttrib3sARB;
00383 extern PFNGLVERTEXATTRIB3SVARBPROC glVertexAttrib3svARB;
00384 extern PFNGLVERTEXATTRIB4NBVARBPROC glVertexAttrib4nbvARB;
00385 extern PFNGLVERTEXATTRIB4NIVARBPROC glVertexAttrib4nivARB;
00386 extern PFNGLVERTEXATTRIB4NSVARBPROC glVertexAttrib4nsvARB;
00387 extern PFNGLVERTEXATTRIB4NUBARBPROC glVertexAttrib4nubARB;
00388 extern PFNGLVERTEXATTRIB4NUBVARBPROC glVertexAttrib4nubvARB;
00389 extern PFNGLVERTEXATTRIB4NUIVARBPROC glVertexAttrib4nuivARB;
00390 extern PFNGLVERTEXATTRIB4NUSVARBPROC glVertexAttrib4nusvARB;
00391 extern PFNGLVERTEXATTRIB4BVARBPROC glVertexAttrib4bvARB;
00392 extern PFNGLVERTEXATTRIB4DARBPROC glVertexAttrib4dARB;
00393 extern PFNGLVERTEXATTRIB4DVARBPROC glVertexAttrib4dvARB;
00394 extern PFNGLVERTEXATTRIB4FARBPROC glVertexAttrib4fARB;
00395 extern PFNGLVERTEXATTRIB4FVARBPROC glVertexAttrib4fvARB;
00396 extern PFNGLVERTEXATTRIB4IVARBPROC glVertexAttrib4ivARB;
00397 extern PFNGLVERTEXATTRIB4SARBPROC glVertexAttrib4sARB;
00398 extern PFNGLVERTEXATTRIB4SVARBPROC glVertexAttrib4svARB;
00399 extern PFNGLVERTEXATTRIB4UBVARBPROC glVertexAttrib4ubvARB;
00400 extern PFNGLVERTEXATTRIB4UIVARBPROC glVertexAttrib4uivARB;
00401 extern PFNGLVERTEXATTRIB4USVARBPROC glVertexAttrib4usvARB;
00402 extern PFNGLVERTEXATTRIBPOINTERARBPROC glVertexAttribPointerARB;
00403 extern PFNGLENABLEVERTEXATTRIBARRAYARBPROC glEnableVertexAttribArrayARB;
00404 extern PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glDisableVertexAttribArrayARB;
00405 extern PFNGLPROGRAMSTRINGARBPROC glProgramStringARB;
00406 extern PFNGLBINDPROGRAMARBPROC glBindProgramARB;
00407 extern PFNGLDELETEPROGRAMSARBPROC glDeleteProgramsARB;
00408 extern PFNGLGENPROGRAMSARBPROC glGenProgramsARB;
00409 extern PFNGLPROGRAMENVPARAMETER4DARBPROC glProgramEnvParameter4dARB;
00410 extern PFNGLPROGRAMENVPARAMETER4DVARBPROC glProgramEnvParameter4dvARB;
00411 extern PFNGLPROGRAMENVPARAMETER4FARBPROC glProgramEnvParameter4fARB;
00412 extern PFNGLPROGRAMENVPARAMETER4FVARBPROC glProgramEnvParameter4fvARB;
00413 extern PFNGLPROGRAMLOCALPARAMETER4DARBPROC glProgramLocalParameter4dARB;
00414 extern PFNGLPROGRAMLOCALPARAMETER4DVARBPROC glProgramLocalParameter4dvARB;
00415 extern PFNGLPROGRAMLOCALPARAMETER4FARBPROC glProgramLocalParameter4fARB;
00416 extern PFNGLPROGRAMLOCALPARAMETER4FVARBPROC glProgramLocalParameter4fvARB;
00417 extern PFNGLGETPROGRAMENVPARAMETERDVARBPROC glGetProgramEnvParameterdvARB;
00418 extern PFNGLGETPROGRAMENVPARAMETERFVARBPROC glGetProgramEnvParameterfvARB;
00419 extern PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC glGetProgramLocalParameterdvARB;
00420 extern PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC glGetProgramLocalParameterfvARB;
00421 extern PFNGLGETPROGRAMIVARBPROC glGetProgramivARB;
00422 extern PFNGLGETPROGRAMSTRINGARBPROC glGetProgramStringARB;
00423 extern PFNGLGETVERTEXATTRIBDVARBPROC glGetVertexAttribdvARB;
00424 extern PFNGLGETVERTEXATTRIBFVARBPROC glGetVertexAttribfvARB;
00425 extern PFNGLGETVERTEXATTRIBIVARBPROC glGetVertexAttribivARB;
00426 extern PFNGLGETVERTEXATTRIBPOINTERVARBPROC glGetVertexAttribPointervARB;
00427 extern PFNGLISPROGRAMARBPROC glIsProgramARB;
00428 extern PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
00429 extern PFNGLGETACTIVEATTRIBARBPROC glGetActiveAttribARB;
00430 extern PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB;
00431
00432
00433 extern PFNGLISRENDERBUFFEREXTPROC glIsRenderbufferEXT;
00434 extern PFNGLBINDRENDERBUFFEREXTPROC glBindRenderbufferEXT;
00435 extern PFNGLDELETERENDERBUFFERSEXTPROC glDeleteRenderbuffersEXT;
00436 extern PFNGLGENRENDERBUFFERSEXTPROC glGenRenderbuffersEXT;
00437 extern PFNGLRENDERBUFFERSTORAGEEXTPROC glRenderbufferStorageEXT;
00438 extern PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC glGetRenderbufferParameterivEXT;
00439 extern PFNGLISFRAMEBUFFEREXTPROC glIsFramebufferEXT;
00440 extern PFNGLBINDFRAMEBUFFEREXTPROC glBindFramebufferEXT;
00441 extern PFNGLDELETEFRAMEBUFFERSEXTPROC glDeleteFramebuffersEXT;
00442 extern PFNGLGENFRAMEBUFFERSEXTPROC glGenFramebuffersEXT;
00443 extern PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glCheckFramebufferStatusEXT;
00444 extern PFNGLFRAMEBUFFERTEXTURE1DEXTPROC glFramebufferTexture1DEXT;
00445 extern PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glFramebufferTexture2DEXT;
00446 extern PFNGLFRAMEBUFFERTEXTURE3DEXTPROC glFramebufferTexture3DEXT;
00447 extern PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glFramebufferRenderbufferEXT;
00448 extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC glGetFramebufferAttachmentParameterivEXT;
00449 extern PFNGLGENERATEMIPMAPEXTPROC glGenerateMipmapEXT;
00450
00451
00452 #elif LL_DARWIN
00453
00454
00455
00456 #include <OpenGL/gl.h>
00457 #include <OpenGL/glu.h>
00458
00459 #define GL_EXT_separate_specular_color 1
00460 #include <OpenGL/glext.h>
00461
00462 #include "GL/glh_extensions.h"
00463
00464
00465
00466 #include <AvailabilityMacros.h>
00467
00468
00469 extern GLboolean glIsRenderbufferEXT(GLuint renderbuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
00470 extern void glBindRenderbufferEXT(GLenum target, GLuint renderbuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
00471 extern void glDeleteRenderbuffersEXT(GLsizei n, const GLuint *renderbuffers) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
00472 extern void glGenRenderbuffersEXT(GLsizei n, GLuint *renderbuffers) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
00473 extern void glRenderbufferStorageEXT(GLenum target, GLenum internalformat, GLsizei width, GLsizei height) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
00474 extern void glGetRenderbufferParameterivEXT(GLenum target, GLenum pname, GLint *params) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
00475 extern GLboolean glIsFramebufferEXT(GLuint framebuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
00476 extern void glBindFramebufferEXT(GLenum target, GLuint framebuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
00477 extern void glDeleteFramebuffersEXT(GLsizei n, const GLuint *framebuffers) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
00478 extern void glGenFramebuffersEXT(GLsizei n, GLuint *framebuffers) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
00479 extern GLenum glCheckFramebufferStatusEXT(GLenum target) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
00480 extern void glFramebufferTexture1DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
00481 extern void glFramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
00482 extern void glFramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
00483 extern void glFramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
00484 extern void glGetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment, GLenum pname, GLint *params) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
00485 extern void glGenerateMipmapEXT(GLenum target) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
00486
00487
00488 #ifdef __cplusplus
00489 extern "C" {
00490 #endif
00491
00492
00493
00494 #ifndef GL_ARB_vertex_buffer_object
00495 #define GL_BUFFER_SIZE_ARB 0x8764
00496 #define GL_BUFFER_USAGE_ARB 0x8765
00497 #define GL_ARRAY_BUFFER_ARB 0x8892
00498 #define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893
00499 #define GL_ARRAY_BUFFER_BINDING_ARB 0x8894
00500 #define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
00501 #define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
00502 #define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
00503 #define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898
00504 #define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899
00505 #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A
00506 #define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B
00507 #define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C
00508 #define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D
00509 #define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E
00510 #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F
00511 #define GL_READ_ONLY_ARB 0x88B8
00512 #define GL_WRITE_ONLY_ARB 0x88B9
00513 #define GL_READ_WRITE_ARB 0x88BA
00514 #define GL_BUFFER_ACCESS_ARB 0x88BB
00515 #define GL_BUFFER_MAPPED_ARB 0x88BC
00516 #define GL_BUFFER_MAP_POINTER_ARB 0x88BD
00517 #define GL_STREAM_DRAW_ARB 0x88E0
00518 #define GL_STREAM_READ_ARB 0x88E1
00519 #define GL_STREAM_COPY_ARB 0x88E2
00520 #define GL_STATIC_DRAW_ARB 0x88E4
00521 #define GL_STATIC_READ_ARB 0x88E5
00522 #define GL_STATIC_COPY_ARB 0x88E6
00523 #define GL_DYNAMIC_DRAW_ARB 0x88E8
00524 #define GL_DYNAMIC_READ_ARB 0x88E9
00525 #define GL_DYNAMIC_COPY_ARB 0x88EA
00526 #endif
00527
00528
00529
00530 #ifndef GL_ARB_vertex_buffer_object
00531
00532 typedef intptr_t GLintptrARB;
00533 typedef intptr_t GLsizeiptrARB;
00534 #endif
00535
00536
00537 #ifndef GL_ARB_vertex_buffer_object
00538 #define GL_ARB_vertex_buffer_object 1
00539 #ifdef GL_GLEXT_FUNCTION_POINTERS
00540 typedef void (* glBindBufferARBProcPtr) (GLenum target, GLuint buffer);
00541 typedef void (* glDeleteBufferARBProcPtr) (GLsizei n, const GLuint *buffers);
00542 typedef void (* glGenBuffersARBProcPtr) (GLsizei n, GLuint *buffers);
00543 typedef GLboolean (* glIsBufferARBProcPtr) (GLuint buffer);
00544 typedef void (* glBufferDataARBProcPtr) (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);
00545 typedef void (* glBufferSubDataARBProcPtr) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);
00546 typedef void (* glGetBufferSubDataARBProcPtr) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);
00547 typedef GLvoid* (* glMapBufferARBProcPtr) (GLenum target, GLenum access);
00548 typedef GLboolean (* glUnmapBufferARBProcPtr) (GLenum target);
00549 typedef void (* glGetBufferParameterivARBProcPtr) (GLenum target, GLenum pname, GLint *params);
00550 typedef void (* glGetBufferPointervARBProcPtr) (GLenum target, GLenum pname, GLvoid* *params);
00551 #else
00552 extern void glBindBufferARB (GLenum, GLuint);
00553 extern void glDeleteBuffersARB (GLsizei, const GLuint *);
00554 extern void glGenBuffersARB (GLsizei, GLuint *);
00555 extern GLboolean glIsBufferARB (GLuint);
00556 extern void glBufferDataARB (GLenum, GLsizeiptrARB, const GLvoid *, GLenum);
00557 extern void glBufferSubDataARB (GLenum, GLintptrARB, GLsizeiptrARB, const GLvoid *);
00558 extern void glGetBufferSubDataARB (GLenum, GLintptrARB, GLsizeiptrARB, GLvoid *);
00559 extern GLvoid* glMapBufferARB (GLenum, GLenum);
00560 extern GLboolean glUnmapBufferARB (GLenum);
00561 extern void glGetBufferParameterivARB (GLenum, GLenum, GLint *);
00562 extern void glGetBufferPointervARB (GLenum, GLenum, GLvoid* *);
00563 #endif
00564 #endif
00565
00566
00567
00568
00569
00570
00571
00572
00573
00574
00575
00576
00577
00578
00579
00580
00581
00582
00583
00584
00585
00586
00587
00588 #ifdef __cplusplus
00589 }
00590 #endif
00591
00592 #include <AGL/gl.h>
00593
00594 #endif // LL_MESA / LL_WINDOWS / LL_DARWIN
00595
00596
00597 #endif // LL_LLGLHEADERS_H