OGRE 14.3
Object-Oriented Graphics Rendering Engine
|
An instance of a Compositor object for one Viewport. More...
#include <OgreCompositorInstance.h>
Classes | |
class | Listener |
Provides an interface to "listen in" to to render system operations executed by this CompositorInstance. More... | |
class | RenderSystemOperation |
Specific render system operation. More... | |
class | TargetOperation |
Operation setup for a RenderTarget (collected). More... | |
Public Types | |
typedef std::vector< TargetOperation > | CompiledState |
typedef std::pair< int, RenderSystemOperation * > | RenderSystemOpPair |
typedef std::vector< RenderSystemOpPair > | RenderSystemOpPairs |
Public Member Functions | |
CompositorInstance (CompositionTechnique *technique, CompositorChain *chain) | |
virtual | ~CompositorInstance () |
virtual void | _compileOutputOperation (TargetOperation &finalState) |
Compile the final (output) operation. | |
virtual void | _compileTargetOperations (CompiledState &compiledState) |
Recursively collect target states (except for final Pass). | |
void | _fireNotifyMaterialRender (uint32 pass_id, MaterialPtr &mat) |
Notify listeners of a material render. | |
void | _fireNotifyMaterialSetup (uint32 pass_id, MaterialPtr &mat) |
Notify listeners of a material compilation. | |
void | _fireNotifyResourcesCreated (bool forResizeOnly) |
Notify listeners of a material render. | |
void | _fireNotifyResourcesReleased (bool forResizeOnly) |
Notify listeners resources. | |
void | addListener (Listener *l) |
Add a listener. | |
bool | getAlive () const |
Get alive flag. | |
CompositorChain * | getChain () |
Get Chain that this instance is part of. | |
Compositor * | getCompositor () const |
Get Compositor of which this is an instance. | |
bool | getEnabled () const |
Get enabled flag. | |
RenderTarget * | getRenderTarget (const String &name, int slice=0) |
Get the render target for a given render texture name. | |
const String & | getScheme () const |
Returns the name of the scheme this compositor is using. | |
CompositionTechnique * | getTechnique () const |
Get CompositionTechnique used by this instance. | |
const TexturePtr & | getTextureInstance (const String &name, size_t mrtIndex) |
Get the instance of a local texture. | |
const String & | getTextureInstanceName (const String &name, size_t mrtIndex) |
Get the instance name for a local texture. | |
void | notifyResized () |
Notify this instance that the primary surface has been resized. | |
void | removeListener (Listener *l) |
Remove a listener. | |
void | setAlive (bool value) |
Set alive/active flag. | |
void | setEnabled (bool value) |
Set enabled flag. | |
void | setScheme (const String &schemeName, bool reuseTextures=true) |
Pick a technique to use to render this compositor based on a scheme. | |
void | setTechnique (CompositionTechnique *tech, bool reuseTextures=true) |
Change the technique we're using to render this compositor. | |
An instance of a Compositor object for one Viewport.
It is part of the CompositorChain for a Viewport.
Ogre::CompositorInstance::CompositorInstance | ( | CompositionTechnique * | technique, |
CompositorChain * | chain | ||
) |
|
virtual |
Set enabled flag.
The compositor instance will only render if it is enabled, otherwise it is pass-through. Resources are only created if they weren't alive when enabling.
|
inline |
Get enabled flag.
Set alive/active flag.
The compositor instance will create resources when alive, and destroy them when inactive.
Killing an instance means also disabling it: setAlive(false) implies setEnabled(false)
|
inline |
Get alive flag.
const String & Ogre::CompositorInstance::getTextureInstanceName | ( | const String & | name, |
size_t | mrtIndex | ||
) |
Get the instance name for a local texture.
name | The name of the texture in the original compositor definition. |
mrtIndex | If name identifies a MRT, which texture attachment to retrieve. |
const TexturePtr & Ogre::CompositorInstance::getTextureInstance | ( | const String & | name, |
size_t | mrtIndex | ||
) |
Get the instance of a local texture.
name | The name of the texture in the original compositor definition. |
mrtIndex | If name identifies a MRT, which texture attachment to retrieve. |
RenderTarget * Ogre::CompositorInstance::getRenderTarget | ( | const String & | name, |
int | slice = 0 |
||
) |
Get the render target for a given render texture name.
You can use this to add listeners etc, but do not use it to update the targets manually or any other modifications, the compositor instance is in charge of this.
|
virtual |
Recursively collect target states (except for final Pass).
compiledState | This vector will contain a list of TargetOperation objects. |
|
virtual |
Compile the final (output) operation.
This is done separately because this is combined with the input in chained filters.
|
inline |
Get Compositor of which this is an instance.
|
inline |
Get CompositionTechnique used by this instance.
void Ogre::CompositorInstance::setTechnique | ( | CompositionTechnique * | tech, |
bool | reuseTextures = true |
||
) |
Change the technique we're using to render this compositor.
tech | The technique to use (must be supported and from the same Compositor) |
reuseTextures | If textures have already been created for the current technique, whether to try to re-use them if sizes & formats match. |
Pick a technique to use to render this compositor based on a scheme.
If there is no specific supported technique with this scheme name, then the first supported technique with no specific scheme will be used.
schemeName | The scheme to use |
reuseTextures | If textures have already been created for the current technique, whether to try to re-use them if sizes & formats match. Note that for this feature to be of benefit, the textures must have been created with the 'pooled' option enabled. |
Returns the name of the scheme this compositor is using.
References Ogre::BLANKSTRING.
void Ogre::CompositorInstance::notifyResized | ( | ) |
Notify this instance that the primary surface has been resized.
This will allow the instance to recreate its resources that are dependent on the size.
CompositorChain * Ogre::CompositorInstance::getChain | ( | ) |
Get Chain that this instance is part of.
Add a listener.
Listeners provide an interface to "listen in" to to render system operations executed by this CompositorInstance so that materials can be programmatically set up.
Remove a listener.
void Ogre::CompositorInstance::_fireNotifyMaterialSetup | ( | uint32 | pass_id, |
MaterialPtr & | mat | ||
) |
Notify listeners of a material compilation.
void Ogre::CompositorInstance::_fireNotifyMaterialRender | ( | uint32 | pass_id, |
MaterialPtr & | mat | ||
) |
Notify listeners of a material render.
Notify listeners of a material render.
Notify listeners resources.