28 #ifndef __CompositorChain_H__
29 #define __CompositorChain_H__
61 static const size_t LAST = (size_t)-1;
63 static const size_t BEST = 0;
75 void removeCompositor(
size_t position=LAST);
79 size_t getNumCompositors();
83 void removeAllCompositors();
99 InstanceIterator getCompositors();
106 void setCompositorEnabled(
size_t position,
bool state);
176 void clearCompiledState();
187 void destroyResources(
void);
195 virtual void renderQueueStarted(
uint8 id,
const String& invocation,
bool& skipThisQueue);
198 virtual void renderQueueEnded(
uint8 id,
const String& invocation,
bool& repeatThisQueue);
207 void flushUpTo(
uint8 id);
213 CompositorInstance::RenderSystemOpPairs::iterator currentOp,
lastOp;
Chain of compositor effects applying to one viewport.
A viewpoint from which the scene will be rendered.
void notifyViewport(Viewport *vp)
Notify current destination viewport.
CompositorInstance::RenderSystemOpPairs::iterator lastOp
Struct containing information about a RenderTarget Viewport-specific event.
unsigned int mOldClearEveryFrameBuffers
Old viewport settings.
CompositorInstance::CompiledState mCompiledState
Compiled state (updated with _compile)
Specialisation of SharedPtr to allow SharedPtr to be assigned to CompositorPtr.
Manages the organisation and rendering of a 'scene' i.e.
VectorIterator< Instances > InstanceIterator
bool mDirty
State needs recompile.
SceneManager * mSceneManager
String mOldMaterialScheme
Store old viewport material scheme.
bool mOldShadowsEnabled
Store old shadows enabled flag.
Render queue listener used to set up rendering events.
RenderSystem * mRenderSystem
Instances mInstances
Postfilter instances in this chain.
bool mAnyCompositorsEnabled
Any compositors enabled?
CompositorInstance * mOriginalScene
Plainly renders the scene; implicit first compositor in the chain.
Specific render system operation.
Struct containing information about a RenderTarget event.
uint32 mOldVisibilityMask
Store old scene visibility mask.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
Abstract interface which classes must implement if they wish to receive events from the render queue...
A interface class defining a listener which can be used to receive notifications of RenderTarget even...
vector< TargetOperation >::type CompiledState
bool mOldFindVisibleObjects
Store old find visible objects.
static const String BLANK
Constant blank string, useful for returning by ref where local does not exist.
An abstraction of a viewport, i.e.
An instance of a Compositor object for one Viewport.
float mOldLodBias
Store old camera LOD bias.
RenderSystemOperations mRenderSystemOperations
Operation setup for a RenderTarget (collected).
vector< CompositorInstance::RenderSystemOperation * >::type RenderSystemOperations
Render System operations queued by last compile, these are created by this instance thus managed and ...
Viewport * mViewport
Viewport affected by this CompositorChain.
Concrete IteratorWrapper for nonconst access to the underlying container.
Defines the functionality of a 3D API.
CompositorInstance::TargetOperation mOutputOperation
vector< CompositorInstance * >::type Instances
Data types.
CompositorInstance::TargetOperation * mOperation
CompositorInstance * _getOriginalSceneCompositor(void)
Get the original scene compositor instance for this chain (internal use).