Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Ogre::CompositionTechnique Class Reference

Base composition technique, can be subclassed in plugins. More...

#include <OgreCompositionTechnique.h>

List of all members.

Public Types

typedef std::vector< CompositionTargetPass * > TargetPasses
 Typedefs for several iterators.

typedef VectorIterator< TargetPassesTargetPassIterator
typedef std::vector< TextureDefinition * > TextureDefinitions
typedef VectorIterator< TextureDefinitionsTextureDefinitionIterator

Public Member Functions

 CompositionTechnique (Compositor *parent)
virtual ~CompositionTechnique ()
TextureDefinitioncreateTextureDefinition (const String &name)
 Create a new local texture definition, and return a pointer to it.

void removeTextureDefinition (size_t idx)
 Remove and destroy a local texture definition.

TextureDefinitiongetTextureDefinition (size_t idx)
 Get a local texture definition.

size_t getNumTextureDefinitions ()
 Get the number of local texture definitions.

void removeAllTextureDefinitions ()
 Remove all Texture Definitions.

TextureDefinitionIterator getTextureDefinitionIterator (void)
 Get an iterator over the TextureDefinitions in this Technique.

CompositionTargetPasscreateTargetPass ()
 Create a new target pass, and return a pointer to it.

void removeTargetPass (size_t idx)
 Remove a target pass.

CompositionTargetPassgetTargetPass (size_t idx)
 Get a target pass.

size_t getNumTargetPasses ()
 Get the number of target passes.

void removeAllTargetPasses ()
 Remove all target passes.

TargetPassIterator getTargetPassIterator (void)
 Get an iterator over the TargetPasses in this Technique.

CompositionTargetPassgetOutputTargetPass ()
 Get output (final) target pass.

virtual bool isSupported (bool allowTextureDegradation)
 Determine if this technique is supported on the current rendering device.

virtual CompositorInstancecreateInstance (CompositorChain *chain)
 Create an instance of this technique.

virtual void destroyInstance (CompositorInstance *instance)
 Destroy an instance of this technique.

CompositorgetParent ()
 Get parent object.


Private Types

typedef std::vector< CompositorInstance * > Instances
 List of instances.


Private Attributes

CompositormParent
 Parent compositor.

TextureDefinitions mTextureDefinitions
 Local texture definitions.

TargetPasses mTargetPasses
 Intermediate target passes.

CompositionTargetPassmOutputTarget
 Output target pass (can be only one).

Instances mInstances


Detailed Description

Base composition technique, can be subclassed in plugins.

Definition at line 35 of file OgreCompositionTechnique.h.


Member Typedef Documentation

typedef std::vector<CompositorInstance *> Ogre::CompositionTechnique::Instances [private]
 

List of instances.

Definition at line 136 of file OgreCompositionTechnique.h.

typedef std::vector<CompositionTargetPass *> Ogre::CompositionTechnique::TargetPasses
 

Typedefs for several iterators.

Definition at line 53 of file OgreCompositionTechnique.h.

typedef VectorIterator<TargetPasses> Ogre::CompositionTechnique::TargetPassIterator
 

Definition at line 54 of file OgreCompositionTechnique.h.

typedef VectorIterator<TextureDefinitions> Ogre::CompositionTechnique::TextureDefinitionIterator
 

Definition at line 56 of file OgreCompositionTechnique.h.

typedef std::vector<TextureDefinition*> Ogre::CompositionTechnique::TextureDefinitions
 

Definition at line 55 of file OgreCompositionTechnique.h.


Constructor & Destructor Documentation

Ogre::CompositionTechnique::CompositionTechnique Compositor parent  ) 
 

virtual Ogre::CompositionTechnique::~CompositionTechnique  )  [virtual]
 


Member Function Documentation

virtual CompositorInstance* Ogre::CompositionTechnique::createInstance CompositorChain chain  )  [virtual]
 

Create an instance of this technique.

CompositionTargetPass* Ogre::CompositionTechnique::createTargetPass  ) 
 

Create a new target pass, and return a pointer to it.

TextureDefinition* Ogre::CompositionTechnique::createTextureDefinition const String name  ) 
 

Create a new local texture definition, and return a pointer to it.

Parameters:
name Name of the local texture

virtual void Ogre::CompositionTechnique::destroyInstance CompositorInstance instance  )  [virtual]
 

Destroy an instance of this technique.

size_t Ogre::CompositionTechnique::getNumTargetPasses  ) 
 

Get the number of target passes.

size_t Ogre::CompositionTechnique::getNumTextureDefinitions  ) 
 

Get the number of local texture definitions.

CompositionTargetPass* Ogre::CompositionTechnique::getOutputTargetPass  ) 
 

Get output (final) target pass.

Compositor* Ogre::CompositionTechnique::getParent  ) 
 

Get parent object.

CompositionTargetPass* Ogre::CompositionTechnique::getTargetPass size_t  idx  ) 
 

Get a target pass.

TargetPassIterator Ogre::CompositionTechnique::getTargetPassIterator void   ) 
 

Get an iterator over the TargetPasses in this Technique.

TextureDefinition* Ogre::CompositionTechnique::getTextureDefinition size_t  idx  ) 
 

Get a local texture definition.

TextureDefinitionIterator Ogre::CompositionTechnique::getTextureDefinitionIterator void   ) 
 

Get an iterator over the TextureDefinitions in this Technique.

virtual bool Ogre::CompositionTechnique::isSupported bool  allowTextureDegradation  )  [virtual]
 

Determine if this technique is supported on the current rendering device.

Parameters:
allowTextureDegradation True to accept a reduction in texture depth

void Ogre::CompositionTechnique::removeAllTargetPasses  ) 
 

Remove all target passes.

void Ogre::CompositionTechnique::removeAllTextureDefinitions  ) 
 

Remove all Texture Definitions.

void Ogre::CompositionTechnique::removeTargetPass size_t  idx  ) 
 

Remove a target pass.

It will also be destroyed.

void Ogre::CompositionTechnique::removeTextureDefinition size_t  idx  ) 
 

Remove and destroy a local texture definition.


Member Data Documentation

Instances Ogre::CompositionTechnique::mInstances [private]
 

Definition at line 137 of file OgreCompositionTechnique.h.

CompositionTargetPass* Ogre::CompositionTechnique::mOutputTarget [private]
 

Output target pass (can be only one).

Definition at line 133 of file OgreCompositionTechnique.h.

Compositor* Ogre::CompositionTechnique::mParent [private]
 

Parent compositor.

Definition at line 126 of file OgreCompositionTechnique.h.

TargetPasses Ogre::CompositionTechnique::mTargetPasses [private]
 

Intermediate target passes.

Definition at line 131 of file OgreCompositionTechnique.h.

TextureDefinitions Ogre::CompositionTechnique::mTextureDefinitions [private]
 

Local texture definitions.

Definition at line 128 of file OgreCompositionTechnique.h.


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

Copyright © 2000-2005 by The OGRE Team
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Mar 12 14:38:27 2006