30 #ifndef __GLESPrerequisites_H__ 31 #define __GLESPrerequisites_H__ 36 #if (OGRE_PLATFORM == OGRE_PLATFORM_WIN32) 37 # if !defined( __MINGW32__ ) 38 # ifndef WIN32_LEAN_AND_MEAN 39 # define WIN32_LEAN_AND_MEAN 1 42 # define NOMINMAX // required to stop windows.h messing up std::min 47 #if (OGRE_PLATFORM == OGRE_PLATFORM_APPLE_IOS) 48 # include <OpenGLES/ES1/gl.h> 49 # include <OpenGLES/ES1/glext.h> 51 # include <OpenGLES/EAGL.h> 53 # ifndef GL_GLEXT_PROTOTYPES 54 # define GL_GLEXT_PROTOTYPES 56 #elif (OGRE_PLATFORM == OGRE_PLATFORM_ANDROID) 57 # ifndef GL_GLEXT_PROTOTYPES 58 # define GL_GLEXT_PROTOTYPES 60 # include <GLES/glplatform.h> 62 # include <GLES/glext.h> 66 # include <GLES/glext.h> 67 # include <GLES/egl.h> 71 #if OGRE_NO_PVRTC_CODEC == 0 72 # ifndef GL_IMG_texture_compression_pvrtc 73 # define GL_IMG_texture_compression_pvrtc 1 74 # define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 75 # define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 76 # define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 77 # define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 82 #ifndef GL_EXT_texture_compression_dxt1 83 # define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 84 # define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 90 # ifndef GL_GLEXT_PROTOTYPES 91 extern PFNGLISRENDERBUFFEROESPROC glIsRenderbufferOES;
92 extern PFNGLBINDRENDERBUFFEROESPROC glBindRenderbufferOES;
93 extern PFNGLDELETERENDERBUFFERSOESPROC glDeleteRenderbuffersOES;
94 extern PFNGLGENRENDERBUFFERSOESPROC glGenRenderbuffersOES;
95 extern PFNGLRENDERBUFFERSTORAGEOESPROC glRenderbufferStorageOES;
96 extern PFNGLGETRENDERBUFFERPARAMETERIVOESPROC glGetRenderbufferParameterivOES;
97 extern PFNGLISFRAMEBUFFEROESPROC glIsFramebufferOES;
98 extern PFNGLBINDFRAMEBUFFEROESPROC glBindFramebufferOES;
99 extern PFNGLDELETEFRAMEBUFFERSOESPROC glDeleteFramebuffersOES;
100 extern PFNGLGENFRAMEBUFFERSOESPROC glGenFramebuffersOES;
101 extern PFNGLCHECKFRAMEBUFFERSTATUSOESPROC glCheckFramebufferStatusOES;
102 extern PFNGLFRAMEBUFFERRENDERBUFFEROESPROC glFramebufferRenderbufferOES;
103 extern PFNGLFRAMEBUFFERTEXTURE2DOESPROC glFramebufferTexture2DOES;
104 extern PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVOESPROC glGetFramebufferAttachmentParameterivOES;
105 extern PFNGLGENERATEMIPMAPOESPROC glGenerateMipmapOES;
106 extern PFNGLBLENDEQUATIONOESPROC glBlendEquationOES;
107 extern PFNGLBLENDFUNCSEPARATEOESPROC glBlendFuncSeparateOES;
108 extern PFNGLBLENDEQUATIONSEPARATEOESPROC glBlendEquationSeparateOES;
109 extern PFNGLMAPBUFFEROESPROC glMapBufferOES;
119 # define GL_BGRA 0x80E1 124 # define GL_FILL 0x1B02 132 #if (OGRE_PLATFORM == OGRE_PLATFORM_WIN32) && !defined(__MINGW32__) && !defined(OGRE_STATIC_LIB) 133 # ifdef OGRE_GLESPLUGIN_EXPORTS 134 # define _OgreGLESExport __declspec(dllexport) 136 # if defined( __MINGW32__ ) 137 # define _OgreGLESExport 139 # define _OgreGLESExport __declspec(dllimport) 142 #elif defined ( OGRE_GCC_VISIBILITY ) 143 # define _OgreGLESExport __attribute__ ((visibility("default"))) 145 # define _OgreGLESExport 148 #if OGRE_COMPILER == OGRE_COMPILER_MSVC 149 #define __PRETTY_FUNCTION__ __FUNCTION__ 153 #define DEBUG_(text) \ 155 fprintf(stderr, "%s:%d: %s\n", __FUNCTION__, __LINE__, text); \ 158 #define ENABLE_GL_CHECK 0 161 #define GL_CHECK_ERROR \ 163 int e = glGetError(); \ 166 const char * errorString = ""; \ 169 case GL_INVALID_ENUM: errorString = "GL_INVALID_ENUM"; break; \ 170 case GL_INVALID_VALUE: errorString = "GL_INVALID_VALUE"; break; \ 171 case GL_INVALID_OPERATION: errorString = "GL_INVALID_OPERATION"; break; \ 172 case GL_OUT_OF_MEMORY: errorString = "GL_OUT_OF_MEMORY"; break; \ 176 sprintf(msgBuf, "OpenGL ES error 0x%04X %s in %s at line %i in %s \n", e, errorString, __PRETTY_FUNCTION__, __LINE__, __FILE__); \ 177 LogManager::getSingleton().logMessage(msgBuf); \ 181 #define GL_CHECK_ERROR {} 184 #define ENABLE_EGL_CHECK 1 187 #define EGL_CHECK_ERROR \ 189 int e = eglGetError(); \ 190 if ((e != 0) && (e != EGL_SUCCESS))\ 193 sprintf(msgBuf, "EGL error 0x%04X in %s at line %i in %s \n", e, __PRETTY_FUNCTION__, __LINE__, __FILE__);\ 194 LogManager::getSingleton().logMessage(msgBuf);\ 198 #define EGL_CHECK_ERROR {}
SharedPtr< GLESTexture > GLESTexturePtr
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.