28 #ifndef _CEGUIOgreRenderer_h_
29 #define _CEGUIOgreRenderer_h_
31 #include "../../CEGUIRenderer.h"
32 #include "../../CEGUISize.h"
33 #include "../../CEGUIVector.h"
37 #if (defined( __WIN32__ ) || defined( _WIN32 )) && !defined(CEGUI_STATIC)
38 # ifdef OGRE_GUIRENDERER_EXPORTS
39 # define OGRE_GUIRENDERER_API __declspec(dllexport)
41 # define OGRE_GUIRENDERER_API __declspec(dllimport)
44 # define OGRE_GUIRENDERER_API
48 # pragma warning(push)
49 # pragma warning(disable : 4251)
64 class OgreGeometryBuffer;
66 class OgreResourceProvider;
68 class OgreWindowTarget;
69 struct OgreRenderer_impl;
120 static OgreRenderer& bootstrapSystem(Ogre::RenderTarget& target);
138 static void destroySystem();
157 static OgreRenderer& create(Ogre::RenderTarget& target);
175 void setRenderingEnabled(
const bool enabled);
178 bool isRenderingEnabled()
const;
194 Texture& createTexture(Ogre::TexturePtr& tex,
bool take_ownership =
false);
197 void setupRenderingBlendMode(
const BlendMode mode,
198 const bool force =
false);
217 void setFrameControlExecutionEnabled(
const bool enabled);
236 bool isFrameControlExecutionEnabled()
const;
246 void initialiseRenderStateSettings();
257 void setDefaultRootRenderTarget(Ogre::RenderTarget& target);
268 bool isUsingShaders()
const;
288 void setUsingShaders(
const bool use_shaders);
308 void updateShaderParams()
const;
311 void setWorldMatrix(
const Ogre::Matrix4& m);
313 void setViewMatrix(
const Ogre::Matrix4& m);
315 void setProjectionMatrix(
const Ogre::Matrix4& m);
317 const Ogre::Matrix4& getWorldMatrix()
const;
319 const Ogre::Matrix4& getViewMatrix()
const;
321 const Ogre::Matrix4& getProjectionMatrix()
const;
333 const Ogre::Matrix4& getWorldViewProjMatrix()
const;
339 void destroyAllGeometryBuffers();
342 void destroyAllTextureTargets();
346 void destroyTexture(
Texture& texture);
347 void destroyAllTextures();
348 void beginRendering();
350 void setDisplaySize(
const Size& sz);
351 const Size& getDisplaySize()
const;
352 const Vector2& getDisplayDPI()
const;
353 uint getMaxTextureSize()
const;
354 const String& getIdentifierString()
const;
365 void checkOgreInitialised();
368 void constructor_impl(Ogre::RenderTarget& target);
370 void initialiseShaders();
372 void cleanupShaders();
381 #if defined(_MSC_VER)
382 # pragma warning(pop)
385 #endif // end of guard _CEGUIOgreRenderer_h_
Class used as a two dimensional vector (aka a Point)
Definition: CEGUIVector.h:45
CEGUI::Renderer implementation for the Ogre engine.
Definition: CEGUIOgreRenderer.h:72
ImageCodec object that loads data via image loading facilities in Ogre.
Definition: CEGUIOgreImageCodec.h:41
Abstract class defining the interface for objects that buffer geometry for later rendering.
Definition: CEGUIGeometryBuffer.h:42
Definition: CEGUIOgreResourceProvider.h:39
Class that holds the size (width & height) of something.
Definition: CEGUISize.h:43
Specialisation of RenderTarget interface that should be used as the base class for RenderTargets that...
Definition: CEGUITextureTarget.h:41
Abstract base class specifying the required interface for Texture objects.
Definition: CEGUITexture.h:50
Abstract class defining the basic required interface for Renderer objects.
Definition: CEGUIRenderer.h:80
BlendMode
Enumerated type that contains the valid options that specify the type of blending that is to be perfo...
Definition: CEGUIRenderer.h:59
Definition: CEGUIRenderingRoot.h:36
OgreRenderer_impl * d_pimpl
Pointer to the hidden implementation data.
Definition: CEGUIOgreRenderer.h:375
String class used within the GUI system.
Definition: CEGUIString.h:57