X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fvideo%2Fglutil.hpp;h=85200bdd6323bcfc0966fe778321a66b77096acb;hb=38105c22495d9439b30221732dd5d7b89f328a0c;hp=be09ba46e802ace3ce55844f099bd582635a6d5b;hpb=551c54f2ea0a4ef991a24e66e70635ed8c41fb10;p=supertux.git diff --git a/src/video/glutil.hpp b/src/video/glutil.hpp index be09ba46e..85200bdd6 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,22 @@ #ifndef __GLUTIL_HPP__ #define __GLUTIL_HPP__ +#include + +#ifdef HAVE_OPENGL + #include #include + +#ifndef MACOSX #include +#include +#else +#include +#include +#endif -static inline void assert_gl(const char* message) +static inline void check_gl_error(const char* message) { #ifdef DEBUG GLenum error = glGetError(); @@ -52,14 +63,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