# 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 ()
TextureDefinition * | createTextureDefinition (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.
TextureDefinition * | getTextureDefinition (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.
CompositionTargetPass * | createTargetPass ()
| Create a new target pass, and return a pointer to it.
void | removeTargetPass (size_t idx)
| Remove a target pass.
CompositionTargetPass * | getTargetPass (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.
CompositionTargetPass * | getOutputTargetPass ()
| 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.
Compositor * | getParent ()
| Get parent object.

## Private Types

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

## Private Attributes

Compositor * | mParent
| Parent compositor.
TextureDefinitions | mTextureDefinitions
| Local texture definitions.
TargetPasses | mTargetPasses
| Intermediate target passes.
CompositionTargetPass * | mOutputTarget
| 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:

- OgreCompositionTechnique.h

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat May 10 16:25:30 2008