27 #ifndef _CEGUIOpenGLESRenderer_h_
28 #define _CEGUIOpenGLESRenderer_h_
30 #include "CEGUI/Base.h"
31 #include "CEGUI/Renderer.h"
32 #include "CEGUI/Size.h"
33 #include "CEGUI/Vector.h"
34 #include "CEGUI/RendererModules/OpenGLES/GLES.h"
38 #if (defined( __WIN32__ ) || defined( _WIN32 )) && !defined(CEGUI_STATIC)
39 # ifdef CEGUIOPENGLESRENDERER_EXPORTS
40 # define OPENGLES_GUIRENDERER_API __declspec(dllexport)
42 # define OPENGLES_GUIRENDERER_API __declspec(dllimport)
45 # define OPENGLES_GUIRENDERER_API
49 # pragma warning(push)
50 # pragma warning(disable : 4251)
57 class OpenGLESTexture;
58 class OpenGLESTextureTarget;
59 class OpenGLESGeometryBuffer;
60 class OGLTextureTargetFactory;
106 const TextureTargetType tt_type = TTT_AUTO,
107 const int abi = CEGUI_VERSION_ABI);
136 const Sizef& display_size,
137 const TextureTargetType tt_type = TTT_AUTO,
138 const int abi = CEGUI_VERSION_ABI);
155 static void destroySystem();
169 const int abi = CEGUI_VERSION_ABI);
186 const TextureTargetType tt_type = TTT_AUTO,
187 const int abi = CEGUI_VERSION_ABI);
206 static bool isGLExtensionSupported(
const char* extension );
212 void destroyAllGeometryBuffers();
215 void destroyAllTextureTargets();
219 const String& resourceGroup);
221 void destroyTexture(
Texture& texture);
222 void destroyTexture(
const String& name);
223 void destroyAllTextures();
225 bool isTextureDefined(
const String& name)
const;
226 void beginRendering();
228 void setDisplaySize(
const Sizef& sz);
229 const Sizef& getDisplaySize()
const;
230 const Vector2f& getDisplayDPI()
const;
231 uint getMaxTextureSize()
const;
232 const String& getIdentifierString()
const;
261 void enableExtraStateSettings(
bool setting);
277 void restoreTextures();
290 Sizef getAdjustedTextureSize(
const Sizef& sz)
const;
297 static float getNextPOTSize(
const float f);
347 void setupExtraStates();
350 void cleanupExtraStates();
353 void initialiseTextureTargetFactory(
const TextureTargetType tt_type);
356 void logTextureDestruction(
const String& name);
361 GLboolean glScissorTest;
370 static String d_rendererID;
374 Vector2f d_displayDPI;
376 RenderTarget* d_defaultTarget;
380 TextureTargetList d_textureTargets;
384 GeometryBufferList d_geometryBuffers;
386 typedef std::map<String, OpenGLESTexture*, StringFastLessCompare
387 CEGUI_MAP_ALLOC(String, OpenGLESTexture*)>
TextureMap;
389 TextureMap d_textures;
391 uint d_maxTextureSize;
393 bool d_initExtraStates;
395 OGLTextureTargetFactory* d_textureTargetFactory;
400 #if defined(_MSC_VER)
401 # pragma warning(pop)
404 #endif // end of guard _CEGUIOpenGLESRenderer_h_
std::vector< TextureTarget * > TextureTargetList
container type used to hold TextureTargets we create.
Definition: Ogre/Renderer.cpp:238
Use targets based on frame buffer objects if available, else none.
Definition: cegui/include/CEGUI/RendererModules/OpenGLES/Renderer.h:75
Main namespace for Crazy Eddie's GUI Library.
Definition: cegui/include/CEGUI/Affector.h:42
Renderer class to interface with OpenGLES.
Definition: cegui/include/CEGUI/RendererModules/OpenGLES/Renderer.h:66
Abstract class defining the interface for objects that buffer geometry for later rendering.
Definition: cegui/include/CEGUI/GeometryBuffer.h:42
Automatically choose the best type available.
Definition: cegui/include/CEGUI/RendererModules/OpenGLES/Renderer.h:73
TextureTargetType
Enumeration of valid texture target types.
Definition: cegui/include/CEGUI/RendererModules/OpenGLES/Renderer.h:70
Specialisation of RenderTarget interface that should be used as the base class for RenderTargets that...
Definition: cegui/include/CEGUI/TextureTarget.h:40
Abstract base class specifying the required interface for Texture objects.
Definition: cegui/include/CEGUI/Texture.h:52
Use targets based on pbuffer support if available, else none.
Definition: cegui/include/CEGUI/RendererModules/OpenGLES/Renderer.h:77
std::map< String, OgreTexture *, StringFastLessCompare CEGUI_MAP_ALLOC(String, OgreTexture *)> TextureMap
container type used to hold Textures we create.
Definition: Ogre/Renderer.cpp:243
Abstract class defining the basic required interface for Renderer objects.
Definition: cegui/include/CEGUI/Renderer.h:82
std::vector< OgreGeometryBuffer * > GeometryBufferList
container type used to hold GeometryBuffers we create.
Definition: Ogre/Renderer.cpp:240
Defines interface to some surface that can be rendered to. Concrete instances of objects that impleme...
Definition: cegui/include/CEGUI/RenderTarget.h:57
bool isTexCoordSystemFlipped() const
Returns if the texture coordinate system is vertically flipped or not. The original of a texture coor...
Definition: cegui/include/CEGUI/RendererModules/OpenGLES/Renderer.h:314
String class used within the GUI system.
Definition: cegui/include/CEGUI/String.h:62