]> git.lizzy.rs Git - dragonblocks3d.git/blob - src/dragonblocks/gldebug.cpp
Frustum & Backface Culling
[dragonblocks3d.git] / src / dragonblocks / gldebug.cpp
1 #include <string>
2 #include "gldebug.hpp" 
3 #include "log.hpp" 
4
5 using namespace std;
6 using namespace dragonblocks;
7
8 GLenum dragonblocks::checkGLError(const char *file, int line)
9 {
10     GLenum errorCode;
11     if ((errorCode = glGetError()) != GL_NO_ERROR)
12     {
13         string error;
14         switch (errorCode)
15         {
16             case GL_INVALID_ENUM:                  error = "INVALID_ENUM"; break;
17             case GL_INVALID_VALUE:                 error = "INVALID_VALUE"; break;
18             case GL_INVALID_OPERATION:             error = "INVALID_OPERATION"; break;
19             case GL_STACK_OVERFLOW:                error = "STACK_OVERFLOW"; break;
20             case GL_STACK_UNDERFLOW:               error = "STACK_UNDERFLOW"; break;
21             case GL_OUT_OF_MEMORY:                 error = "OUT_OF_MEMORY"; break;
22             case GL_INVALID_FRAMEBUFFER_OPERATION: error = "INVALID_FRAMEBUFFER_OPERATION"; break;
23         }
24                 log(string("OpenGL Error: ") + error + " | " + file + " (" + to_string(line) + ")");
25     }
26     return errorCode;
27 }