#include <OgreCompositorInstance.h>
Public Types | |
typedef std::map < int, MaterialPtr > | QuadMaterialMap |
typedef std::pair < int, RenderSystemOperation * > | RenderSystemOpPair |
typedef std::vector < RenderSystemOpPair > | RenderSystemOpPairs |
typedef std::vector < TargetOperation > | CompiledState |
Public Member Functions | |
CompositorInstance (Compositor *filter, CompositionTechnique *technique, CompositorChain *chain) | |
virtual | ~CompositorInstance () |
void | setEnabled (bool value) |
Set enabled flag. | |
bool | getEnabled () |
Get enabled flag. | |
const String & | getTextureInstanceName (const String &name) |
Get the instance name for a local texture. | |
virtual void | _compileTargetOperations (CompiledState &compiledState) |
Recursively collect target states (except for final Pass). | |
virtual void | _compileOutputOperation (TargetOperation &finalState) |
Compile the final (output) operation. | |
Compositor * | getCompositor () |
Get Compositor of which this is an instance. | |
CompositionTechnique * | getTechnique () |
Get CompositionTechnique used by this instance. | |
CompositorChain * | getChain () |
Get Chain that this instance is part of. | |
void | addListener (Listener *l) |
Add a listener. | |
void | removeListener (Listener *l) |
Remove a listener. | |
void | _fireNotifyMaterialSetup (uint32 pass_id, MaterialPtr &mat) |
Notify listeners of a material compilation. | |
void | _fireNotifyMaterialRender (uint32 pass_id, MaterialPtr &mat) |
Notify listeners of a material render. | |
Private Types | |
typedef std::map < String, TexturePtr > | LocalTextureMap |
Map from name->local texture. | |
typedef std::vector < Listener * > | Listeners |
Vector of listeners. | |
Private Member Functions | |
virtual void | collectPasses (TargetOperation &finalState, CompositionTargetPass *target) |
Collect rendering passes. | |
MaterialPtr | createLocalMaterial () |
Create a local dummy material with one technique but no passes. | |
void | createResources () |
Create local rendertextures and other resources. | |
void | freeResources () |
Destroy local rendertextures and other resources. | |
RenderTarget * | getTargetForTex (const String &name) |
Get RenderTarget for a named local texture. | |
const String & | getSourceForTex (const String &name) |
Get source texture name for a named local texture. | |
void | queueRenderSystemOp (TargetOperation &finalState, RenderSystemOperation *op) |
Queue a render system operation. | |
Private Attributes | |
Compositor * | mCompositor |
Compositor of which this is an instance. | |
CompositionTechnique * | mTechnique |
Composition technique used by this instance. | |
CompositorChain * | mChain |
Composition chain of which this instance is part. | |
bool | mEnabled |
Is this instance enabled? | |
LocalTextureMap | mLocalTextures |
Listeners | mListeners |
CompositorInstance * | mPreviousInstance |
Previous instance (set by chain). | |
Friends | |
class | CompositorChain |
Classes | |
class | Listener |
Provides an interface to "listen in" to to render system operations executed by this CompositorInstance. More... | |
class | RenderSystemOperation |
Specific render system operation. More... | |
class | TargetOperation |
Operation setup for a RenderTarget (collected). More... |
It is part of the CompositorChain for a Viewport.
Definition at line 42 of file OgreCompositorInstance.h.
typedef std::map<int, MaterialPtr> Ogre::CompositorInstance::QuadMaterialMap |
Definition at line 87 of file OgreCompositorInstance.h.
typedef std::pair<int, RenderSystemOperation*> Ogre::CompositorInstance::RenderSystemOpPair |
Definition at line 88 of file OgreCompositorInstance.h.
typedef std::vector<RenderSystemOpPair> Ogre::CompositorInstance::RenderSystemOpPairs |
Definition at line 89 of file OgreCompositorInstance.h.
typedef std::vector<TargetOperation> Ogre::CompositorInstance::CompiledState |
Definition at line 145 of file OgreCompositorInstance.h.
typedef std::map<String,TexturePtr> Ogre::CompositorInstance::LocalTextureMap [private] |
typedef std::vector<Listener*> Ogre::CompositorInstance::Listeners [private] |
Ogre::CompositorInstance::CompositorInstance | ( | Compositor * | filter, | |
CompositionTechnique * | technique, | |||
CompositorChain * | chain | |||
) |
virtual Ogre::CompositorInstance::~CompositorInstance | ( | ) | [virtual] |
void Ogre::CompositorInstance::setEnabled | ( | bool | value | ) |
Set enabled flag.
The compositor instance will only render if it is enabled, otherwise it is pass-through.
bool Ogre::CompositorInstance::getEnabled | ( | ) |
Get enabled flag.
Get the instance name for a local texture.
name | The name of the texture in the original compositor definition |
virtual void Ogre::CompositorInstance::_compileTargetOperations | ( | CompiledState & | compiledState | ) | [virtual] |
Recursively collect target states (except for final Pass).
compiledState | This vector will contain a list of TargetOperation objects |
virtual void Ogre::CompositorInstance::_compileOutputOperation | ( | TargetOperation & | finalState | ) | [virtual] |
Compile the final (output) operation.
This is done seperately because this is combined with the input in chained filters.
Compositor* Ogre::CompositorInstance::getCompositor | ( | ) |
Get Compositor of which this is an instance.
CompositionTechnique* Ogre::CompositorInstance::getTechnique | ( | ) |
Get CompositionTechnique used by this instance.
CompositorChain* Ogre::CompositorInstance::getChain | ( | ) |
Get Chain that this instance is part of.
void Ogre::CompositorInstance::addListener | ( | Listener * | l | ) |
Add a listener.
Listeners provide an interface to "listen in" to to render system operations executed by this CompositorInstance so that materials can be programmatically set up.
void Ogre::CompositorInstance::removeListener | ( | Listener * | l | ) |
void Ogre::CompositorInstance::_fireNotifyMaterialSetup | ( | uint32 | pass_id, | |
MaterialPtr & | mat | |||
) |
Notify listeners of a material compilation.
void Ogre::CompositorInstance::_fireNotifyMaterialRender | ( | uint32 | pass_id, | |
MaterialPtr & | mat | |||
) |
Notify listeners of a material render.
virtual void Ogre::CompositorInstance::collectPasses | ( | TargetOperation & | finalState, | |
CompositionTargetPass * | target | |||
) | [private, virtual] |
Collect rendering passes.
Here, passes are converted into render target operations and queued with queueRenderSystemOp.
MaterialPtr Ogre::CompositorInstance::createLocalMaterial | ( | ) | [private] |
Create a local dummy material with one technique but no passes.
The material is detached from the Material Manager to make sure it is destroyed when going out of scope.
void Ogre::CompositorInstance::createResources | ( | ) | [private] |
Create local rendertextures and other resources.
Builds mLocalTextures.
void Ogre::CompositorInstance::freeResources | ( | ) | [private] |
Destroy local rendertextures and other resources.
RenderTarget* Ogre::CompositorInstance::getTargetForTex | ( | const String & | name | ) | [private] |
Get RenderTarget for a named local texture.
Get source texture name for a named local texture.
void Ogre::CompositorInstance::queueRenderSystemOp | ( | TargetOperation & | finalState, | |
RenderSystemOperation * | op | |||
) | [private] |
Queue a render system operation.
friend class CompositorChain [friend] |
Definition at line 261 of file OgreCompositorInstance.h.
Compositor* Ogre::CompositorInstance::mCompositor [private] |
Composition technique used by this instance.
Definition at line 213 of file OgreCompositorInstance.h.
CompositorChain* Ogre::CompositorInstance::mChain [private] |
Composition chain of which this instance is part.
Definition at line 215 of file OgreCompositorInstance.h.
bool Ogre::CompositorInstance::mEnabled [private] |
Definition at line 220 of file OgreCompositorInstance.h.
Definition at line 224 of file OgreCompositorInstance.h.
Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat May 10 16:25:32 2008