28 #ifndef __CompositorInstance_H__
29 #define __CompositorInstance_H__
92 virtual void notifyResourcesCreated(
bool forResizeOnly);
118 target(inTarget), currentQueueGroupID(0), visibilityMask(0xFFFFFFFF),
120 onlyInitial(false), hasBeenRendered(false), findVisibleObjects(false),
121 materialScheme(
MaterialManager::DEFAULT_SCHEME_NAME), shadowsEnabled(true)
170 void setEnabled(
bool value);
182 void setAlive(
bool value);
201 const String& getTextureInstanceName(
const String& name,
size_t mrtIndex);
231 virtual void _compileTargetOperations(CompiledState &compiledState);
236 virtual void _compileOutputOperation(TargetOperation &finalState);
268 void setScheme(
const String& schemeName,
bool reuseTextures =
true);
278 void notifyResized();
289 void addListener(Listener *l);
294 void removeListener(Listener *l);
306 void _fireNotifyResourcesCreated(
bool forResizeOnly);
351 void createResources(
bool forResizeOnly);
355 void freeResources(
bool forResizeOnly,
bool clearReserveTextures);
367 const String &getSourceForTex(
const String &name,
size_t mrtIndex = 0);
374 String getMRTTexLocalName(
const String& baseName,
size_t attachment);
379 void deriveTextureRenderTargetOptions(
const String& texname,
380 bool *hwGammaWrite,
uint *fsaa,
String* fsaaHint);
383 void notifyCameraChanged(
Camera* camera);
394 #endif // __CompositorInstance_H__
Chain of compositor effects applying to one viewport.
A 'canvas' which can receive the results of a rendering operation.
A viewpoint from which the scene will be rendered.
CompositionTechnique * mTechnique
Composition technique used by this instance.
TargetOperation(RenderTarget *inTarget)
ReserveTextureMap mReserveTextures
Textures that are not currently in use, but that we want to keep for now, for example if we switch te...
map< String, MultiRenderTarget * >::type LocalMRTMap
Store a list of MRTs we've created.
LocalTextureMap mLocalTextures
bool shadowsEnabled
Whether shadows will be enabled.
vector< RenderSystemOpPair >::type RenderSystemOpPairs
Manages the organisation and rendering of a 'scene' i.e.
std::bitset< RENDER_QUEUE_COUNT > RenderQueueBitSet
A set of render queues to either include or exclude certain render queues.
bool hasBeenRendered
"Has been rendered" flag; used in combination with onlyInitial to determine whether to skip this targ...
String materialScheme
Which material scheme this op will use.
map< String, TexturePtr >::type LocalTextureMap
Map from name->local texture.
CompositorInstance * mPreviousInstance
Previous instance (set by chain).
Class representing a Compositor object.
bool mEnabled
Is this instance enabled?
map< int, MaterialPtr >::type QuadMaterialMap
RenderQueueBitSet renderQueues
Which renderqueues to render from scene.
CompositorChain * mChain
Composition chain of which this instance is part.
Class for managing Material settings for Ogre.
RenderTarget * target
Target.
Provides an interface to "listen in" to to render system operations executed by this CompositorInstan...
Compositor * mCompositor
Compositor of which this is an instance.
const String & getScheme() const
Returns the name of the scheme this compositor is using.
Specific render system operation.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
bool getEnabled() const
Get enabled flag.
bool findVisibleObjects
Whether this op needs to find visible scene objects or not.
vector< TargetOperation >::type CompiledState
const size_t RENDER_QUEUE_COUNT
RenderSystemOpPairs renderSystemOperations
RenderSystem operations to queue into the scene manager, by uint8.
Base composition technique, can be subclassed in plugins.
std::map< K, V, P, A > type
static const String BLANK
Constant blank string, useful for returning by ref where local does not exist.
bool mAlive
Is this instance allocating resources?
An instance of a Compositor object for one Viewport.
uint32 visibilityMask
Scene visibility mask If this is 0, the scene is not rendered at all.
Operation setup for a RenderTarget (collected).
vector< Listener * >::type Listeners
Vector of listeners.
Final possible render queue, don't exceed this.
int currentQueueGroupID
Current group ID.
bool getAlive() const
Get alive flag.
Defines the functionality of a 3D API.
std::pair< int, RenderSystemOperation * > RenderSystemOpPair
Object representing one render to a RenderTarget or Viewport in the Ogre Composition framework...
map< CompositionTechnique::TextureDefinition *, TexturePtr >::type ReserveTextureMap