PageRenderTime 42ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/framework/error.cpp

https://github.com/sonyomega/ogl-samples
C++ | 72 lines | 68 code | 4 blank | 0 comment | 4 complexity | 4d205a9bcc5b29397b9ac9097ab13287 MD5 | raw file
Possible License(s): MIT
  1. #include "error.hpp"
  2. #include <string>
  3. #include <cstdio>
  4. #include <cassert>
  5. bool checkError(const char* Title)
  6. {
  7. int Error;
  8. if((Error = glGetError()) != GL_NO_ERROR)
  9. {
  10. std::string ErrorString;
  11. switch(Error)
  12. {
  13. case GL_INVALID_ENUM:
  14. ErrorString = "GL_INVALID_ENUM";
  15. break;
  16. case GL_INVALID_VALUE:
  17. ErrorString = "GL_INVALID_VALUE";
  18. break;
  19. case GL_INVALID_OPERATION:
  20. ErrorString = "GL_INVALID_OPERATION";
  21. break;
  22. case GL_INVALID_FRAMEBUFFER_OPERATION:
  23. ErrorString = "GL_INVALID_FRAMEBUFFER_OPERATION";
  24. break;
  25. case GL_OUT_OF_MEMORY:
  26. ErrorString = "GL_OUT_OF_MEMORY";
  27. break;
  28. default:
  29. ErrorString = "UNKNOWN";
  30. break;
  31. }
  32. fprintf(stdout, "OpenGL Error(%s): %s\n", ErrorString.c_str(), Title);
  33. assert(0);
  34. }
  35. return Error == GL_NO_ERROR;
  36. }
  37. inline bool checkFramebuffer(GLuint FramebufferName)
  38. {
  39. GLenum Status = glCheckFramebufferStatus(GL_FRAMEBUFFER);
  40. switch(Status)
  41. {
  42. case GL_FRAMEBUFFER_UNDEFINED:
  43. fprintf(stdout, "OpenGL Error(%s)\n", "GL_FRAMEBUFFER_UNDEFINED");
  44. break;
  45. case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT:
  46. fprintf(stdout, "OpenGL Error(%s)\n", "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT");
  47. break;
  48. case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:
  49. fprintf(stdout, "OpenGL Error(%s)\n", "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT");
  50. break;
  51. case GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER:
  52. fprintf(stdout, "OpenGL Error(%s)\n", "GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER");
  53. break;
  54. case GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER:
  55. fprintf(stdout, "OpenGL Error(%s)\n", "GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER");
  56. break;
  57. case GL_FRAMEBUFFER_UNSUPPORTED:
  58. fprintf(stdout, "OpenGL Error(%s)\n", "GL_FRAMEBUFFER_UNSUPPORTED");
  59. break;
  60. case GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:
  61. fprintf(stdout, "OpenGL Error(%s)\n", "GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE");
  62. break;
  63. case GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS:
  64. fprintf(stdout, "OpenGL Error(%s)\n", "GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS");
  65. break;
  66. }
  67. return Status != GL_FRAMEBUFFER_COMPLETE;
  68. }