28 #ifndef __CompositorChain_H__
29 #define __CompositorChain_H__
62 static const size_t LAST = (size_t)-1;
64 static const size_t BEST = 0;
80 void removeCompositor(
size_t position=LAST);
84 size_t getNumCompositors();
88 void removeAllCompositors();
104 InstanceIterator getCompositors();
112 void setCompositorEnabled(
size_t position,
bool state);
124 virtual void viewportCameraChanged(
Viewport* viewport);
126 virtual void viewportDimensionsChanged(
Viewport* viewport);
128 virtual void viewportDestroyed(
Viewport* viewport);
185 void clearCompiledState();
195 void createOriginalScene();
196 void destroyOriginalScene();
199 void destroyResources(
void);
205 RQListener() : mOperation(0), mSceneManager(0), mRenderSystem(0), mViewport(0) {}
209 virtual void renderQueueStarted(
uint8 queueGroupId,
const String& invocation,
bool& skipThisInvocation);
212 virtual void renderQueueEnded(
uint8 queueGroupId,
const String& invocation,
bool& repeatThisInvocation);
221 void flushUpTo(
uint8 id);
227 CompositorInstance::RenderSystemOpPairs::iterator currentOp,
lastOp;
250 #endif // __CompositorChain_H__
Concrete IteratorWrapper for nonconst access to the underlying container.
String mOriginalSceneScheme
String mOldMaterialScheme
Store old viewport material scheme.
Listener interface so you can be notified of Viewport changes.
An instance of a Compositor object for one Viewport.
Reference-counted shared pointer, used for objects where implicit destruction is required.
bool mOldFindVisibleObjects
Store old find visible objects.
Operation setup for a RenderTarget (collected).
An abstraction of a viewport, i.e.
CompositorInstance::TargetOperation * mOperation
CompositorInstance::TargetOperation mOutputOperation
unsigned int mOldClearEveryFrameBuffers
Old viewport settings.
Defines the functionality of a 3D API.
Instances mInstances
Postfilter instances in this chain.
RenderSystem * mRenderSystem
vector< TargetOperation >::type CompiledState
VectorIterator< Instances > InstanceIterator
Struct containing information about a RenderTarget Viewport-specific event.
bool mAnyCompositorsEnabled
Any compositors enabled?
RenderSystemOperations mRenderSystemOperations
A viewpoint from which the scene will be rendered.
Chain of compositor effects applying to one viewport.
CompositorInstance * mOriginalScene
Plainly renders the scene; implicit first compositor in the chain.
Specific render system operation.
Abstract interface which classes must implement if they wish to receive events from the render queue...
vector< CompositorInstance::RenderSystemOperation * >::type RenderSystemOperations
Render System operations queued by last compile, these are created by this instance thus managed and ...
CompositorInstance::RenderSystemOpPairs::iterator lastOp
Struct containing information about a RenderTarget event.
A interface class defining a listener which can be used to receive notifications of RenderTarget even...
SceneManager * mSceneManager
void notifyViewport(Viewport *vp)
Notify current destination viewport.
CompositorInstance::CompiledState mCompiledState
Compiled state (updated with _compile)
uint32 mOldVisibilityMask
Store old scene visibility mask.
bool mDirty
State needs recompile.
Viewport * mViewport
Viewport affected by this CompositorChain.
CompositorInstance * _getOriginalSceneCompositor(void)
Get the original scene compositor instance for this chain (internal use).
float mOldLodBias
Store old camera LOD bias.
Manages the organisation and rendering of a 'scene' i.e.
bool mOldShadowsEnabled
Store old shadows enabled flag.
Render queue listener used to set up rendering events.
static const String BLANK
Constant blank string, useful for returning by ref where local does not exist.
vector< CompositorInstance * >::type Instances
Data types.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...