#include <OgreCompositorChain.h>
Public Types | |
typedef std::vector < CompositorInstance * > | Instances |
Data types. | |
typedef VectorIterator< Instances > | InstanceIterator |
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. | |
CompositorInstance * | addCompositor (CompositorPtr filter, size_t addPosition=LAST, size_t technique=BEST) |
Apply a compositor. | |
void | removeCompositor (size_t position=LAST) |
Remove a compositor. | |
size_t | getNumCompositors () |
Get the number of compositors. | |
void | removeAllCompositors () |
Remove all compositors. | |
CompositorInstance * | getCompositor (size_t index) |
Get compositor instance by position. | |
CompositorInstance * | _getOriginalSceneCompositor (void) |
Get the original scene compositor instance for this chain (internal use). | |
InstanceIterator | getCompositors () |
Get an iterator over the compositor instances. | |
void | setCompositorEnabled (size_t position, bool state) |
Enable or disable a compositor, by position. | |
virtual void | preRenderTargetUpdate (const RenderTargetEvent &evt) |
virtual void | preViewportUpdate (const RenderTargetViewportEvent &evt) |
virtual void | postViewportUpdate (const RenderTargetViewportEvent &evt) |
virtual void | viewportRemoved (const RenderTargetViewportEvent &evt) |
void | _markDirty () |
Mark state as dirty, and to be recompiled next frame. | |
Viewport * | getViewport () |
Get viewport that is the target of this chain. | |
void | _notifyViewport (Viewport *vp) |
Internal method for reconnecting with viewport. | |
void | _removeInstance (CompositorInstance *i) |
Remove a compositor by pointer. | |
void | _queuedOperation (CompositorInstance::RenderSystemOperation *op) |
Internal method for registering a queued operation for deletion later. | |
void | _compile () |
Compile this Composition chain into a series of RenderTarget operations. | |
virtual void | postRenderTargetUpdate (const RenderTargetEvent &evt) |
Called just after a RenderTarget has been rendered to. | |
virtual void | viewportAdded (const RenderTargetViewportEvent &evt) |
Called to notify listener that a Viewport has been added to the target in question. | |
void * | operator new (size_t sz, const char *file, int line, const char *func) |
operator new, with debug line info | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *ptr) |
placement operator new | |
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
array operator new, with debug line info | |
void * | operator new[] (size_t sz) |
void | operator delete (void *ptr) |
void | operator delete (void *ptr, void *) |
void | operator delete (void *ptr, const char *, int, const char *) |
void | operator delete[] (void *ptr) |
void | operator delete[] (void *ptr, const char *, int, const char *) |
Static Public Attributes | |
static const size_t | LAST = (size_t)-1 |
Identifier for "last" compositor in chain. | |
static const size_t | BEST = 0 |
Identifier for best technique. | |
Protected Types | |
typedef std::vector < CompositorInstance::RenderSystemOperation * > | RenderSystemOperations |
Render System operations queued by last compile, these are created by this instance thus managed and deleted by it. | |
Protected Member Functions | |
void | clearCompiledState () |
Clear compiled state. | |
void | preTargetOperation (CompositorInstance::TargetOperation &op, Viewport *vp, Camera *cam) |
Prepare a viewport, the camera and the scene for a rendering operation. | |
void | postTargetOperation (CompositorInstance::TargetOperation &op, Viewport *vp, Camera *cam) |
Restore a viewport, the camera and the scene after a rendering operation. | |
void | destroyResources (void) |
destroy internal resources | |
Protected Attributes | |
Viewport * | mViewport |
Viewport affected by this CompositorChain. | |
CompositorInstance * | mOriginalScene |
Plainly renders the scene; implicit first compositor in the chain. | |
Instances | mInstances |
Postfilter instances in this chain. | |
bool | mDirty |
State needs recompile. | |
bool | mAnyCompositorsEnabled |
Any compositors enabled? | |
CompositorInstance::CompiledState | mCompiledState |
Compiled state (updated with _compile). | |
CompositorInstance::TargetOperation | mOutputOperation |
RenderSystemOperations | mRenderSystemOperations |
RQListener | mOurListener |
unsigned int | mOldClearEveryFrameBuffers |
Old viewport settings. | |
uint32 | mOldVisibilityMask |
Store old scene visibility mask. | |
bool | mOldFindVisibleObjects |
Store old find visible objects. | |
float | mOldLodBias |
Store old camera LOD bias. | |
String | mOldMaterialScheme |
Store old viewport material scheme. | |
bool | mOldShadowsEnabled |
Store old shadows enabled flag. | |
Classes | |
class | RQListener |
Render queue listener used to set up rendering events. More... |
Definition at line 41 of file OgreCompositorChain.h.
typedef std::vector<CompositorInstance*> Ogre::CompositorChain::Instances |
Definition at line 53 of file OgreCompositorChain.h.
typedef std::vector<CompositorInstance::RenderSystemOperation*> Ogre::CompositorChain::RenderSystemOperations [protected] |
Render System operations queued by last compile, these are created by this instance thus managed and deleted by it.
The list is cleared with clearCompilationState()
Definition at line 153 of file OgreCompositorChain.h.
Ogre::CompositorChain::CompositorChain | ( | Viewport * | vp | ) |
virtual Ogre::CompositorChain::~CompositorChain | ( | ) | [virtual] |
Another gcc warning here, which is no problem because RenderTargetListener is never used to delete an object.
warning: `class Ogre::CompositorChain' has virtual functions but non-virtual destructor
CompositorInstance* Ogre::CompositorChain::addCompositor | ( | CompositorPtr | filter, | |
size_t | addPosition = LAST , |
|||
size_t | technique = BEST | |||
) |
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) | |
technique | Technique to use; CompositorChain::BEST (default) chooses to the best one available (first technique supported) |
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::_getOriginalSceneCompositor | ( | void | ) |
Get the original scene compositor instance for this chain (internal use).
Definition at line 87 of file OgreCompositorChain.h.
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 void Ogre::CompositorChain::preRenderTargetUpdate | ( | const RenderTargetEvent & | evt | ) | [virtual] |
virtual void Ogre::CompositorChain::preViewportUpdate | ( | const RenderTargetViewportEvent & | evt | ) | [virtual] |
virtual void Ogre::CompositorChain::postViewportUpdate | ( | const RenderTargetViewportEvent & | evt | ) | [virtual] |
virtual void Ogre::CompositorChain::viewportRemoved | ( | const RenderTargetViewportEvent & | evt | ) | [virtual] |
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 | ) |
Internal method for reconnecting with viewport.
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.
void Ogre::CompositorChain::clearCompiledState | ( | ) | [protected] |
Clear compiled state.
void Ogre::CompositorChain::preTargetOperation | ( | CompositorInstance::TargetOperation & | op, | |
Viewport * | vp, | |||
Camera * | cam | |||
) | [protected] |
Prepare a viewport, the camera and the scene for a rendering operation.
void Ogre::CompositorChain::postTargetOperation | ( | CompositorInstance::TargetOperation & | op, | |
Viewport * | vp, | |||
Camera * | cam | |||
) | [protected] |
Restore a viewport, the camera and the scene after a rendering operation.
void Ogre::CompositorChain::destroyResources | ( | void | ) | [protected] |
destroy internal resources
virtual void Ogre::RenderTargetListener::postRenderTargetUpdate | ( | const RenderTargetEvent & | evt | ) | [virtual, inherited] |
Called just after a RenderTarget has been rendered to.
Definition at line 104 of file OgreRenderTargetListener.h.
virtual void Ogre::RenderTargetListener::viewportAdded | ( | const RenderTargetViewportEvent & | evt | ) | [virtual, inherited] |
Called to notify listener that a Viewport has been added to the target in question.
Definition at line 124 of file OgreRenderTargetListener.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
const char * | file, | |||
int | line, | |||
const char * | func | |||
) | [inherited] |
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | [inherited] |
Definition at line 67 of file OgreMemoryAllocatedObject.h.
void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz, | |
void * | ptr | |||
) | [inherited] |
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz, | |
const char * | file, | |||
int | line, | |||
const char * | func | |||
) | [inherited] |
void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | [inherited] |
Definition at line 84 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | [inherited] |
Definition at line 89 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
void * | ||||
) | [inherited] |
Definition at line 95 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr, | |
const char * | , | |||
int | , | |||
const char * | ||||
) | [inherited] |
Definition at line 101 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | [inherited] |
Definition at line 106 of file OgreMemoryAllocatedObject.h.
void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr, | |
const char * | , | |||
int | , | |||
const char * | ||||
) | [inherited] |
Definition at line 112 of file OgreMemoryAllocatedObject.h.
const size_t Ogre::CompositorChain::LAST = (size_t)-1 [static] |
const size_t Ogre::CompositorChain::BEST = 0 [static] |
Viewport* Ogre::CompositorChain::mViewport [protected] |
CompositorInstance* Ogre::CompositorChain::mOriginalScene [protected] |
Plainly renders the scene; implicit first compositor in the chain.
Definition at line 137 of file OgreCompositorChain.h.
Instances Ogre::CompositorChain::mInstances [protected] |
bool Ogre::CompositorChain::mDirty [protected] |
bool Ogre::CompositorChain::mAnyCompositorsEnabled [protected] |
Definition at line 149 of file OgreCompositorChain.h.
Definition at line 154 of file OgreCompositorChain.h.
RQListener Ogre::CompositorChain::mOurListener [protected] |
Definition at line 197 of file OgreCompositorChain.h.
unsigned int Ogre::CompositorChain::mOldClearEveryFrameBuffers [protected] |
uint32 Ogre::CompositorChain::mOldVisibilityMask [protected] |
bool Ogre::CompositorChain::mOldFindVisibleObjects [protected] |
float Ogre::CompositorChain::mOldLodBias [protected] |
String Ogre::CompositorChain::mOldMaterialScheme [protected] |
bool Ogre::CompositorChain::mOldShadowsEnabled [protected] |
Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Sep 27 22:03:05 2009