diff options
Diffstat (limited to 'engine-ocean/Graphics/debug.h')
-rw-r--r-- | engine-ocean/Graphics/debug.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/engine-ocean/Graphics/debug.h b/engine-ocean/Graphics/debug.h new file mode 100644 index 0000000..6d2be6c --- /dev/null +++ b/engine-ocean/Graphics/debug.h @@ -0,0 +1,30 @@ +#pragma once + +#include <GL/glew.h> + +#include <iostream> + +namespace Debug{ + inline GLenum checkGLError(const char *file, int line) + { + GLenum errorCode; + while ((errorCode = glGetError()) != GL_NO_ERROR) + { + std::string error; + switch (errorCode) + { + case GL_INVALID_ENUM: error = "INVALID_ENUM"; break; + case GL_INVALID_VALUE: error = "INVALID_VALUE"; break; + case GL_INVALID_OPERATION: error = "INVALID_OPERATION"; break; + case GL_STACK_OVERFLOW: error = "STACK_OVERFLOW"; break; + case GL_STACK_UNDERFLOW: error = "STACK_UNDERFLOW"; break; + case GL_OUT_OF_MEMORY: error = "OUT_OF_MEMORY"; break; + case GL_INVALID_FRAMEBUFFER_OPERATION: error = "INVALID_FRAMEBUFFER_OPERATION"; break; + } + std::cout << error << " | " << file << " (" << line << ")" << std::endl; + } + return errorCode; + } + + #define checkGLError() checkGLError(__FILE__, __LINE__) +}
\ No newline at end of file |