summaryrefslogtreecommitdiff
path: root/engine-ocean/Graphics/debug.h
diff options
context:
space:
mode:
Diffstat (limited to 'engine-ocean/Graphics/debug.h')
-rw-r--r--engine-ocean/Graphics/debug.h30
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