OGRE
1.10.12
Object-Oriented Graphics Rendering Engine
|
Chain of compositor effects applying to one viewport. More...
#include <OgreCompositorChain.h>
Public Types | |
typedef VectorIterator< Instances > | InstanceIterator |
typedef vector< CompositorInstance * >::type | Instances |
Data types. More... | |
Public Member Functions | |
CompositorChain (Viewport *vp) | |
virtual | ~CompositorChain () |
Another gcc warning here, which is no problem because RenderTargetListener is never used to delete an object. More... | |
void | _compile () |
Compile this Composition chain into a series of RenderTarget operations. More... | |
CompositorInstance * | _getOriginalSceneCompositor (void) |
Get the original scene compositor instance for this chain (internal use). More... | |
void | _markDirty () |
Mark state as dirty, and to be recompiled next frame. More... | |
void | _notifyViewport (Viewport *vp) |
Set viewport that is the target of this chain. More... | |
void | _queuedOperation (CompositorInstance::RenderSystemOperation *op) |
Internal method for registering a queued operation for deletion later. More... | |
void | _removeInstance (CompositorInstance *i) |
Remove a compositor by pointer. More... | |
CompositorInstance * | addCompositor (CompositorPtr filter, size_t addPosition=LAST, const String &scheme=BLANKSTRING) |
Apply a compositor. More... | |
CompositorInstance * | getCompositor (size_t index) |
Get compositor instance by position. More... | |
CompositorInstance * | getCompositor (const String &name) |
Get compositor instance by name. More... | |
InstanceIterator | getCompositors () |
Get an iterator over the compositor instances. More... | |
CompositorInstance * | getNextInstance (CompositorInstance *curr, bool activeOnly=true) |
Get the next instance in this chain to the one specified. More... | |
size_t | getNumCompositors () |
Get the number of compositors. More... | |
CompositorInstance * | getPreviousInstance (CompositorInstance *curr, bool activeOnly=true) |
Get the previous instance in this chain to the one specified. More... | |
Viewport * | getViewport () |
Get viewport that is the target of this chain. More... | |
virtual void | postRenderTargetUpdate (const RenderTargetEvent &evt) |
virtual void | postViewportUpdate (const RenderTargetViewportEvent &evt) |
virtual void | preRenderTargetUpdate (const RenderTargetEvent &evt) |
virtual void | preViewportUpdate (const RenderTargetViewportEvent &evt) |
void | removeAllCompositors () |
Remove all compositors. More... | |
void | removeCompositor (size_t position=LAST) |
Remove a compositor. More... | |
void | setCompositorEnabled (size_t position, bool state) |
Enable or disable a compositor, by position. More... | |
virtual void | viewportAdded (const RenderTargetViewportEvent &evt) |
Called to notify listener that a Viewport has been added to the target in question. More... | |
virtual void | viewportCameraChanged (Viewport *viewport) |
virtual void | viewportDestroyed (Viewport *viewport) |
virtual void | viewportDimensionsChanged (Viewport *viewport) |
virtual void | viewportRemoved (const RenderTargetViewportEvent &evt) |
Called to notify listener that a Viewport has been removed from the target in question. More... | |
Static Public Attributes | |
static const size_t | BEST = 0 |
Identifier for best technique. More... | |
static const size_t | LAST = (size_t)-1 |
Identifier for "last" compositor in chain. More... | |
Chain of compositor effects applying to one viewport.
typedef vector<CompositorInstance*>::type Ogre::CompositorChain::Instances |
Data types.
Ogre::CompositorChain::CompositorChain | ( | Viewport * | vp | ) |
|
virtual |
Another gcc warning here, which is no problem because RenderTargetListener is never used to delete an object.
CompositorInstance* Ogre::CompositorChain::addCompositor | ( | CompositorPtr | filter, |
size_t | addPosition = LAST , |
||
const String & | scheme = BLANKSTRING |
||
) |
Apply a compositor.
Initially, the filter is enabled.
filter | Filter to apply. |
addPosition | Position in filter chain to insert this filter at; defaults to the end (last applied filter). |
scheme | Scheme to use (blank means default). |
void Ogre::CompositorChain::removeCompositor | ( | size_t | position = LAST | ) |
Remove a compositor.
position | Position in filter chain of filter to remove; defaults to the end (last applied filter) |
size_t Ogre::CompositorChain::getNumCompositors | ( | ) |
Get the number of compositors.
void Ogre::CompositorChain::removeAllCompositors | ( | ) |
Remove all compositors.
CompositorInstance* Ogre::CompositorChain::getCompositor | ( | size_t | index | ) |
Get compositor instance by position.
CompositorInstance* Ogre::CompositorChain::getCompositor | ( | const String & | name | ) |
Get compositor instance by name.
Returns null if not found.
|
inline |
Get the original scene compositor instance for this chain (internal use).
InstanceIterator Ogre::CompositorChain::getCompositors | ( | ) |
Get an iterator over the compositor instances.
The first compositor in this list is applied first, the last one is applied last.
void Ogre::CompositorChain::setCompositorEnabled | ( | size_t | position, |
bool | state | ||
) |
Enable or disable a compositor, by position.
Disabling a compositor stops it from rendering but does not free any resources. This can be more efficient than using removeCompositor and addCompositor in cases the filter is switched on and off a lot.
position | Position in filter chain of filter |
|
virtual |
Reimplemented from Ogre::RenderTargetListener.
|
virtual |
Reimplemented from Ogre::RenderTargetListener.
|
virtual |
Reimplemented from Ogre::RenderTargetListener.
|
virtual |
Reimplemented from Ogre::RenderTargetListener.
|
virtual |
Reimplemented from Ogre::Viewport::Listener.
|
virtual |
Reimplemented from Ogre::Viewport::Listener.
|
virtual |
Reimplemented from Ogre::Viewport::Listener.
void Ogre::CompositorChain::_markDirty | ( | ) |
Mark state as dirty, and to be recompiled next frame.
Viewport* Ogre::CompositorChain::getViewport | ( | ) |
Get viewport that is the target of this chain.
void Ogre::CompositorChain::_notifyViewport | ( | Viewport * | vp | ) |
Set viewport that is the target of this chain.
void Ogre::CompositorChain::_removeInstance | ( | CompositorInstance * | i | ) |
Remove a compositor by pointer.
This is internally used by CompositionTechnique to "weak" remove any instanced of a deleted technique.
void Ogre::CompositorChain::_queuedOperation | ( | CompositorInstance::RenderSystemOperation * | op | ) |
Internal method for registering a queued operation for deletion later.
void Ogre::CompositorChain::_compile | ( | ) |
Compile this Composition chain into a series of RenderTarget operations.
CompositorInstance* Ogre::CompositorChain::getPreviousInstance | ( | CompositorInstance * | curr, |
bool | activeOnly = true |
||
) |
Get the previous instance in this chain to the one specified.
CompositorInstance* Ogre::CompositorChain::getNextInstance | ( | CompositorInstance * | curr, |
bool | activeOnly = true |
||
) |
Get the next instance in this chain to the one specified.
|
inlinevirtualinherited |
Called to notify listener that a Viewport has been added to the target in question.
|
inlinevirtualinherited |
Called to notify listener that a Viewport has been removed from the target in question.
|
static |
Identifier for "last" compositor in chain.
|
static |
Identifier for best technique.