A 2D tile-based sandbox game.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

glutil.cc 648B

123456789101112131415161718192021222324252627282930313233343536
  1. #include "glutil.h"
  2. #include <SDL.h>
  3. #include <SDL_opengles2.h>
  4. #include <stdexcept>
  5. namespace Cygnet {
  6. const char *glErrorString(int err) {
  7. #define errcase(x) case x: return #x
  8. switch (err) {
  9. errcase(GL_NO_ERROR);
  10. errcase(GL_INVALID_ENUM);
  11. errcase(GL_INVALID_VALUE);
  12. errcase(GL_INVALID_OPERATION);
  13. errcase(GL_INVALID_FRAMEBUFFER_OPERATION);
  14. errcase(GL_OUT_OF_MEMORY);
  15. default: return "(unknown)";
  16. }
  17. #undef errcase
  18. }
  19. void glCheck() {
  20. GLenum err = glGetError();
  21. if (err != GL_NO_ERROR) {
  22. throw std::runtime_error(glErrorString(err));
  23. }
  24. }
  25. void sdlAssert(bool val) {
  26. if (!val) {
  27. throw std::runtime_error(SDL_GetError());
  28. }
  29. }
  30. }