00001 /* 00002 ----------------------------------------------------------------------------- 00003 This source file is part of OGRE 00004 (Object-oriented Graphics Rendering Engine) 00005 For the latest info, see http://www.ogre3d.org/ 00006 00007 Copyright (c) 2000-2005 The OGRE Team 00008 Also see acknowledgements in Readme.html 00009 00010 This program is free software; you can redistribute it and/or modify it under 00011 the terms of the GNU Lesser General Public License as published by the Free Software 00012 Foundation; either version 2 of the License, or (at your option) any later 00013 version. 00014 00015 This program is distributed in the hope that it will be useful, but WITHOUT 00016 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 00017 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. 00018 00019 You should have received a copy of the GNU Lesser General Public License along with 00020 this program; if not, write to the Free Software Foundation, Inc., 59 Temple 00021 Place - Suite 330, Boston, MA 02111-1307, USA, or go to 00022 http://www.gnu.org/copyleft/lesser.txt. 00023 ----------------------------------------------------------------------------- 00024 */ 00025 #ifndef __GLPrerequisites_H__ 00026 #define __GLPrerequisites_H__ 00027 00028 #include "OgrePrerequisites.h" 00029 00030 namespace Ogre { 00031 // Forward declarations 00032 class GLSupport; 00033 class GLRenderSystem; 00034 class GLTexture; 00035 class GLTextureManager; 00036 class GLGpuProgram; 00037 class GLContext; 00038 class GLRTTManager; 00039 class GLFBOManager; 00040 class GLHardwarePixelBuffer; 00041 class GLRenderBuffer; 00042 } 00043 00044 #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 00045 #if !defined( __MINGW32__ ) 00046 # define NOMINMAX // required to stop windows.h messing up std::min 00047 #endif 00048 # include <windows.h> 00049 # include <wingdi.h> 00050 # include <GL/glew.h> 00051 # include <GL/wglew.h> 00052 # include <GL/glu.h> 00053 #elif OGRE_PLATFORM == OGRE_PLATFORM_LINUX 00054 # include <GL/glew.h> 00055 # include <GL/glu.h> 00056 # define GL_GLEXT_PROTOTYPES 00057 #elif OGRE_PLATFORM == OGRE_PLATFORM_APPLE 00058 # include <GL/glew.h> 00059 # include <OpenGL/glu.h> 00060 #endif 00061 00062 00063 00064 00065 #ifdef OGRE_DEBUG_MODE 00066 00067 #ifndef GL_ERROR_EXCEPT 00068 00069 #define OGRE_GL_GETERROR(ERROR_MSG) {const GLubyte *errString; \ 00070 GLenum errCode = glGetError(); \ 00071 if (errCode != GL_NO_ERROR) { \ 00072 errString = gluErrorString (errCode); \ 00073 LogManager::getSingleton().logMessage ("[GL] :" + Ogre::String(ERROR_MSG) + \ 00074 " : " + Ogre::String( (const char*) errString)); \ 00075 } \ 00076 } 00077 00078 #else //GL_ERROR_EXCEPT 00079 00080 #define OGRE_GL_GETERROR(ERROR_MSG) {const GLubyte *errString; \ 00081 GLenum errCode = glGetError(); \ 00082 if (errCode != GL_NO_ERROR) { \ 00083 errString = gluErrorString (errCode); \ 00084 OGRE_EXCEPT (Exception::ERR_INTERNAL_ERROR, \ 00085 Ogre::String(ERROR_MSG) + \ 00086 " : " + Ogre::String( (const char*) errString), String("")); \ 00087 } \ 00088 } 00089 00090 #endif //GL_ERROR_EXCEPT 00091 00092 #else //OGRE_DEBUG_MODE 00093 00094 #define OGRE_GL_GETERROR() 00095 00096 #endif //OGRE_DEBUG_MODE 00097 00098 #endif
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:37:41 2006