Crazy Eddie's GUI System
0.8.7
|
CEGUI::Renderer implementation for the Ogre engine. More...
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 (const String &name, Ogre::TexturePtr &tex, bool take_ownership=false) |
Create a CEGUI::Texture that wraps an existing Ogre texture. More... | |
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. More... | |
bool | isFrameControlExecutionEnabled () const |
Returns whether rendering done by CEGUI will be wrapped with calls to Ogre::RenderSystem::_beginFrame and Ogre::RenderSystem::_endFrame. More... | |
void | initialiseRenderStateSettings () |
Sets all the required render states needed for CEGUI rendering. More... | |
void | setDefaultRootRenderTarget (Ogre::RenderTarget &target) |
Sets the Ogre::RenderTarget that should be targetted by the default GUIContext. More... | |
bool | isUsingShaders () const |
Returns whether the OgreRenderer is currently set to use shaders when doing its rendering operations. More... | |
void | setUsingShaders (const bool use_shaders) |
Set whether the OgreRenderer shound use shaders when performing its rendering operations. More... | |
void | bindShaders () |
Perform required operations to bind shaders (or unbind them) depending on whether shader based rendering is currently enabled. More... | |
void | updateShaderParams () const |
Updates the shader constant parameters (i.e. uniforms). More... | |
void | setWorldMatrix (const Ogre::Matrix4 &m) |
Set the current world matrix to the given matrix. | |
void | setViewMatrix (const Ogre::Matrix4 &m) |
Set the current view matrix to the given matrix. | |
void | setProjectionMatrix (const Ogre::Matrix4 &m) |
Set the current projection matrix to the given matrix. | |
const Ogre::Matrix4 & | getWorldMatrix () const |
return a const reference to the current world matrix. | |
const Ogre::Matrix4 & | getViewMatrix () const |
return a const reference to the current view matrix. | |
const Ogre::Matrix4 & | getProjectionMatrix () const |
return a const reference to the current projection matrix. | |
const Ogre::Matrix4 & | getWorldViewProjMatrix () const |
Return a const reference to the final transformation matrix that should be used when transforming geometry. More... | |
bool | isTexCoordSystemFlipped () const |
Returns if the texture coordinate system is vertically flipped or not. The original of a texture coordinate system is typically located either at the the top-left or the bottom-left. CEGUI, Direct3D and most rendering engines assume it to be on the top-left. OpenGL assumes it to be at the bottom left. More... | |
RenderTarget & | getDefaultRenderTarget () |
Returns the default RenderTarget object. The default render target is is typically one that targets the entire screen (or rendering window). More... | |
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. More... | |
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. More... | |
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. More... | |
void | destroyTextureTarget (TextureTarget *target) |
Function that cleans up TextureTarget objects created with the createTextureTarget function. More... | |
void | destroyAllTextureTargets () |
Destory all TextureTarget objects created by this Renderer. | |
Texture & | createTexture (const String &name) |
Create a 'null' Texture object. More... | |
Texture & | createTexture (const String &name, const String &filename, const String &resourceGroup) |
Create a Texture object using the given image file. More... | |
Texture & | createTexture (const String &name, const Sizef &size) |
Create a Texture object with the given pixel dimensions as specified by size. More... | |
void | destroyTexture (Texture &texture) |
Destroy a Texture object that was previously created by calling the createTexture functions. More... | |
void | destroyTexture (const String &name) |
Destroy a Texture object that was previously created by calling the createTexture functions. More... | |
void | destroyAllTextures () |
Destroy all Texture objects created by this Renderer. | |
Texture & | getTexture (const String &name) const |
Return a Texture object that was previously created by calling the createTexture functions. More... | |
bool | isTextureDefined (const String &name) const |
Return whether a texture with the given name exists. | |
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 Sizef &sz) |
Set the size of the display or host window in pixels for this Renderer object. More... | |
const Sizef & | getDisplaySize () const |
Return the size of the display or host window in pixels. More... | |
const Vector2f & | getDisplayDPI () const |
Return the resolution of the display or host window in dots per inch. More... | |
uint | getMaxTextureSize () const |
Return the pixel size of the maximum supported texture. More... | |
const String & | getIdentifierString () const |
Return identification string for the renderer module. More... | |
Public Member Functions inherited from CEGUI::Renderer | |
virtual | ~Renderer () |
Destructor. | |
Static Public Member Functions | |
static OgreRenderer & | bootstrapSystem (const int abi=CEGUI_VERSION_ABI) |
Convenience function that creates all the Ogre specific objects and then initialises the CEGUI system with them. More... | |
static OgreRenderer & | bootstrapSystem (Ogre::RenderTarget &target, const int abi=CEGUI_VERSION_ABI) |
Convenience function that creates all the Ogre specific objects and then initialises the CEGUI system with them. More... | |
static void | destroySystem () |
Convenience function to cleanup the CEGUI system and related objects that were created by calling the bootstrapSystem function. More... | |
static OgreRenderer & | create (const int abi=CEGUI_VERSION_ABI) |
Create an OgreRenderer object that uses the default Ogre rendering window as the default output surface. More... | |
static OgreRenderer & | create (Ogre::RenderTarget &target, const int abi=CEGUI_VERSION_ABI) |
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 | throwIfNameExists (const String &name) const |
helper to throw exception if name is already used. | |
void | constructor_impl (Ogre::RenderTarget &target) |
common parts of constructor | |
void | initialiseShaders () |
helper that creates and sets up shaders | |
void | cleanupShaders () |
helper to clean up shaders | |
Static Protected Member Functions | |
static void | logTextureCreation (const String &name) |
helper to safely log the creation of a named texture | |
static void | logTextureDestruction (const String &name) |
helper to safely log the destruction of a named texture | |
Protected Attributes | |
OgreRenderer_impl * | d_pimpl |
Pointer to the hidden implementation data. | |
CEGUI::Renderer implementation for the Ogre engine.
void CEGUI::OgreRenderer::bindShaders | ( | ) |
Perform required operations to bind shaders (or unbind them) depending on whether shader based rendering is currently enabled.
Normally you would not need to call this function directly, although that might be required if you are using RenderEffect objects that also use shaders.
|
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:
abi | This must be set to CEGUI_VERSION_ABI |
|
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:
target | Reference to the Ogre::RenderTarget object that the created OgreRenderer will use as the default rendering root. |
abi | This must be set to CEGUI_VERSION_ABI |
|
static |
Create an OgreRenderer object that uses the default Ogre rendering window as the default output surface.
|
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.
Implements CEGUI::Renderer.
Texture& CEGUI::OgreRenderer::createTexture | ( | const String & | name, |
Ogre::TexturePtr & | tex, | ||
bool | take_ownership = false |
||
) |
Create a CEGUI::Texture that wraps an existing Ogre texture.
name | The name for tne new texture being created. |
tex | Ogre::TexturePtr for the texture that will be used by the created CEGUI::Texture. |
take_ownership |
Create a 'null' Texture object.
name | String holding the name for the new texture. Texture names must be unique within the Renderer. |
Implements CEGUI::Renderer.
|
virtual |
Create a Texture object using the given image file.
name | String holding the name for the new texture. Texture names must be unique within the Renderer. |
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. |
Implements CEGUI::Renderer.
Create a Texture object with the given pixel dimensions as specified by size.
name | String holding the name for the new texture. Texture names must be unique within the Renderer. |
size | Size object that describes the desired texture size. |
Implements CEGUI::Renderer.
|
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.
Implements CEGUI::Renderer.
|
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.
buffer | The GeometryBuffer object to be destroyed. |
Implements CEGUI::Renderer.
|
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:
|
virtual |
Destroy a Texture object that was previously created by calling the createTexture functions.
texture | Texture object to be destroyed. |
Implements CEGUI::Renderer.
|
virtual |
Destroy a Texture object that was previously created by calling the createTexture functions.
name | String holding the name of the texture to destroy. |
Implements CEGUI::Renderer.
|
virtual |
Function that cleans up TextureTarget objects created with the createTextureTarget function.
target | A pointer to a TextureTarget object that was previously returned from a call to createTextureTarget. |
Implements CEGUI::Renderer.
|
virtual |
Returns the default RenderTarget object. The default render target is is typically one that targets the entire screen (or rendering window).
Implements CEGUI::Renderer.
|
virtual |
Return the resolution of the display or host window in dots per inch.
Implements CEGUI::Renderer.
|
virtual |
Return the size of the display or host window in pixels.
Implements CEGUI::Renderer.
|
virtual |
Return identification string for the renderer module.
Implements CEGUI::Renderer.
|
virtual |
Return the pixel size of the maximum supported texture.
Implements CEGUI::Renderer.
Return a Texture object that was previously created by calling the createTexture functions.
Implements CEGUI::Renderer.
const Ogre::Matrix4& CEGUI::OgreRenderer::getWorldViewProjMatrix | ( | ) | const |
Return a const reference to the final transformation matrix that should be used when transforming geometry.
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).
|
inline |
Returns if the texture coordinate system is vertically flipped or not. The original of a texture coordinate system is typically located either at the the top-left or the bottom-left. CEGUI, Direct3D and most rendering engines assume it to be on the top-left. OpenGL assumes it to be at the bottom left.
This function is intended to be used when generating geometry for rendering the TextureTarget onto another surface. It is also intended to be used when trying to use a custom texture (RTT) inside CEGUI using the Image class, in order to determine the Image coordinates correctly.
bool CEGUI::OgreRenderer::isUsingShaders | ( | ) | const |
Returns whether the OgreRenderer is currently set to use shaders when doing its rendering operations.
void CEGUI::OgreRenderer::setDefaultRootRenderTarget | ( | Ogre::RenderTarget & | target | ) |
Sets the Ogre::RenderTarget that should be targetted by the default GUIContext.
target | Reference to the Ogre::RenderTarget object that is to be used as the target for output from the default GUIContext. |
|
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.
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).
enabled |
|
void CEGUI::OgreRenderer::setUsingShaders | ( | const bool | use_shaders | ) |
Set whether the OgreRenderer shound use shaders when performing its rendering operations.
use_shaders |
|
void CEGUI::OgreRenderer::updateShaderParams | ( | ) | const |
Updates the shader constant parameters (i.e. uniforms).
You do not normally need to call this function directly. Some may need to call this function if you're doing non-standard or advanced things.