X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fvideo%2Fglutil.hpp;h=b19ce8b1016bb27bc7cfaafb81f4eb3ed9159955;hb=e7a12ed844f040d270e50ce25f74de5f017c1157;hp=be09ba46e802ace3ce55844f099bd582635a6d5b;hpb=551c54f2ea0a4ef991a24e66e70635ed8c41fb10;p=supertux.git diff --git a/src/video/glutil.hpp b/src/video/glutil.hpp index be09ba46e..b19ce8b10 100644 --- a/src/video/glutil.hpp +++ b/src/video/glutil.hpp @@ -1,7 +1,7 @@ // $Id$ // -// SuperTux - A Jump'n Run -// Copyright (C) 2004 Matthias Braun // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -19,11 +19,16 @@ #ifndef __GLUTIL_HPP__ #define __GLUTIL_HPP__ +#include + +#ifdef HAVE_OPENGL + #include #include #include +#include -static inline void assert_gl(const char* message) +static inline void check_gl_error(const char* message) { #ifdef DEBUG GLenum error = glGetError(); @@ -52,14 +57,40 @@ static inline void assert_gl(const char* message) msg << "OUT_OF_MEMORY: There is not enough memory left to execute the " "command."; break; +#ifdef GL_TABLE_TOO_LARGE + case GL_TABLE_TOO_LARGE: + msg << "TABLE_TOO_LARGE: table is too large"; + break; +#endif default: msg << "Unknown error (code " << error << ")"; } - + throw std::runtime_error(msg.str()); } +#else + (void) message; #endif } +static inline void assert_gl(const char* message) +{ +#ifdef DEBUG + check_gl_error(message); +#else + (void) message; #endif +} + +#else + +#define GLenum int +#define GLint int +#define GL_SRC_ALPHA 0 +#define GL_ONE_MINUS_SRC_ALPHA 1 +#define GL_RGBA 2 +#define GL_ONE 3 +#endif + +#endif