/framework/error.cpp
C++ | 72 lines | 68 code | 4 blank | 0 comment | 4 complexity | 4d205a9bcc5b29397b9ac9097ab13287 MD5 | raw file
Possible License(s): MIT
- #include "error.hpp"
- #include <string>
- #include <cstdio>
- #include <cassert>
- bool checkError(const char* Title)
- {
- int Error;
- if((Error = glGetError()) != GL_NO_ERROR)
- {
- std::string ErrorString;
- switch(Error)
- {
- case GL_INVALID_ENUM:
- ErrorString = "GL_INVALID_ENUM";
- break;
- case GL_INVALID_VALUE:
- ErrorString = "GL_INVALID_VALUE";
- break;
- case GL_INVALID_OPERATION:
- ErrorString = "GL_INVALID_OPERATION";
- break;
- case GL_INVALID_FRAMEBUFFER_OPERATION:
- ErrorString = "GL_INVALID_FRAMEBUFFER_OPERATION";
- break;
- case GL_OUT_OF_MEMORY:
- ErrorString = "GL_OUT_OF_MEMORY";
- break;
- default:
- ErrorString = "UNKNOWN";
- break;
- }
- fprintf(stdout, "OpenGL Error(%s): %s\n", ErrorString.c_str(), Title);
- assert(0);
- }
- return Error == GL_NO_ERROR;
- }
- inline bool checkFramebuffer(GLuint FramebufferName)
- {
- GLenum Status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
- switch(Status)
- {
- case GL_FRAMEBUFFER_UNDEFINED:
- fprintf(stdout, "OpenGL Error(%s)\n", "GL_FRAMEBUFFER_UNDEFINED");
- break;
- case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT:
- fprintf(stdout, "OpenGL Error(%s)\n", "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT");
- break;
- case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:
- fprintf(stdout, "OpenGL Error(%s)\n", "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT");
- break;
- case GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER:
- fprintf(stdout, "OpenGL Error(%s)\n", "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER");
- break;
- case GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER:
- fprintf(stdout, "OpenGL Error(%s)\n", "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER");
- break;
- case GL_FRAMEBUFFER_UNSUPPORTED:
- fprintf(stdout, "OpenGL Error(%s)\n", "GL_FRAMEBUFFER_UNSUPPORTED");
- break;
- case GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:
- fprintf(stdout, "OpenGL Error(%s)\n", "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE");
- break;
- case GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS:
- fprintf(stdout, "OpenGL Error(%s)\n", "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS");
- break;
- }
- return Status != GL_FRAMEBUFFER_COMPLETE;
- }