/framework/error.cpp
https://github.com/sonyomega/ogl-samples · C++ · 72 lines · 68 code · 4 blank · 0 comment · 6 complexity · 4d205a9bcc5b29397b9ac9097ab13287 MD5 · raw file
- #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;
- }