# 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 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:

- OgreCompositionTechnique.h

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Sep 17 15:39:32 2006