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;
158- (BOOL)shadersForceDisabled;
161- (GLint)textureImageUnitCount;
165- (BOOL)textureCombinersSupported;
166- (GLint)textureUnitCount;
168- (NSUInteger)majorVersionNumber;
169- (NSUInteger)minorVersionNumber;
170- (NSUInteger)releaseVersionNumber;
171- (void)getVersionMajor:(
unsigned *)outMajor minor:(
unsigned *)outMinor release:(
unsigned *)outRelease;
172- (BOOL) versionIsAtLeastMajor:(
unsigned)maj minor:(
unsigned)min;
174- (NSString *) vendorString;
175- (NSString *) rendererString;
178- (BOOL) usePointSmoothing;
179- (BOOL) useLineSmoothing;
182- (BOOL) useDustShader;
201PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
202PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
203PFNGLUNIFORM1IARBPROC glUniform1iARB;
204PFNGLUNIFORM1FARBPROC glUniform1fARB;
205PFNGLUNIFORMMATRIX3FVARBPROC glUniformMatrix3fvARB;
206PFNGLUNIFORMMATRIX4FVARBPROC glUniformMatrix4fvARB;
207PFNGLUNIFORM4FVARBPROC glUniform4fvARB;
208PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB;
209PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB;
210PFNGLGETINFOLOGARBPROC glGetInfoLogARB;
211PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
212PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
213PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
214PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
215PFNGLCOMPILESHADERARBPROC glCompileShaderARB;
216PFNGLSHADERSOURCEARBPROC glShaderSourceARB;
217PFNGLUNIFORM2FVARBPROC glUniform2fvARB;
218PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
219PFNGLENABLEVERTEXATTRIBARRAYARBPROC glEnableVertexAttribArrayARB;
220PFNGLVERTEXATTRIBPOINTERARBPROC glVertexAttribPointerARB;
221PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glDisableVertexAttribArrayARB;
222PFNGLVALIDATEPROGRAMARBPROC glValidateProgramARB;
226#if OO_SHADERS || OO_MULTITEXTURE
227PFNGLACTIVETEXTUREARBPROC glActiveTextureARB;
231PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
235PFNGLGENBUFFERSARBPROC glGenBuffersARB;
236PFNGLDELETEBUFFERSARBPROC glDeleteBuffersARB;
237PFNGLBINDBUFFERARBPROC glBindBufferARB;
238PFNGLBUFFERDATAARBPROC glBufferDataARB;
242PFNGLGENFRAMEBUFFERSEXTPROC glGenFramebuffersEXT;
243PFNGLBINDFRAMEBUFFEREXTPROC glBindFramebufferEXT;
244PFNGLGENRENDERBUFFERSEXTPROC glGenRenderbuffersEXT;
245PFNGLBINDRENDERBUFFEREXTPROC glBindRenderbufferEXT;
246PFNGLRENDERBUFFERSTORAGEEXTPROC glRenderbufferStorageEXT;
247PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC glFramebufferRenderbufferEXT;
248PFNGLFRAMEBUFFERTEXTURE2DEXTPROC glFramebufferTexture2DEXT;
249PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC glCheckFramebufferStatusEXT;
250PFNGLDELETEFRAMEBUFFERSEXTPROC glDeleteFramebuffersEXT;
251PFNGLDELETERENDERBUFFERSEXTPROC glDeleteRenderbuffersEXT;
252PFNGLGENRENDERBUFFERSPROC glGenRenderbuffers;
253PFNGLBINDRENDERBUFFERPROC glBindRenderbuffer;
254PFNGLRENDERBUFFERSTORAGEPROC glRenderbufferStorage;
255PFNGLGENFRAMEBUFFERSPROC glGenFramebuffers;
256PFNGLBINDFRAMEBUFFERPROC glBindFramebuffer;
257PFNGLFRAMEBUFFERRENDERBUFFERPROC glFramebufferRenderbuffer;
258PFNGLFRAMEBUFFERTEXTURE2DPROC glFramebufferTexture2D;
259PFNGLGENVERTEXARRAYSPROC glGenVertexArrays;
260PFNGLGENBUFFERSPROC glGenBuffers;
261PFNGLBINDVERTEXARRAYPROC glBindVertexArray;
262PFNGLBINDBUFFERPROC glBindBuffer;
263PFNGLBUFFERDATAPROC glBufferData;
264PFNGLVERTEXATTRIBPOINTERPROC glVertexAttribPointer;
265PFNGLENABLEVERTEXATTRIBARRAYPROC glEnableVertexAttribArray;
266PFNGLUSEPROGRAMPROC glUseProgram;
267PFNGLGETUNIFORMLOCATIONPROC glGetUniformLocation;
268PFNGLUNIFORM1IPROC glUniform1i;
269PFNGLACTIVETEXTUREPROC glActiveTexture;
270PFNGLBLENDFUNCSEPARATEPROC glBlendFuncSeparate;
271PFNGLUNIFORM1FPROC glUniform1f;
272PFNGLUNIFORM2FVPROC glUniform2fv;
273PFNGLDELETERENDERBUFFERSPROC glDeleteRenderbuffers;
274PFNGLDELETEFRAMEBUFFERSPROC glDeleteFramebuffers;
275PFNGLDELETEVERTEXARRAYSPROC glDeleteVertexArrays;
276PFNGLDELETEBUFFERSPROC glDeleteBuffers;
277PFNGLDRAWBUFFERSPROC glDrawBuffers;
278PFNGLCHECKFRAMEBUFFERSTATUSPROC glCheckFramebufferStatus;
279PFNGLTEXIMAGE2DMULTISAMPLEPROC glTexImage2DMultisample;
280PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glRenderbufferStorageMultisample;
281PFNGLBLITFRAMEBUFFERPROC glBlitFramebuffer;
282PFNGLCLAMPCOLORPROC glClampColor;
OOINLINE BOOL OOShadersSupported(void) INLINE_PURE_FUNC
BOOL textureCombinersSupported()
OOShaderSetting defaultShaderSetting
OOOpenGLExtensionManager * sharedManager()
GLint textureImageUnitCount
BOOL shadersForceDisabled
OOShaderSetting maximumShaderSetting