28 #ifndef __GL3PlusPrerequisites_H__ 29 #define __GL3PlusPrerequisites_H__ 36 class GL3PlusRenderSystem;
38 class GL3PlusTextureManager;
39 class GL3PlusGpuProgram;
41 class GL3PlusRTTManager;
42 class GL3PlusFBOManager;
43 class GL3PlusHardwarePixelBuffer;
44 class GL3PlusRenderBuffer;
51 #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 52 #if !defined( __MINGW32__ ) 53 # define WIN32_LEAN_AND_MEAN 55 # define NOMINMAX // required to stop windows.h messing up std::min 58 # define WGL_WGLEXT_PROTOTYPES 62 # include <GL/glext.h> 63 # include <GL/wglext.h> 64 #elif OGRE_PLATFORM == OGRE_PLATFORM_LINUX 65 # define GL_GLEXT_PROTOTYPES 66 # define GLX_GLXEXT_PROTOTYPES 68 # include <X11/Xlib.h> 70 # include <GL/glext.h> 72 # include <GL/glxext.h> 74 #elif OGRE_PLATFORM == OGRE_PLATFORM_APPLE 76 # include <OpenGL/gl3ext.h> 80 #if !defined( _CRT_SECURE_NO_DEPRECATE ) 81 #define _CRT_SECURE_NO_DEPRECATE 84 #if (OGRE_PLATFORM == OGRE_PLATFORM_WIN32) && !defined(__MINGW32__) && !defined(OGRE_STATIC_LIB) 85 # ifdef RenderSystem_GL3Plus_EXPORTS 86 # define _OgreGL3PlusExport __declspec(dllexport) 88 # if defined( __MINGW32__ ) 89 # define _OgreGL3PlusExport 91 # define _OgreGL3PlusExport __declspec(dllimport) 94 #elif defined ( OGRE_GCC_VISIBILITY ) 95 # define _OgreGL3PlusExport __attribute__ ((visibility("default"))) 97 # define _OgreGL3PlusExport 101 #define GL_BUFFER_OFFSET(i) ((char *)NULL + (i)) 103 #if OGRE_COMPILER == OGRE_COMPILER_MSVC 104 # define __PRETTY_FUNCTION__ __FUNCTION__ 107 #define ENABLE_GL_CHECK 0 109 #define OGRE_CHECK_GL_ERROR(glFunc) \ 112 int e = glGetError(); \ 115 const char * errorString = ""; \ 118 case GL_INVALID_ENUM: errorString = "GL_INVALID_ENUM"; break; \ 119 case GL_INVALID_VALUE: errorString = "GL_INVALID_VALUE"; break; \ 120 case GL_INVALID_OPERATION: errorString = "GL_INVALID_OPERATION"; break; \ 121 case GL_INVALID_FRAMEBUFFER_OPERATION: errorString = "GL_INVALID_FRAMEBUFFER_OPERATION"; break; \ 122 case GL_OUT_OF_MEMORY: errorString = "GL_OUT_OF_MEMORY"; break; \ 126 StringVector tokens = StringUtil::split(#glFunc, "("); \ 127 sprintf(msgBuf, "OpenGL error 0x%04X %s in %s at line %i for %s\n", e, errorString, __PRETTY_FUNCTION__, __LINE__, tokens[0].c_str()); \ 128 LogManager::getSingleton().logMessage(msgBuf, LML_CRITICAL); \ 132 # define OGRE_CHECK_GL_ERROR(glFunc) { glFunc; } 135 #endif //#ifndef __GL3PlusPrerequisites_H__ SharedPtr< GL3PlusTexture > GL3PlusTexturePtr
SharedPtr< GL3PlusGpuProgram > GL3PlusGpuProgramPtr
This source file is part of OGRE (Object-oriented Graphics Rendering Engine) For the latest info...
Reference-counted shared pointer, used for objects where implicit destruction is required.