Advertisement
Guest User

Untitled

a guest
Oct 28th, 2012
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.37 KB | None | 0 0
  1. //Got this from one of Apple's example :)  Extremely nice little function that checks for OpenGL errors easily.  Put this between every OpenGL function to see which line's generating the error
  2. #define GetGLError()                                    \
  3. {                                                       \
  4. GLenum err = glGetError();                          \
  5. while (err != GL_NO_ERROR) {                        \
  6. NSLog(@"GLError %s set in File:%s Line:%d\n",   \
  7. GetGLErrorString(err),                  \
  8. __FILE__,                               \
  9. __LINE__);                              \
  10. err = glGetError();                             \
  11. }                                                   \
  12. }
  13.  
  14. static inline const char * GetGLErrorString(GLenum error)
  15. {
  16.     const char *str;
  17.     switch( error )
  18.     {
  19.         case GL_NO_ERROR:
  20.             str = "GL_NO_ERROR";
  21.             break;
  22.         case GL_INVALID_ENUM:
  23.             str = "GL_INVALID_ENUM";
  24.             break;
  25.         case GL_INVALID_VALUE:
  26.             str = "GL_INVALID_VALUE";
  27.             break;
  28.         case GL_INVALID_OPERATION:
  29.             str = "GL_INVALID_OPERATION";
  30.             break;     
  31. #if defined __gl_h_ || defined __gl3_h_
  32.         case GL_OUT_OF_MEMORY:
  33.             str = "GL_OUT_OF_MEMORY";
  34.             break;
  35.         case GL_INVALID_FRAMEBUFFER_OPERATION:
  36.             str = "GL_INVALID_FRAMEBUFFER_OPERATION";
  37.             break;
  38. #endif
  39. #if defined __gl_h_
  40.         case GL_STACK_OVERFLOW:
  41.             str = "GL_STACK_OVERFLOW";
  42.             break;
  43.         case GL_STACK_UNDERFLOW:
  44.             str = "GL_STACK_UNDERFLOW";
  45.             break;
  46.         case GL_TABLE_TOO_LARGE:
  47.             str = "GL_TABLE_TOO_LARGE";
  48.             break;
  49. #endif
  50.         default:
  51.             str = "(ERROR: Unknown Error Enum)";
  52.             break;
  53.     }
  54.     return str;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement