52#ifndef GL_ARB_multitexture
53#warning NO_SHADERS not defined and GL_ARB_multitexture not defined; if possible, use a newer version of glext.h.
56#ifndef GL_ARB_shader_objects
57#warning NO_SHADERS not defined and GL_ARB_shader_objects not defined; if possible, use a newer version of glext.h.
60#ifndef GL_ARB_shading_language_100
61#warning NO_SHADERS not defined and GL_ARB_shading_language_100 not defined; if possible, use a newer version of glext.h.
64#ifndef GL_ARB_fragment_shader
65#warning NO_SHADERS not defined and GL_ARB_fragment_shader not defined; if possible, use a newer version of glext.h.
68#ifndef GL_ARB_vertex_shader
69#warning NO_SHADERS not defined and GL_ARB_vertex_shader not defined; if possible, use a newer version of glext.h.
75#if GL_ARB_vertex_buffer_object
79#warning Building without vertex buffer object support, are your OpenGL headers up to date?
83#if GL_EXT_framebuffer_object
87#warning Building without frame buffer object support, are your OpenGL headers up to date?
96#if GL_ARB_texture_env_combine
97#define OO_MULTITEXTURE 1
99#warning Building without texture combiner support, are your OpenGL headers up to date?
100#define OO_MULTITEXTURE 0
103#if defined(GL_ARB_texture_cube_map) || defined(GL_VERSION_1_3)
104#define OO_TEXTURE_CUBE_MAP 1
106#warning Building without cube map support, are your OpenGL headers up to date?
107#define OO_TEXTURE_CUBE_MAP 0
112#define OOOPENGLEXTMGR_LOCK_SET_ACCESS (!OOLITE_MAC_OS_X)
118#if OOOPENGLEXTMGR_LOCK_SET_ACCESS
155- (BOOL)haveExtension:(NSString *)extension;
157- (BOOL)shadersSupported;
171- (void)getVersionMajor:(
unsigned *)outMajor minor:(
unsigned *)outMinor release:(
unsigned *)outRelease;
172- (BOOL) versionIsAtLeastMajor:(
unsigned)maj minor:(
unsigned)min;
201extern PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
202extern PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
203extern PFNGLUNIFORM1IARBPROC glUniform1iARB;
204extern PFNGLUNIFORM1FARBPROC glUniform1fARB;
205extern PFNGLUNIFORMMATRIX3FVARBPROC glUniformMatrix3fvARB;
206extern PFNGLUNIFORMMATRIX4FVARBPROC glUniformMatrix4fvARB;
207extern PFNGLUNIFORM4FVARBPROC glUniform4fvARB;
208extern PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB;
209extern PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB;
210extern PFNGLGETINFOLOGARBPROC glGetInfoLogARB;
211extern PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
212extern PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
213extern PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
214extern PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
215extern PFNGLCOMPILESHADERARBPROC glCompileShaderARB;
216extern PFNGLSHADERSOURCEARBPROC glShaderSourceARB;
217extern PFNGLUNIFORM2FVARBPROC glUniform2fvARB;
218extern PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
219extern PFNGLENABLEVERTEXATTRIBARRAYARBPROC glEnableVertexAttribArrayARB;
220extern PFNGLVERTEXATTRIBPOINTERARBPROC glVertexAttribPointerARB;
221extern PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glDisableVertexAttribArrayARB;
222extern PFNGLVALIDATEPROGRAMARBPROC glValidateProgramARB;
226#if OO_SHADERS || OO_MULTITEXTURE
227extern PFNGLACTIVETEXTUREARBPROC glActiveTextureARB;
231extern PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
235extern PFNGLGENBUFFERSARBPROC glGenBuffersARB;
236extern PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB;
237extern PFNGLBINDBUFFERARBPROC glBindBufferARB;
238extern PFNGLBUFFERDATAARBPROC glBufferDataARB;
242extern PFNGLGENFRAMEBUFFERSEXTPROC glGenFramebuffersEXT;
243extern PFNGLBINDFRAMEBUFFEREXTPROC glBindFramebufferEXT;
244extern PFNGLGENRENDERBUFFERSEXTPROC glGenRenderbuffersEXT;
245extern PFNGLBINDRENDERBUFFEREXTPROC glBindRenderbufferEXT;
246extern PFNGLRENDERBUFFERSTORAGEEXTPROC glRenderbufferStorageEXT;
247extern PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glFramebufferRenderbufferEXT;
248extern PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glFramebufferTexture2DEXT;
249extern PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glCheckFramebufferStatusEXT;
250extern PFNGLDELETEFRAMEBUFFERSEXTPROC glDeleteFramebuffersEXT;
251extern PFNGLDELETERENDERBUFFERSEXTPROC glDeleteRenderbuffersEXT;
252extern PFNGLGENRENDERBUFFERSPROC glGenRenderbuffers;
253extern PFNGLBINDRENDERBUFFERPROC glBindRenderbuffer;
254extern PFNGLRENDERBUFFERSTORAGEPROC glRenderbufferStorage;
255extern PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers;
256extern PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer;
257extern PFNGLFRAMEBUFFERRENDERBUFFERPROC glFramebufferRenderbuffer;
258extern PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D;
259extern PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
260extern PFNGLGENBUFFERSPROC glGenBuffers;
261extern PFNGLBINDVERTEXARRAYPROC glBindVertexArray;
262extern PFNGLBINDBUFFERPROC glBindBuffer;
263extern PFNGLBUFFERDATAPROC glBufferData;
264extern PFNGLVERTEXATTRIBPOINTERPROC glVertexAttribPointer;
265extern PFNGLENABLEVERTEXATTRIBARRAYPROC glEnableVertexAttribArray;
266extern PFNGLUSEPROGRAMPROC glUseProgram;
267extern PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation;
268extern PFNGLUNIFORM1IPROC glUniform1i;
269extern PFNGLACTIVETEXTUREPROC glActiveTexture;
270extern PFNGLBLENDFUNCSEPARATEPROC glBlendFuncSeparate;
271extern PFNGLUNIFORM1FPROC glUniform1f;
272extern PFNGLUNIFORM2FVPROC glUniform2fv;
273extern PFNGLDELETERENDERBUFFERSPROC glDeleteRenderbuffers;
274extern PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers;
275extern PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays;
276extern PFNGLDELETEBUFFERSPROC glDeleteBuffers;
277extern PFNGLDRAWBUFFERSPROC glDrawBuffers;
278extern PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus;
279extern PFNGLTEXIMAGE2DMULTISAMPLEPROC glTexImage2DMultisample;
280extern PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glRenderbufferStorageMultisample;
281extern PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer;
282extern PFNGLCLAMPCOLORPROC glClampColor;
OOINLINE BOOL OOShadersSupported(void) INLINE_PURE_FUNC
NSString * vendorString()
BOOL textureCombinersSupported()
OOGraphicsDetail maximumDetailLevel()
OOShaderSetting defaultShaderSetting
NSUInteger majorVersionNumber()
OOOpenGLExtensionManager * sharedManager()
GLint textureImageUnitCount
NSUInteger releaseVersionNumber()
BOOL shadersForceDisabled
OOGraphicsDetail defaultDetailLevel()
NSString * rendererString()
NSUInteger minorVersionNumber()
OOShaderSetting maximumShaderSetting