28 #ifndef __CompositorInstance_H__
29 #define __CompositorInstance_H__
86 virtual void notifyResourcesCreated(
bool forResizeOnly);
112 target(inTarget), currentQueueGroupID(0), visibilityMask(0xFFFFFFFF),
114 onlyInitial(false), hasBeenRendered(false), findVisibleObjects(false),
115 materialScheme(
MaterialManager::DEFAULT_SCHEME_NAME), shadowsEnabled(true)
163 void setEnabled(
bool value);
179 const String& getTextureInstanceName(
const String& name,
size_t mrtIndex);
205 virtual void _compileTargetOperations(
CompiledState &compiledState);
238 void setScheme(
const String& schemeName,
bool reuseTextures =
true);
248 void notifyResized();
260 void addListener(Listener *l);
265 void removeListener(Listener *l);
277 void _fireNotifyResourcesCreated(
bool forResizeOnly);
323 void createResources(
bool forResizeOnly);
327 void freeResources(
bool forResizeOnly,
bool clearReserveTextures);
337 const String &getSourceForTex(
const String &name,
size_t mrtIndex = 0);
345 String getMRTTexLocalName(
const String& baseName,
size_t attachment);
350 void deriveTextureRenderTargetOptions(
const String& texname,
351 bool *hwGammaWrite,
uint *fsaa,
String* fsaaHint);
Chain of compositor effects applying to one viewport.
A 'canvas' which can receive the results of a rendering operation.
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...
Specialisation of SharedPtr to allow SharedPtr to be assigned to TexturePtr.
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
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.
String mActiveScheme
The scheme which is being used in this instance.
Specialisation of SharedPtr to allow SharedPtr to be assigned to MaterialPtr.
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