Crazy Eddies GUI System: CEGUI::OgreRenderer Class Reference

Crazy Eddies GUI System 0.7.6

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
CEGUI::OgreRenderer Class Reference

CEGUI::Renderer implementation for the Ogre engine. More...

Inheritance diagram for CEGUI::OgreRenderer:
[legend]
Collaboration diagram for CEGUI::OgreRenderer:
[legend]

List of all members.

## Public Member Functions
void | setRenderingEnabled (const bool enabled)
| set whether CEGUI rendering will occur
bool | isRenderingEnabled () const
| return whether CEGUI rendering is enabled.
Texture & | createTexture (Ogre::TexturePtr &tex, bool take_ownership=false)
| Create a CEGUI::Texture that wraps an existing Ogre texture.
void | setupRenderingBlendMode (const BlendMode mode, const bool force=false)
| set the render states for the specified BlendMode.
void | setFrameControlExecutionEnabled (const bool enabled)
| Controls whether rendering done by CEGUI will be wrapped with calls to Ogre::RenderSystem::_beginFrame and Ogre::RenderSystem::_endFrame.
bool | isFrameControlExecutionEnabled () const
| Returns whether rendering done by CEGUI will be wrapped with calls to Ogre::RenderSystem::_beginFrame and Ogre::RenderSystem::_endFrame.
void | initialiseRenderStateSettings ()
| Sets all the required render states needed for CEGUI rendering.
void | setDefaultRootRenderTarget (Ogre::RenderTarget &target)
| Sets the Ogre::RenderTarget that should be targetted by the default RenderingRoot.
RenderingRoot & | getDefaultRenderingRoot ()
| Return the default rendering root for the renderer. The default rendering root is typically a RenderingRoot that targets the entire screen (or rendering window).
GeometryBuffer & | createGeometryBuffer ()
| Create a new GeometryBuffer and return a reference to it. You should remove the GeometryBuffer from any RenderQueues and call destroyGeometryBuffer when you want to destroy the GeometryBuffer.
void | destroyGeometryBuffer (const GeometryBuffer &buffer)
| Destroy a GeometryBuffer that was returned when calling the createGeometryBuffer function. Before destroying any GeometryBuffer you should ensure that it has been removed from any RenderQueue that was using it.
void | destroyAllGeometryBuffers ()
| Destroy all GeometryBuffer objects created by this Renderer.
TextureTarget * | createTextureTarget ()
| Create a TextureTarget that can be used to cache imagery; this is a RenderTarget that does not lose it's content from one frame to another.
void | destroyTextureTarget (TextureTarget *target)
| Function that cleans up TextureTarget objects created with the createTextureTarget function.
void | destroyAllTextureTargets ()
| Destory all TextureTarget objects created by this Renderer.
Texture & | createTexture ()
| Create a 'null' Texture object.
Texture & | createTexture (const String &filename, const String &resourceGroup)
| Create a Texture object using the given image file.
Texture & | createTexture (const Size &size)
| Create a Texture object with the given pixel dimensions as specified by size.
void | destroyTexture (Texture &texture)
| Destroy a Texture object that was previously created by calling the createTexture functions.
void | destroyAllTextures ()
| Destroy all Texture objects created by this Renderer.
void | beginRendering ()
| Perform any operations required to put the system into a state ready for rendering operations to begin.
void | endRendering ()
| Perform any operations required to finalise rendering.
void | setDisplaySize (const Size &sz)
| Set the size of the display or host window in pixels for this Renderer object.
const Size & | getDisplaySize () const
| Return the size of the display or host window in pixels.
const Vector2 & | getDisplayDPI () const
| Return the resolution of the display or host window in dots per inch.
uint | getMaxTextureSize () const
| Return the pixel size of the maximum supported texture.
const String & | getIdentifierString () const
| Return identification string for the renderer module.
## Static Public Member Functions
static OgreRenderer & | bootstrapSystem ()
| Convenience function that creates all the Ogre specific objects and then initialises the CEGUI system with them.
static OgreRenderer & | bootstrapSystem (Ogre::RenderTarget &target)
| Convenience function that creates all the Ogre specific objects and then initialises the CEGUI system with them.
static void | destroySystem ()
| Convenience function to cleanup the CEGUI system and related objects that were created by calling the bootstrapSystem function.
static OgreRenderer & | create ()
| Create an OgreRenderer object that uses the default Ogre rendering window as the default output surface.
static OgreRenderer & | create (Ogre::RenderTarget &target)
| Create an OgreRenderer object that uses the specified Ogre::RenderTarget as the default output surface.
static void | destroy (OgreRenderer &renderer)
| destory an OgreRenderer object.
static OgreResourceProvider & | createOgreResourceProvider ()
| function to create a CEGUI::OgreResourceProvider object
static void | destroyOgreResourceProvider (OgreResourceProvider &rp)
| function to destroy a CEGUI::OgreResourceProvider object
static OgreImageCodec & | createOgreImageCodec ()
| function to create a CEGUI::OgreImageCodec object.
static void | destroyOgreImageCodec (OgreImageCodec &ic)
| function to destroy a CEGUI::OgreImageCodec object.
## Protected Member Functions
| OgreRenderer ()
| default constructor.
| OgreRenderer (Ogre::RenderTarget &target)
| constructor takin the Ogre::RenderTarget to use as the default root.
virtual | ~OgreRenderer ()
| destructor.
void | checkOgreInitialised ()
| checks Ogre initialisation. throws exceptions if an issue is detected.
void | constructor_impl (Ogre::RenderTarget &target)
| common parts of constructor
## Protected Attributes
OgreRenderer_impl * | d_pimpl
| Pointer to the hidden implementation data.

## Detailed Description

CEGUI::Renderer implementation for the Ogre engine.

## Member Function Documentation

static OgreRenderer& CEGUI::OgreRenderer::bootstrapSystem | ( | Ogre::RenderTarget & | target | ) | `[static]`

Convenience function that creates all the Ogre specific objects and then initialises the CEGUI system with them.

The create Renderer will use the specified Ogre::RenderTarget as the default output surface.

This will create and initialise the following objects for you:

- CEGUI::OgreRenderer
- CEGUI::OgreResourceProvider
- CEGUI::OgreImageCodec
- CEGUI::System

Parameters:

  target | Reference to the Ogre::RenderTarget object that the created OgreRenderer will use as the default rendering root.

Returns:
  Reference to the CEGUI::OgreRenderer object that was created.

static OgreRenderer& CEGUI::OgreRenderer::bootstrapSystem | ( |  | ) | `[static]`

Convenience function that creates all the Ogre specific objects and then initialises the CEGUI system with them.

The created Renderer will use the default Ogre rendering window as the default output surface.

This will create and initialise the following objects for you:

- CEGUI::OgreRenderer
- CEGUI::OgreResourceProvider
- CEGUI::OgreImageCodec
- CEGUI::System

Returns:
  Reference to the CEGUI::OgreRenderer object that was created.

Note:
  For this to succeed you must have initialised Ogre to auto create the rendering window. If you have not done this, then you'll be wanting to use the overload that takes an Ogre::RenderTarget as input.

static OgreRenderer& CEGUI::OgreRenderer::create | ( |  | ) | `[static]`

Create an OgreRenderer object that uses the default Ogre rendering window as the default output surface.

Note:
  For this to succeed you must have initialised Ogre to auto create the rendering window. If you have not done this, then you'll be wanting to use the overload that takes an Ogre::RenderTarget as input.

GeometryBuffer& CEGUI::OgreRenderer::createGeometryBuffer | ( |  | ) | `[virtual]`

Create a new GeometryBuffer and return a reference to it. You should remove the GeometryBuffer from any RenderQueues and call destroyGeometryBuffer when you want to destroy the GeometryBuffer.

Returns:
  GeometryBuffer object.

Implements CEGUI::Renderer.

Texture& CEGUI::OgreRenderer::createTexture | ( | Ogre::TexturePtr & | tex,
|  | bool | take_ownership = `false`
| ) |  |

Create a CEGUI::Texture that wraps an existing Ogre texture.

Parameters:

  tex | Ogre::TexturePtr for the texture that will be used by the created CEGUI::Texture.
  take_ownership | true if the created Texture will assume ownership of tex and thus destroy tex when the Texture is destroyed. false if ownership of tex remains with the client app, and so no attempt will be made to destroy tex when the Texture is destroyed.

Texture& CEGUI::OgreRenderer::createTexture | ( |  | ) | `[virtual]`

Create a 'null' Texture object.

Returns:
  A newly created Texture object. The returned Texture object has no size or imagery associated with it.

Implements CEGUI::Renderer.

Texture& CEGUI::OgreRenderer::createTexture | ( | const String & | filename,
|  | const String & | resourceGroup
| ) |  | `[virtual]`

Create a Texture object using the given image file.

Parameters:

  filename | String object that specifies the path and filename of the image file to use when creating the texture.
  resourceGroup | String objet that specifies the resource group identifier to be passed to the resource provider when loading the texture file filename.

Returns:
  A newly created Texture object. The initial content of the texture memory is the requested image file.

Note:
  Due to possible limitations of the underlying hardware, API or engine, the final size of the texture may not match the size of the loaded file. You can check the ultimate sizes by querying the Texture object after creation.

Implements CEGUI::Renderer.

Texture& CEGUI::OgreRenderer::createTexture | ( | const Size & | size | ) | `[virtual]`

Create a Texture object with the given pixel dimensions as specified by size.

Parameters:

  size | Size object that describes the desired texture size.

Returns:
  A newly created Texture object. The initial contents of the texture memory is undefined.

Note:
  Due to possible limitations of the underlying hardware, API or engine, the final size of the texture may not match the requested size. You can check the ultimate sizes by querying the Texture object after creation.

Implements CEGUI::Renderer.

TextureTarget* CEGUI::OgreRenderer::createTextureTarget | ( |  | ) | `[virtual]`

Create a TextureTarget that can be used to cache imagery; this is a RenderTarget that does not lose it's content from one frame to another.

If the renderer is unable to offer such a thing, 0 should be returned.

Returns:
  Pointer to a TextureTarget object that is suitable for caching imagery, or 0 if the renderer is unable to offer such a thing.

Implements CEGUI::Renderer.

void CEGUI::OgreRenderer::destroyGeometryBuffer | ( | const GeometryBuffer & | buffer | ) | `[virtual]`

Destroy a GeometryBuffer that was returned when calling the createGeometryBuffer function. Before destroying any GeometryBuffer you should ensure that it has been removed from any RenderQueue that was using it.

Parameters:

  buffer | The GeometryBuffer object to be destroyed.

Implements CEGUI::Renderer.

static void CEGUI::OgreRenderer::destroySystem | ( |  | ) | `[static]`

Convenience function to cleanup the CEGUI system and related objects that were created by calling the bootstrapSystem function.

This function will destroy the following objects for you:

- CEGUI::System
- CEGUI::OgreImageCodec
- CEGUI::OgreResourceProvider
- CEGUI::OgreRenderer

Note:
  If you did not initialise CEGUI by calling the bootstrapSystem function, you should not call this, but rather delete any objects you created manually.

void CEGUI::OgreRenderer::destroyTexture | ( | Texture & | texture | ) | `[virtual]`

Destroy a Texture object that was previously created by calling the createTexture functions.

Parameters:

  texture | Texture object to be destroyed.

Implements CEGUI::Renderer.

void CEGUI::OgreRenderer::destroyTextureTarget | ( | TextureTarget * | target | ) | `[virtual]`

Function that cleans up TextureTarget objects created with the createTextureTarget function.

Parameters:

  target | A pointer to a TextureTarget object that was previously returned from a call to createTextureTarget.

Implements CEGUI::Renderer.

RenderingRoot& CEGUI::OgreRenderer::getDefaultRenderingRoot | ( |  | ) | `[virtual]`

Return the default rendering root for the renderer. The default rendering root is typically a RenderingRoot that targets the entire screen (or rendering window).

Returns:
  RenderingRoot object that is the default RenderingSurface provided by the Renderer.

Implements CEGUI::Renderer.

const Vector2& CEGUI::OgreRenderer::getDisplayDPI | ( |  | ) | const`[virtual]`

Return the resolution of the display or host window in dots per inch.

Returns:
  Vector2 object that describes the resolution of the display or host window in DPI.

Implements CEGUI::Renderer.

const Size& CEGUI::OgreRenderer::getDisplaySize | ( |  | ) | const`[virtual]`

Return the size of the display or host window in pixels.

Returns:
  Size object describing the pixel dimesntions of the current display or host window.

Implements CEGUI::Renderer.

const String& CEGUI::OgreRenderer::getIdentifierString | ( |  | ) | const`[virtual]`

Return identification string for the renderer module.

Returns:
  String object holding text that identifies the Renderer in use.

Implements CEGUI::Renderer.

uint CEGUI::OgreRenderer::getMaxTextureSize | ( |  | ) | const`[virtual]`

Return the pixel size of the maximum supported texture.

Returns:
  Size of the maximum supported texture in pixels.

Implements CEGUI::Renderer.

void CEGUI::OgreRenderer::initialiseRenderStateSettings | ( |  | ) |

Sets all the required render states needed for CEGUI rendering.

This is a low-level function intended for certain advanced concepts; in general it will not be required to call this function directly, since it is called automatically by the system when rendering is done.

bool CEGUI::OgreRenderer::isFrameControlExecutionEnabled | ( |  | ) | const

Returns whether rendering done by CEGUI will be wrapped with calls to Ogre::RenderSystem::_beginFrame and Ogre::RenderSystem::_endFrame.

This defaults to enabled and is required when using the default hook that automatically calls CEGUI::System::renderGUI via a frame listener. If you disable this setting, the automated rendering will also be disabled, which is useful when you wish to perform your own calls to the CEGUI::System::renderGUI function (and is the sole purpose for this setting).

Returns:
  - true if _beginFrame and _endFrame will be called.
  - false if _beginFrame and _endFrame will not be called (also means default renderGUI call will not be made).

void CEGUI::OgreRenderer::setDefaultRootRenderTarget | ( | Ogre::RenderTarget & | target | ) |

Sets the Ogre::RenderTarget that should be targetted by the default RenderingRoot.

Parameters:

  target | Reference to the Ogre::RenderTarget object that is to be used as the target for output from the default RenderingRoot.

void CEGUI::OgreRenderer::setDisplaySize | ( | const Size & | size | ) | `[virtual]`

Set the size of the display or host window in pixels for this Renderer object.

This is intended to be called by the System as part of the notification process when display size changes are notified to it via the System::notifyDisplaySizeChanged function.

Note:
  The Renderer implementation should not use this function other than to perform internal state updates on the Renderer and related objects.

Parameters:

  size | Size object describing the dimesions of the current or host window in pixels.

Implements CEGUI::Renderer.

void CEGUI::OgreRenderer::setFrameControlExecutionEnabled | ( | const bool | enabled | ) |

Controls whether rendering done by CEGUI will be wrapped with calls to Ogre::RenderSystem::_beginFrame and Ogre::RenderSystem::_endFrame.

This defaults to enabled and is required when using the default hook that automatically calls CEGUI::System::renderGUI via a frame listener. If you disable this setting, the automated rendering will also be disabled, which is useful when you wish to perform your own calls to the CEGUI::System::renderGUI function (and is the sole purpose for this setting).

Parameters:

  enabled | true if _beginFrame and _endFrame should be called. false if _beginFrame and _endFrame should not be called (also disables default renderGUI call).