Commit c477eacc authored by Robert Menzel's avatar Robert Menzel

MacOS X 10.7 compatibility

* improved compatibility with pure core profiles
* minor typos
parent 5cc2583a
......@@ -494,6 +494,40 @@ extern PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC glVertexArrayTexCoordOffsetEXT;
extern PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC glVertexArrayVertexAttribIOffsetEXT;
extern PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC glVertexArrayVertexAttribOffsetEXT;
extern PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC glVertexArrayVertexOffsetEXT;
extern PFNGLPROGRAMUNIFORM1FEXTPROC glProgramUniform1f;
extern PFNGLPROGRAMUNIFORM1FVEXTPROC glProgramUniform1fv;
extern PFNGLPROGRAMUNIFORM1IEXTPROC glProgramUniform1i;
extern PFNGLPROGRAMUNIFORM1IVEXTPROC glProgramUniform1iv;
extern PFNGLPROGRAMUNIFORM1UIEXTPROC glProgramUniform1ui;
extern PFNGLPROGRAMUNIFORM1UIVEXTPROC glProgramUniform1uiv;
extern PFNGLPROGRAMUNIFORM2FEXTPROC glProgramUniform2f;
extern PFNGLPROGRAMUNIFORM2FVEXTPROC glProgramUniform2fv;
extern PFNGLPROGRAMUNIFORM2IEXTPROC glProgramUniform2i;
extern PFNGLPROGRAMUNIFORM2IVEXTPROC glProgramUniform2iv;
extern PFNGLPROGRAMUNIFORM2UIEXTPROC glProgramUniform2ui;
extern PFNGLPROGRAMUNIFORM2UIVEXTPROC glProgramUniform2uiv;
extern PFNGLPROGRAMUNIFORM3FEXTPROC glProgramUniform3f;
extern PFNGLPROGRAMUNIFORM3FVEXTPROC glProgramUniform3fv;
extern PFNGLPROGRAMUNIFORM3IEXTPROC glProgramUniform3i;
extern PFNGLPROGRAMUNIFORM3IVEXTPROC glProgramUniform3iv;
extern PFNGLPROGRAMUNIFORM3UIEXTPROC glProgramUniform3ui;
extern PFNGLPROGRAMUNIFORM3UIVEXTPROC glProgramUniform3uiv;
extern PFNGLPROGRAMUNIFORM4FEXTPROC glProgramUniform4f;
extern PFNGLPROGRAMUNIFORM4FVEXTPROC glProgramUniform4fv;
extern PFNGLPROGRAMUNIFORM4IEXTPROC glProgramUniform4i;
extern PFNGLPROGRAMUNIFORM4IVEXTPROC glProgramUniform4iv;
extern PFNGLPROGRAMUNIFORM4UIEXTPROC glProgramUniform4ui;
extern PFNGLPROGRAMUNIFORM4UIVEXTPROC glProgramUniform4uiv;
extern PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC glProgramUniformMatrix2fv;
extern PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC glProgramUniformMatrix2x3fv;
extern PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC glProgramUniformMatrix2x4fv;
extern PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC glProgramUniformMatrix3fv;
extern PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC glProgramUniformMatrix3x2fv;
extern PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC glProgramUniformMatrix3x4fv;
extern PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC glProgramUniformMatrix4fv;
extern PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC glProgramUniformMatrix4x2fv;
extern PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC glProgramUniformMatrix4x3fv;
#endif
......@@ -528,12 +562,8 @@ void ACGLAPIENTRY glCopyTextureImage2DEMULATION (GLuint texture, GLenum target,
void ACGLAPIENTRY glCopyTextureSubImage1DEMULATION (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
void ACGLAPIENTRY glCopyTextureSubImage2DEMULATION (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
void ACGLAPIENTRY glCopyTextureSubImage3DEMULATION (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
void ACGLAPIENTRY glDisableClientStateIndexedEMULATION (GLenum array, GLuint index);
void ACGLAPIENTRY glDisableClientStateiEMULATION (GLenum array, GLuint index);
void ACGLAPIENTRY glDisableVertexArrayAttribEMULATION (GLuint vaobj, GLuint index);
void ACGLAPIENTRY glDisableVertexArrayEMULATION (GLuint vaobj, GLenum array);
void ACGLAPIENTRY glEnableClientStateIndexedEMULATION (GLenum array, GLuint index);
void ACGLAPIENTRY glEnableClientStateiEMULATION (GLenum array, GLuint index);
void ACGLAPIENTRY glEnableVertexArrayAttribEMULATION (GLuint vaobj, GLuint index);
void ACGLAPIENTRY glEnableVertexArrayEMULATION (GLuint vaobj, GLenum array);
void ACGLAPIENTRY glFlushMappedNamedBufferRangeEMULATION (GLuint buffer, GLintptr offset, GLsizeiptr length);
......@@ -549,11 +579,6 @@ void ACGLAPIENTRY glGetDoublei_vEMULATION (GLenum pname, GLuint index, GLdouble*
void ACGLAPIENTRY glGetFloatIndexedvEMULATION (GLenum target, GLuint index, GLfloat* params);
void ACGLAPIENTRY glGetFloati_vEMULATION (GLenum pname, GLuint index, GLfloat* params);
void ACGLAPIENTRY glGetFramebufferParameterivEMULATION (GLuint framebuffer, GLenum pname, GLint* param);
void ACGLAPIENTRY glGetMultiTexEnvfvEMULATION (GLenum texunit, GLenum target, GLenum pname, GLfloat* params);
void ACGLAPIENTRY glGetMultiTexEnvivEMULATION (GLenum texunit, GLenum target, GLenum pname, GLint* params);
void ACGLAPIENTRY glGetMultiTexGendvEMULATION (GLenum texunit, GLenum coord, GLenum pname, GLdouble* params);
void ACGLAPIENTRY glGetMultiTexGenfvEMULATION (GLenum texunit, GLenum coord, GLenum pname, GLfloat* params);
void ACGLAPIENTRY glGetMultiTexGenivEMULATION (GLenum texunit, GLenum coord, GLenum pname, GLint* params);
void ACGLAPIENTRY glGetMultiTexImageEMULATION (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void* pixels);
void ACGLAPIENTRY glGetMultiTexLevelParameterfvEMULATION (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat* params);
void ACGLAPIENTRY glGetMultiTexLevelParameterivEMULATION (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint* params);
......@@ -587,37 +612,7 @@ void ACGLAPIENTRY glGetVertexArrayPointeri_vEMULATION (GLuint vaobj, GLuint inde
void ACGLAPIENTRY glGetVertexArrayPointervEMULATION (GLuint vaobj, GLenum pname, GLvoid** param);
GLvoid * ACGLAPIENTRY glMapNamedBufferEMULATION (GLuint buffer, GLenum access);
GLvoid * ACGLAPIENTRY glMapNamedBufferRangeEMULATION (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access);
void ACGLAPIENTRY glMatrixFrustumEMULATION (GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f);
void ACGLAPIENTRY glMatrixLoadIdentityEMULATION (GLenum matrixMode);
void ACGLAPIENTRY glMatrixLoadTransposedEMULATION (GLenum matrixMode, const GLdouble* m);
void ACGLAPIENTRY glMatrixLoadTransposefEMULATION (GLenum matrixMode, const GLfloat* m);
void ACGLAPIENTRY glMatrixLoaddEMULATION (GLenum matrixMode, const GLdouble* m);
void ACGLAPIENTRY glMatrixLoadfEMULATION (GLenum matrixMode, const GLfloat* m);
void ACGLAPIENTRY glMatrixMultTransposedEMULATION (GLenum matrixMode, const GLdouble* m);
void ACGLAPIENTRY glMatrixMultTransposefEMULATION (GLenum matrixMode, const GLfloat* m);
void ACGLAPIENTRY glMatrixMultdEMULATION (GLenum matrixMode, const GLdouble* m);
void ACGLAPIENTRY glMatrixMultfEMULATION (GLenum matrixMode, const GLfloat* m);
void ACGLAPIENTRY glMatrixOrthoEMULATION (GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f);
void ACGLAPIENTRY glMatrixPopEMULATION (GLenum matrixMode);
void ACGLAPIENTRY glMatrixPushEMULATION (GLenum matrixMode);
void ACGLAPIENTRY glMatrixRotatedEMULATION (GLenum matrixMode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
void ACGLAPIENTRY glMatrixRotatefEMULATION (GLenum matrixMode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
void ACGLAPIENTRY glMatrixScaledEMULATION (GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z);
void ACGLAPIENTRY glMatrixScalefEMULATION (GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z);
void ACGLAPIENTRY glMatrixTranslatedEMULATION (GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z);
void ACGLAPIENTRY glMatrixTranslatefEMULATION (GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z);
void ACGLAPIENTRY glMultiTexBufferEMULATION (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer);
void ACGLAPIENTRY glMultiTexCoordPointerEMULATION (GLenum texunit, GLint size, GLenum type, GLsizei stride, const void* pointer);
void ACGLAPIENTRY glMultiTexEnvfEMULATION (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
void ACGLAPIENTRY glMultiTexEnvfvEMULATION (GLenum texunit, GLenum target, GLenum pname, const GLfloat* params);
void ACGLAPIENTRY glMultiTexEnviEMULATION (GLenum texunit, GLenum target, GLenum pname, GLint param);
void ACGLAPIENTRY glMultiTexEnvivEMULATION (GLenum texunit, GLenum target, GLenum pname, const GLint* params);
void ACGLAPIENTRY glMultiTexGendEMULATION (GLenum texunit, GLenum coord, GLenum pname, GLdouble param);
void ACGLAPIENTRY glMultiTexGendvEMULATION (GLenum texunit, GLenum coord, GLenum pname, const GLdouble* params);
void ACGLAPIENTRY glMultiTexGenfEMULATION (GLenum texunit, GLenum coord, GLenum pname, GLfloat param);
void ACGLAPIENTRY glMultiTexGenfvEMULATION (GLenum texunit, GLenum coord, GLenum pname, const GLfloat* params);
void ACGLAPIENTRY glMultiTexGeniEMULATION (GLenum texunit, GLenum coord, GLenum pname, GLint param);
void ACGLAPIENTRY glMultiTexGenivEMULATION (GLenum texunit, GLenum coord, GLenum pname, const GLint* params);
void ACGLAPIENTRY glMultiTexImage1DEMULATION (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void* pixels);
void ACGLAPIENTRY glMultiTexImage2DEMULATION (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels);
void ACGLAPIENTRY glMultiTexImage3DEMULATION (GLenum texunit, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels);
......@@ -689,7 +684,6 @@ void ACGLAPIENTRY glProgramUniformMatrix3x4fvEMULATION (GLuint program, GLint lo
void ACGLAPIENTRY glProgramUniformMatrix4fvEMULATION (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
void ACGLAPIENTRY glProgramUniformMatrix4x2fvEMULATION (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
void ACGLAPIENTRY glProgramUniformMatrix4x3fvEMULATION (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
void ACGLAPIENTRY glPushClientAttribDefaultEMULATION (GLbitfield mask);
void ACGLAPIENTRY glTextureBufferEMULATION (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer);
void ACGLAPIENTRY glTextureImage1DEMULATION (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void* pixels);
void ACGLAPIENTRY glTextureImage2DEMULATION (GLuint texture, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels);
......@@ -717,6 +711,48 @@ void ACGLAPIENTRY glVertexArrayVertexAttribIOffsetEMULATION (GLuint vaobj, GLuin
void ACGLAPIENTRY glVertexArrayVertexAttribOffsetEMULATION (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset);
void ACGLAPIENTRY glVertexArrayVertexOffsetEMULATION (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
#ifndef ACGL_OPENGL_PROFILE_CORE
void ACGLAPIENTRY glDisableClientStateIndexedEMULATION (GLenum array, GLuint index);
void ACGLAPIENTRY glDisableClientStateiEMULATION (GLenum array, GLuint index);
void ACGLAPIENTRY glEnableClientStateIndexedEMULATION (GLenum array, GLuint index);
void ACGLAPIENTRY glEnableClientStateiEMULATION (GLenum array, GLuint index);
void ACGLAPIENTRY glGetMultiTexEnvfvEMULATION (GLenum texunit, GLenum target, GLenum pname, GLfloat* params);
void ACGLAPIENTRY glGetMultiTexEnvivEMULATION (GLenum texunit, GLenum target, GLenum pname, GLint* params);
void ACGLAPIENTRY glGetMultiTexGendvEMULATION (GLenum texunit, GLenum coord, GLenum pname, GLdouble* params);
void ACGLAPIENTRY glGetMultiTexGenfvEMULATION (GLenum texunit, GLenum coord, GLenum pname, GLfloat* params);
void ACGLAPIENTRY glGetMultiTexGenivEMULATION (GLenum texunit, GLenum coord, GLenum pname, GLint* params);
void ACGLAPIENTRY glMatrixFrustumEMULATION (GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f);
void ACGLAPIENTRY glMatrixLoadIdentityEMULATION (GLenum matrixMode);
void ACGLAPIENTRY glMatrixLoadTransposedEMULATION (GLenum matrixMode, const GLdouble* m);
void ACGLAPIENTRY glMatrixLoadTransposefEMULATION (GLenum matrixMode, const GLfloat* m);
void ACGLAPIENTRY glMatrixLoaddEMULATION (GLenum matrixMode, const GLdouble* m);
void ACGLAPIENTRY glMatrixLoadfEMULATION (GLenum matrixMode, const GLfloat* m);
void ACGLAPIENTRY glMatrixMultTransposedEMULATION (GLenum matrixMode, const GLdouble* m);
void ACGLAPIENTRY glMatrixMultTransposefEMULATION (GLenum matrixMode, const GLfloat* m);
void ACGLAPIENTRY glMatrixMultdEMULATION (GLenum matrixMode, const GLdouble* m);
void ACGLAPIENTRY glMatrixMultfEMULATION (GLenum matrixMode, const GLfloat* m);
void ACGLAPIENTRY glMatrixOrthoEMULATION (GLenum matrixMode, GLdouble l, GLdouble r, GLdouble b, GLdouble t, GLdouble n, GLdouble f);
void ACGLAPIENTRY glMatrixPopEMULATION (GLenum matrixMode);
void ACGLAPIENTRY glMatrixPushEMULATION (GLenum matrixMode);
void ACGLAPIENTRY glMatrixRotatedEMULATION (GLenum matrixMode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
void ACGLAPIENTRY glMatrixRotatefEMULATION (GLenum matrixMode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
void ACGLAPIENTRY glMatrixScaledEMULATION (GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z);
void ACGLAPIENTRY glMatrixScalefEMULATION (GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z);
void ACGLAPIENTRY glMatrixTranslatedEMULATION (GLenum matrixMode, GLdouble x, GLdouble y, GLdouble z);
void ACGLAPIENTRY glMatrixTranslatefEMULATION (GLenum matrixMode, GLfloat x, GLfloat y, GLfloat z);
void ACGLAPIENTRY glMultiTexCoordPointerEMULATION (GLenum texunit, GLint size, GLenum type, GLsizei stride, const void* pointer);
void ACGLAPIENTRY glMultiTexEnvfEMULATION (GLenum texunit, GLenum target, GLenum pname, GLfloat param);
void ACGLAPIENTRY glMultiTexEnvfvEMULATION (GLenum texunit, GLenum target, GLenum pname, const GLfloat* params);
void ACGLAPIENTRY glMultiTexEnviEMULATION (GLenum texunit, GLenum target, GLenum pname, GLint param);
void ACGLAPIENTRY glMultiTexEnvivEMULATION (GLenum texunit, GLenum target, GLenum pname, const GLint* params);
void ACGLAPIENTRY glMultiTexGendEMULATION (GLenum texunit, GLenum coord, GLenum pname, GLdouble param);
void ACGLAPIENTRY glMultiTexGendvEMULATION (GLenum texunit, GLenum coord, GLenum pname, const GLdouble* params);
void ACGLAPIENTRY glMultiTexGenfEMULATION (GLenum texunit, GLenum coord, GLenum pname, GLfloat param);
void ACGLAPIENTRY glMultiTexGenfvEMULATION (GLenum texunit, GLenum coord, GLenum pname, const GLfloat* params);
void ACGLAPIENTRY glMultiTexGeniEMULATION (GLenum texunit, GLenum coord, GLenum pname, GLint param);
void ACGLAPIENTRY glMultiTexGenivEMULATION (GLenum texunit, GLenum coord, GLenum pname, const GLint* params);
void ACGLAPIENTRY glPushClientAttribDefaultEMULATION (GLbitfield mask);
#endif
} // OpenGL
} // ACGL
......
......@@ -81,7 +81,7 @@
#endif
// always include glew unless on iOS
#define ACGL_USE_GLEW
//#define ACGL_USE_GLEW
#if (defined(TARGET_OS_IPHONE) || defined(TARGET_IPHONE_SIMULATOR))
# if (TARGET_OS_IPHONE == 1)
......@@ -102,8 +102,8 @@
// we have allways to include glew first!
#ifdef ACGL_USE_GLEW
#ifdef GLEW_LOCAL_PATH
#include GLEW_LOCAL_PATH
#ifdef GLEW_STATIC
#include "GL/glew.h"
#else
#if defined(__APPLE__) || defined(MACOSX)
#include <OpenGL/glew.h>
......@@ -114,27 +114,37 @@
#endif // ACGL_USE_GLEW
#if defined(__APPLE__) || defined(MACOSX)
#ifdef ACGL_OPENGL_ES
#import <OpenGLES/ES1/gl.h>
#import <OpenGLES/ES1/glext.h>
#import <OpenGLES/ES2/gl.h>
#import <OpenGLES/ES2/glext.h>
#else
// Desktop MacOS X:
#ifdef ACGL_OPENGL_PROFILE_CORE
// On MacOS X, all OpenGL versions >=3.2 are core and have to use the new headers:
#include <GL3/gl3.h>
#else
#include <OpenGL/gl.h>
#endif
#endif
#if (defined(__APPLE__) || defined(MACOSX))
# ifdef ACGL_OPENGL_ES
# import <OpenGLES/ES1/gl.h>
# import <OpenGLES/ES1/glext.h>
# import <OpenGLES/ES2/gl.h>
# import <OpenGLES/ES2/glext.h>
# else
// Desktop MacOS X:
# if (!defined(ACGL_OPENGL_PROFILE_CORE) && (ACGL_OPENGL_VERSION > 21))
# define ACGL_OPENGL_PROFILE_CORE
# endif
# if defined(ACGL_OPENGL_PROFILE_CORE)
// On MacOS X, theres only OpenGL up till 2.1 (<=10.6) or 3.2 (min. 10.7)
// GLEW will define __gl_h_ and gl3.h will think we included gl.h and gl3.h,
// to prevent a warning, define this flag:
# define GL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED
# include <OpenGL/gl3.h>
# undef GL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED
# else
// old MacOS X / OpenGL 2.1
# include <OpenGL/gl.h>
# endif
# endif
#else
#ifdef ACGL_OPENGL_PROFILE_CORE_HEADER
#include <GL3/gl3.h>
#else
#include <GL/gl.h>
#endif
// Windows/Linux
# ifdef ACGL_OPENGL_PROFILE_CORE_HEADER
# include <GL3/gl3.h>
# else
// in contrast to MacOS 10.7, the "old" header can be used for post 3.0 OpenGL!
# include <GL/gl.h>
# endif
#endif
#ifdef QT_OPENGL_LIB
......
......@@ -114,7 +114,7 @@ public:
inline void bind(GLenum _type = GL_FRAMEBUFFER) const
{
glBindFramebuffer(_type, mContext);
openGLRareError(); // glBindFramebuffer can only fail if the contect is no valid FBO which shouldn't happen using this framework
openGLRareError(); // glBindFramebuffer can only fail if the context is no valid FBO which shouldn't happen using this framework
}
inline void bindAsRenderTarget(GLenum _type = GL_FRAMEBUFFER) const
......
......@@ -305,7 +305,13 @@ public:
void generateMipmaps(void)
{
glBindTexture(mTarget, mContext);
#if (!defined ACGL_OPENGL_PROFILE_CORE)
// on some windows systems Texturing has to be enabled to generate MipMaps
// this is not needed by the spec an deprecated on core profiles (generates
// an error on MacOS X Lion)
glEnable(mTarget);
openGLRareError();
#endif
glGenerateMipmap(mTarget);
openGLRareError();
}
......
This diff is collapsed.
......@@ -85,9 +85,9 @@ const GLubyte* acglErrorString( GLenum _errorCode )
// are ignored. Only 3.2+ Core and ES 2.0+ errors belong here:
if (_errorCode == GL_INVALID_ENUM) { return (GLubyte*) "GL_INVALID_ENUM"; }
else if (_errorCode == GL_INVALID_VALUE) { return (GLubyte*) "GL_INVALID_VALUE"; }
else if (_errorCode == GL_INVALID_OPERATION) { return (GLubyte*) "GL_INVALID_OPERATION"l; }
else if (_errorCode == GL_INVALID_OPERATION) { return (GLubyte*) "GL_INVALID_OPERATION"; }
else if (_errorCode == GL_INVALID_FRAMEBUFFER_OPERATION) { return (GLubyte*) "GL_INVALID_FRAMEBUFFER_OPERATION"; }
else if (_errorCode == GL_OUT_OF_MEMORY) { return (GLubyte*) "GL_OUT_OF_MEMORY" };
else if (_errorCode == GL_OUT_OF_MEMORY) { return (GLubyte*) "GL_OUT_OF_MEMORY"; }
else if (_errorCode == GL_NO_ERROR) { return (GLubyte*) "GL_NO_ERROR"; }
else {
return (GLubyte*) "unknown error";
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment