OGRE  13.6
Object-Oriented Graphics Rendering Engine
Ogre::Compositor Class Reference

Class representing a Compositor object. More...

#include <OgreCompositor.h>

+ Inheritance diagram for Ogre::Compositor:

Public Types

typedef VectorIterator< TechniquesTechniqueIterator
 
typedef std::vector< CompositionTechnique * > Techniques
 Data types for internal lists. More...
 
- Public Types inherited from Ogre::Resource
enum  LoadingFlags {
  LF_DEFAULT = 0 , LF_INCLUDE_NON_RELOADABLE = 1 , LF_ONLY_UNREFERENCED = 2 , LF_ONLY_UNREFERENCED_INCLUDE_NON_RELOADABLE = 3 ,
  LF_PRESERVE_STATE = 4
}
 Enum that allow to choose subset of unloaded/reloaded resources and to adjust reloading behavior. More...
 
enum  LoadingState {
  LOADSTATE_UNLOADED , LOADSTATE_LOADING , LOADSTATE_LOADED , LOADSTATE_UNLOADING ,
  LOADSTATE_PREPARED , LOADSTATE_PREPARING
}
 Enum identifying the loading state of the resource. More...
 

Public Member Functions

 Compositor (ResourceManager *creator, const String &name, ResourceHandle handle, const String &group, bool isManual=false, ManualResourceLoader *loader=0)
 
 ~Compositor ()
 
CompositionTechniquecreateTechnique ()
 Create a new technique, and return a pointer to it. More...
 
size_t getNumSupportedTechniques () const
 Get the number of supported techniques. More...
 
size_t getNumTechniques () const
 Get the number of techniques. More...
 
RenderTargetgetRenderTarget (const String &name, int slice=0)
 Get the render target for a given render texture name. More...
 
CompositionTechniquegetSupportedTechnique (const String &schemeName=BLANKSTRING)
 Get a pointer to a supported technique for a given scheme. More...
 
CompositionTechniquegetSupportedTechnique (size_t idx) const
 Get a supported technique. More...
 
TechniqueIterator getSupportedTechniqueIterator (void)
 Gets an iterator over all the Techniques which are supported by the current card. More...
 
CompositionTechniquegetTechnique (size_t idx) const
 Get a technique. More...
 
TechniqueIterator getTechniqueIterator (void)
 Get an iterator over the Techniques in this compositor. More...
 
const TexturePtrgetTextureInstance (const String &name, size_t mrtIndex)
 Get the instance of a global texture. More...
 
const StringgetTextureInstanceName (const String &name, size_t mrtIndex)
 Get the instance name for a global texture. More...
 
void removeAllTechniques ()
 Remove all techniques. More...
 
void removeTechnique (size_t idx)
 Remove a technique. More...
 
- Public Member Functions inherited from Ogre::Resource
 Resource (ResourceManager *creator, const String &name, ResourceHandle handle, const String &group, bool isManual=false, ManualResourceLoader *loader=0)
 Standard constructor. More...
 
virtual ~Resource ()
 Virtual destructor. More...
 
virtual void _dirtyState ()
 Manually mark the state of this resource as having been changed. More...
 
void _fireLoadingComplete (bool unused=false)
 Firing of loading complete event. More...
 
void _firePreparingComplete (bool unused=false)
 Firing of preparing complete event. More...
 
void _fireUnloadingComplete (void)
 Firing of unloading complete event. More...
 
void _notifyOrigin (const String &origin)
 Notify this resource of it's origin. More...
 
virtual void addListener (Listener *lis)
 Register a listener on this resource. More...
 
virtual void changeGroupOwnership (const String &newGroup)
 Change the resource group ownership of a Resource. More...
 
virtual void escalateLoading ()
 Escalates the loading of a background loaded resource. More...
 
ResourceManagergetCreator (void)
 Gets the manager which created this resource. More...
 
const StringgetGroup (void) const
 Gets the group which this resource is a member of. More...
 
ResourceHandle getHandle (void) const
 
LoadingState getLoadingState () const
 Returns the current loading state. More...
 
const StringgetName (void) const
 Gets resource name. More...
 
const StringgetOrigin (void) const
 Get the origin of this resource, e.g. More...
 
size_t getSize (void) const
 Retrieves info about the size of the resource. More...
 
virtual size_t getStateCount () const
 Returns the number of times this resource has changed state, which generally means the number of times it has been loaded. More...
 
bool isBackgroundLoaded (void) const
 Returns whether this Resource has been earmarked for background loading. More...
 
bool isLoaded (void) const
 Returns true if the Resource has been loaded, false otherwise. More...
 
bool isLoading () const
 Returns whether the resource is currently in the process of background loading. More...
 
bool isManuallyLoaded (void) const
 Is this resource manually loaded? More...
 
bool isPrepared (void) const
 Returns true if the Resource has been prepared, false otherwise. More...
 
bool isReloadable (void) const
 Returns true if the Resource is reloadable, false otherwise. More...
 
virtual void load (bool backgroundThread=false)
 Loads the resource, if it is not already. More...
 
virtual void prepare (bool backgroundThread=false)
 Prepares the resource for load, if it is not already. More...
 
virtual void reload (LoadingFlags flags=LF_DEFAULT)
 Reloads the resource, if it is already loaded. More...
 
virtual void removeListener (Listener *lis)
 Remove a listener on this resource. More...
 
void setBackgroundLoaded (bool bl)
 Tells the resource whether it is background loaded or not. More...
 
virtual void touch (void)
 'Touches' the resource to indicate it has been used. More...
 
virtual void unload (void)
 Unloads the resource; this is not permanent, the resource can be reloaded later if required. More...
 
- Public Member Functions inherited from Ogre::StringInterface
 StringInterface ()
 
virtual ~StringInterface ()
 Virtual destructor, see Effective C++. More...
 
void copyParametersTo (StringInterface *dest) const
 Method for copying this object's parameters to another object. More...
 
ParamDictionarygetParamDictionary (void)
 Retrieves the parameter dictionary for this class. More...
 
const ParamDictionarygetParamDictionary (void) const
 
String getParameter (const String &name) const
 Generic parameter retrieval method. More...
 
const ParameterListgetParameters (void) const
 Retrieves a list of parameters valid for this object. More...
 
bool setParameter (const String &name, const String &value)
 Generic parameter setting method. More...
 
void setParameterList (const NameValuePairList &paramList)
 Generic multiple parameter setting method. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Ogre::StringInterface
static void cleanupDictionary ()
 Cleans up the static 'msDictionary' required to reset Ogre, otherwise the containers are left with invalid pointers, which will lead to a crash as soon as one of the ResourceManager implementers (e.g. More...
 

Detailed Description

Class representing a Compositor object.

Compositors provide the means to flexibly "composite" the final rendering result from multiple scene renders and intermediate operations like rendering fullscreen quads. This makes it possible to apply postfilter effects, HDRI postprocessing, and shadow effects to a Viewport.

Member Typedef Documentation

◆ Techniques

Data types for internal lists.

◆ TechniqueIterator

Constructor & Destructor Documentation

◆ Compositor()

Ogre::Compositor::Compositor ( ResourceManager creator,
const String name,
ResourceHandle  handle,
const String group,
bool  isManual = false,
ManualResourceLoader loader = 0 
)

◆ ~Compositor()

Ogre::Compositor::~Compositor ( )

Member Function Documentation

◆ createTechnique()

CompositionTechnique* Ogre::Compositor::createTechnique ( )

Create a new technique, and return a pointer to it.

◆ removeTechnique()

void Ogre::Compositor::removeTechnique ( size_t  idx)

Remove a technique.

It will also be destroyed.

◆ getTechnique()

CompositionTechnique* Ogre::Compositor::getTechnique ( size_t  idx) const
inline

Get a technique.

◆ getNumTechniques()

size_t Ogre::Compositor::getNumTechniques ( ) const
inline

Get the number of techniques.

◆ removeAllTechniques()

void Ogre::Compositor::removeAllTechniques ( )

Remove all techniques.

◆ getTechniqueIterator()

TechniqueIterator Ogre::Compositor::getTechniqueIterator ( void  )

Get an iterator over the Techniques in this compositor.

◆ getSupportedTechnique() [1/2]

CompositionTechnique* Ogre::Compositor::getSupportedTechnique ( size_t  idx) const
inline

Get a supported technique.

Remarks
The supported technique list is only available after this compositor has been compiled, which typically happens on loading it. Therefore, if this method returns an empty list, try calling Compositor::load.

◆ getNumSupportedTechniques()

size_t Ogre::Compositor::getNumSupportedTechniques ( ) const
inline

Get the number of supported techniques.

Remarks
The supported technique list is only available after this compositor has been compiled, which typically happens on loading it. Therefore, if this method returns an empty list, try calling Compositor::load.

◆ getSupportedTechniqueIterator()

TechniqueIterator Ogre::Compositor::getSupportedTechniqueIterator ( void  )

Gets an iterator over all the Techniques which are supported by the current card.

Remarks
The supported technique list is only available after this compositor has been compiled, which typically happens on loading it. Therefore, if this method returns an empty list, try calling Compositor::load.

◆ getSupportedTechnique() [2/2]

CompositionTechnique* Ogre::Compositor::getSupportedTechnique ( const String schemeName = BLANKSTRING)

Get a pointer to a supported technique for a given scheme.

Remarks
If there is no specific supported technique with this scheme name, then the first supported technique with no specific scheme will be returned.
Parameters
schemeNameThe scheme name you are looking for. Blank means to look for techniques with no scheme associated

◆ getTextureInstanceName()

const String& Ogre::Compositor::getTextureInstanceName ( const String name,
size_t  mrtIndex 
)

Get the instance name for a global texture.

Parameters
nameThe name of the texture in the original compositor definition
mrtIndexIf name identifies a MRT, which texture attachment to retrieve
Returns
The instance name for the texture, corresponds to a real texture

◆ getTextureInstance()

const TexturePtr& Ogre::Compositor::getTextureInstance ( const String name,
size_t  mrtIndex 
)

Get the instance of a global texture.

Parameters
nameThe name of the texture in the original compositor definition
mrtIndexIf name identifies a MRT, which texture attachment to retrieve
Returns
The texture pointer, corresponds to a real texture

◆ getRenderTarget()

RenderTarget* Ogre::Compositor::getRenderTarget ( const String name,
int  slice = 0 
)

Get the render target for a given render texture name.

Remarks
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.

The documentation for this class was generated from the following file: