# OgreGLPrerequisites.h

Go to the documentation of this file.

    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 Sep 17 15:39:08 2006