OpenGUI::OgreRenderer Class Reference

#include <Renderer_Ogre_Renderer.h>

List of all members.


Detailed Description

OpenGUI Renderer implementation that works with Ogre


Public Member Functions

 OgreRenderer (Ogre::Root *ogreRoot=0, Ogre::RenderSystem *ogreRenderSystem=0)
 Constructor.
virtual ~OgreRenderer ()
void setTextureResourceGroup (const std::string &ogreResourceGroup)
 Sets the resource group from which future textures will be loaded. Default is Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME.
const std::string & getTextureResourceGroup ()
 Returns the current resource group that textures are loaded from.
void reclaimBufferMemory ()
 This tests the batch buffer usage since the previous call to this function, and shortens it there is significant under utilization.
Texture * createTextureFromOgreTexturePtr (Ogre::TexturePtr &texture)
 Create a texture from an existing Ogre::TexturePtr object.
virtual void selectViewport (Viewport *activeViewport)
 See Renderer documentation from OpenGUI.
virtual void preRenderSetup ()
 See Renderer documentation from OpenGUI.
virtual void doRenderOperation (RenderOperation &renderOp)
 See Renderer documentation from OpenGUI.
virtual void postRenderCleanup ()
 See Renderer documentation from OpenGUI.
virtual Texture * createTextureFromFile (const std::string &filename)
 See Renderer documentation from OpenGUI.
virtual Texture * createTextureFromTextureData (const TextureData *textureData)
 See Renderer documentation from OpenGUI.
virtual void updateTextureFromTextureData (Texture *texture, const TextureData *textureData)
 See Renderer documentation from OpenGUI.
virtual void destroyTexture (Texture *texturePtr)
 See Renderer documentation from OpenGUI.
virtual bool supportsRenderToTexture ()
virtual void selectRenderContext (RenderTexture *context)
virtual void clearContents ()
virtual RenderTexture * createRenderTexture (const IVector2 &size)
virtual void destroyRenderTexture (RenderTexture *texturePtr)

Private Member Functions

void safeSetTextureState (Texture *texture, Texture *mask)
void _setTextureState (OgreTexture *texture, OgreTexture *mask)
void _setupHardwareBuffer (size_t numVerts)
void _teardownHardwareBuffer ()
void _resizeHardwareBuffer (size_t numVerts)
void _appendBuffer (TriangleList &triList)
void _executeBuffer ()
void safeExecuteBuffer ()
void safeAppendBuffer (TriangleList &triList)

Private Attributes

OgreFrameListenermOgreFrameListener
Ogre::Root * mOgreRoot
Ogre::RenderSystem * mRenderSystem
std::string mTextureResourceGroup
FVector2 mTexelOffset
bool mSupportRTT
bool mSupportNPOT
bool mInRender
OgreViewportmCurrentViewport
RenderTexture * mCurrentContext
FVector2 mTextureUVScale
Texture * mCurrentTextureState_Texture
Texture * mCurrentTextureState_Mask
Ogre::TextureUnitState::UVWAddressingMode mTextureAddressMode
Ogre::LayerBlendModeEx mColorBlendMode
Ogre::LayerBlendModeEx mAlphaBlendMode
FVector2 mViewportPixelShift
Ogre::HardwareVertexBufferSharedPtr mVertexBuffer
Ogre::RenderOperation mRenderOperation
size_t m_HWBufferSize
size_t m_HWBufferUsage
size_t m_HWBuffer_MaxUsageThisFrame
PolyVertexm_HWBufferPtr

Classes

struct  PolyVertex


Constructor & Destructor Documentation

OpenGUI::OgreRenderer::OgreRenderer ( Ogre::Root *  ogreRoot = 0,
Ogre::RenderSystem *  ogreRenderSystem = 0 
)

Constructor.

OpenGUI::OgreRenderer::~OgreRenderer (  )  [virtual]


Member Function Documentation

void OpenGUI::OgreRenderer::_appendBuffer ( TriangleList &  triList  )  [private]

void OpenGUI::OgreRenderer::_executeBuffer (  )  [private]

void OpenGUI::OgreRenderer::_resizeHardwareBuffer ( size_t  numVerts  )  [private]

void OpenGUI::OgreRenderer::_setTextureState ( OgreTexture texture,
OgreTexture mask 
) [private]

void OpenGUI::OgreRenderer::_setupHardwareBuffer ( size_t  numVerts  )  [private]

void OpenGUI::OgreRenderer::_teardownHardwareBuffer (  )  [private]

void OpenGUI::OgreRenderer::clearContents (  )  [virtual]

RenderTexture * OpenGUI::OgreRenderer::createRenderTexture ( const IVector2 &  size  )  [virtual]

Texture * OpenGUI::OgreRenderer::createTextureFromFile ( const std::string &  filename  )  [virtual]

See Renderer documentation from OpenGUI.

Texture * OpenGUI::OgreRenderer::createTextureFromOgreTexturePtr ( Ogre::TexturePtr &  texture  ) 

Create a texture from an existing Ogre::TexturePtr object.

Texture * OpenGUI::OgreRenderer::createTextureFromTextureData ( const TextureData *  textureData  )  [virtual]

See Renderer documentation from OpenGUI.

void OpenGUI::OgreRenderer::destroyRenderTexture ( RenderTexture *  texturePtr  )  [virtual]

void OpenGUI::OgreRenderer::destroyTexture ( Texture *  texturePtr  )  [virtual]

See Renderer documentation from OpenGUI.

void OpenGUI::OgreRenderer::doRenderOperation ( RenderOperation &  renderOp  )  [virtual]

See Renderer documentation from OpenGUI.

const std::string & OpenGUI::OgreRenderer::getTextureResourceGroup (  ) 

Returns the current resource group that textures are loaded from.

void OpenGUI::OgreRenderer::postRenderCleanup (  )  [virtual]

See Renderer documentation from OpenGUI.

void OpenGUI::OgreRenderer::preRenderSetup (  )  [virtual]

See Renderer documentation from OpenGUI.

void OpenGUI::OgreRenderer::reclaimBufferMemory (  ) 

This tests the batch buffer usage since the previous call to this function, and shortens it there is significant under utilization.

Automatically called by the OgreFrameListener. You only need to call this if frame listeners are not being fired for some reason.

void OpenGUI::OgreRenderer::safeAppendBuffer ( TriangleList &  triList  )  [private]

void OpenGUI::OgreRenderer::safeExecuteBuffer (  )  [private]

void OpenGUI::OgreRenderer::safeSetTextureState ( Texture *  texture,
Texture *  mask 
) [private]

void OpenGUI::OgreRenderer::selectRenderContext ( RenderTexture *  context  )  [virtual]

void OpenGUI::OgreRenderer::selectViewport ( Viewport *  activeViewport  )  [virtual]

See Renderer documentation from OpenGUI.

void OpenGUI::OgreRenderer::setTextureResourceGroup ( const std::string &  ogreResourceGroup  ) 

Sets the resource group from which future textures will be loaded. Default is Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME.

bool OpenGUI::OgreRenderer::supportsRenderToTexture (  )  [virtual]

void OpenGUI::OgreRenderer::updateTextureFromTextureData ( Texture *  texture,
const TextureData *  textureData 
) [virtual]

See Renderer documentation from OpenGUI.


Member Data Documentation

size_t OpenGUI::OgreRenderer::m_HWBuffer_MaxUsageThisFrame [private]

PolyVertex* OpenGUI::OgreRenderer::m_HWBufferPtr [private]

size_t OpenGUI::OgreRenderer::m_HWBufferSize [private]

size_t OpenGUI::OgreRenderer::m_HWBufferUsage [private]

Ogre::LayerBlendModeEx OpenGUI::OgreRenderer::mAlphaBlendMode [private]

Ogre::LayerBlendModeEx OpenGUI::OgreRenderer::mColorBlendMode [private]

RenderTexture* OpenGUI::OgreRenderer::mCurrentContext [private]

Texture* OpenGUI::OgreRenderer::mCurrentTextureState_Mask [private]

Texture* OpenGUI::OgreRenderer::mCurrentTextureState_Texture [private]

OgreViewport* OpenGUI::OgreRenderer::mCurrentViewport [private]

bool OpenGUI::OgreRenderer::mInRender [private]

OgreFrameListener* OpenGUI::OgreRenderer::mOgreFrameListener [private]

Ogre::Root* OpenGUI::OgreRenderer::mOgreRoot [private]

Ogre::RenderOperation OpenGUI::OgreRenderer::mRenderOperation [private]

Ogre::RenderSystem* OpenGUI::OgreRenderer::mRenderSystem [private]

bool OpenGUI::OgreRenderer::mSupportNPOT [private]

bool OpenGUI::OgreRenderer::mSupportRTT [private]

FVector2 OpenGUI::OgreRenderer::mTexelOffset [private]

Ogre::TextureUnitState::UVWAddressingMode OpenGUI::OgreRenderer::mTextureAddressMode [private]

std::string OpenGUI::OgreRenderer::mTextureResourceGroup [private]

FVector2 OpenGUI::OgreRenderer::mTextureUVScale [private]

Ogre::HardwareVertexBufferSharedPtr OpenGUI::OgreRenderer::mVertexBuffer [private]

FVector2 OpenGUI::OgreRenderer::mViewportPixelShift [private]


The documentation for this class was generated from the following files:
Copyright © 2006 OpenGUI | OpenGUI.SF.net
Generated: Fri Jan 5 23:05:42 2007