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
< TargetPasses
TargetPassIterator
typedef std::vector
< TextureDefinition * > 
TextureDefinitions
typedef
VectorIterator
< TextureDefinitions
TextureDefinitionIterator

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
CompositorInstance
createInstance (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

Classes

class  TextureDefinition
 Local texture definition. More...


Detailed Description

Base composition technique, can be subclassed in plugins.

Definition at line 39 of file OgreCompositionTechnique.h.


Member Typedef Documentation

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

Typedefs for several iterators.

Definition at line 57 of file OgreCompositionTechnique.h.

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

Definition at line 58 of file OgreCompositionTechnique.h.

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

Definition at line 59 of file OgreCompositionTechnique.h.

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

Definition at line 60 of file OgreCompositionTechnique.h.

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

List of instances.

Definition at line 140 of file OgreCompositionTechnique.h.


Constructor & Destructor Documentation

Ogre::CompositionTechnique::CompositionTechnique ( Compositor parent  ) 

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


Member Function Documentation

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

void Ogre::CompositionTechnique::removeTextureDefinition ( size_t  idx  ) 

Remove and destroy a local texture definition.

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

Get a local texture definition.

size_t Ogre::CompositionTechnique::getNumTextureDefinitions (  ) 

Get the number of local texture definitions.

void Ogre::CompositionTechnique::removeAllTextureDefinitions (  ) 

Remove all Texture Definitions.

TextureDefinitionIterator Ogre::CompositionTechnique::getTextureDefinitionIterator ( void   ) 

Get an iterator over the TextureDefinitions in this Technique.

CompositionTargetPass* Ogre::CompositionTechnique::createTargetPass (  ) 

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

void Ogre::CompositionTechnique::removeTargetPass ( size_t  idx  ) 

Remove a target pass.

It will also be destroyed.

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

Get a target pass.

size_t Ogre::CompositionTechnique::getNumTargetPasses (  ) 

Get the number of target passes.

void Ogre::CompositionTechnique::removeAllTargetPasses (  ) 

Remove all target passes.

TargetPassIterator Ogre::CompositionTechnique::getTargetPassIterator ( void   ) 

Get an iterator over the TargetPasses in this Technique.

CompositionTargetPass* Ogre::CompositionTechnique::getOutputTargetPass (  ) 

Get output (final) target pass.

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

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

Create an instance of this technique.

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

Destroy an instance of this technique.

Compositor* Ogre::CompositionTechnique::getParent (  ) 

Get parent object.


Member Data Documentation

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

Parent compositor.

Definition at line 130 of file OgreCompositionTechnique.h.

TextureDefinitions Ogre::CompositionTechnique::mTextureDefinitions [private]

Local texture definitions.

Definition at line 132 of file OgreCompositionTechnique.h.

TargetPasses Ogre::CompositionTechnique::mTargetPasses [private]

Intermediate target passes.

Definition at line 135 of file OgreCompositionTechnique.h.

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

Output target pass (can be only one).

Definition at line 137 of file OgreCompositionTechnique.h.

Instances Ogre::CompositionTechnique::mInstances [private]

Definition at line 141 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 Mon Jun 16 12:49:23 2008