#pragma once #include #include #define GFX_GL_CONTEXT_PC 1 #define GFX_GL_CONTEXT_ES 2 #ifndef GFX_GL_CONTEXT #define GFX_GL_CONTEXT GFX_GL_CONTEXT_PC #endif // GFX_GL_CONTEXT /// Log an error if an OpenGL has occurred. #ifndef NDEBUG #define ASSERT_GL \ { \ GLenum e = glGetError(); \ switch (e) { \ case GL_NO_ERROR: \ break; \ case GL_INVALID_ENUM: \ LOGE("GL_INVALID_ENUM"); \ break; \ case GL_INVALID_VALUE: \ LOGE("GL_INVALID_VALUE"); \ break; \ case GL_INVALID_OPERATION: \ LOGE("GL_INVALID_OPERATION"); \ break; \ case GL_INVALID_FRAMEBUFFER_OPERATION: \ LOGE("GL_INVALID_FRAMEBUFFER_OPERATION"); \ break; \ case GL_OUT_OF_MEMORY: \ LOGE("GL_OUT_OF_MEMORY"); \ break; \ /*case GL_STACK_UNDERFLOW: LOGE("GL_STACK_UNDERFLOW");*/ \ /*case GL_STACK_OVERFLOW: LOGE("GL_STACK_OVERFLOW");*/ \ default: \ LOGE("Unknown OpenGL error"); \ break; \ } \ } #else // Not NDEBUG. #define ASSERT_GL #endif