# Ogre::CompositionTechnique Class Reference
[Effects]

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

`#include <OgreCompositionTechnique.h>`

Inheritance diagram for Ogre::CompositionTechnique:
[legend]

List of all members.

## Classes

class | TextureDefinition
| Local texture definition. More...

## Public Types

enum | TextureScope { TS_LOCAL, TS_CHAIN, TS_GLOBAL }
typedef vector < CompositionTargetPass * > ::type | TargetPasses
| Typedefs for several iterators.
typedef VectorIterator < TargetPasses > | TargetPassIterator
typedef vector < TextureDefinition * >::type | 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.
TextureDefinition * | getTextureDefinition (const String &name)
| Get a local texture definition with a specific name.
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 void | setSchemeName (const String &schemeName)
| Assign a scheme name to this technique, used to switch between multiple techniques by choice rather than for hardware compatibility.
const String & | getSchemeName () const
| Get the scheme name assigned to this technique.
void | setCompositorLogicName (const String &compositorLogicName)
| Set the name of the compositor logic assigned to this technique.
const String & | getCompositorLogicName () const
| Get the compositor logic name assigned to this technique.
Compositor * | getParent ()
| Get parent object.
void * | operator new (size_t sz, const char *file, int line, const char *func)
| operator new, with debug line info
void * | operator new (size_t sz)
void * | operator new (size_t sz, void *ptr)
| placement operator new
void * | operator new[] (size_t sz, const char *file, int line, const char *func)
| array operator new, with debug line info
void * | operator new[] (size_t sz)
void | operator delete (void *ptr)
void | operator delete (void *ptr, void *)
void | operator delete (void *ptr, const char *, int, const char *)
void | operator delete[] (void *ptr)
void | operator delete[] (void *ptr, const char *, int, const char *)

## 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).
String | mSchemeName
| Optional scheme name.
String | mCompositorLogicName
| Optional compositor logic name.

## Detailed Description

Base composition technique, can be subclassed in plugins.

Definition at line 44 of file OgreCompositionTechnique.h.

## Member Typedef Documentation

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

Typedefs for several iterators.

Definition at line 82 of file OgreCompositionTechnique.h.

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

Definition at line 83 of file OgreCompositionTechnique.h.

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

Definition at line 85 of file OgreCompositionTechnique.h.

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

Definition at line 84 of file OgreCompositionTechnique.h.

## Member Enumeration Documentation

enum Ogre::CompositionTechnique::TextureScope

Enumerator:

  TS_LOCAL |
  TS_CHAIN |
  TS_GLOBAL |

Definition at line 51 of file OgreCompositionTechnique.h.

## Constructor & Destructor Documentation

Ogre::CompositionTechnique::CompositionTechnique | ( | Compositor * | parent | ) |

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

## Member Function Documentation

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

const String& Ogre::CompositionTechnique::getCompositorLogicName | ( |  | ) | const

Get the compositor logic name assigned to this technique.

Definition at line 160 of file OgreCompositionTechnique.h.

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.

const String& Ogre::CompositionTechnique::getSchemeName | ( |  | ) | const

Get the scheme name assigned to this technique.

Definition at line 152 of file OgreCompositionTechnique.h.

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 | ( | const String & | name | ) |

Get a local texture definition with a specific name.

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

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |  |
| ) |  |  | `[inherited]`

Definition at line 107 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |  |
| ) |  |  | `[inherited]`

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr | ) | `[inherited]`

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr,
|  | const char * | ,
|  | int | ,
|  | const char * |  |
| ) |  |  | `[inherited]`

Definition at line 118 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete[] | ( | void * | ptr | ) | `[inherited]`

Definition at line 112 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func |
| ) |  |  | `[inherited]`

operator new, with debug line info

Definition at line 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz,
|  | void * | ptr |
| ) |  |  | `[inherited]`

placement operator new

Definition at line 78 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new | ( | size_t | sz | ) | `[inherited]`

Definition at line 72 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz | ) | `[inherited]`

Definition at line 90 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void* Ogre::AllocatedObject< Alloc >::operator new[] | ( | size_t | sz,
|  | const char * | file,
|  | int | line,
|  | const char * | func |
| ) |  |  | `[inherited]`

array operator new, with debug line info

Definition at line 85 of file OgreMemoryAllocatedObject.h.

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.

void Ogre::CompositionTechnique::setCompositorLogicName | ( | const String & | compositorLogicName | ) |

Set the name of the compositor logic assigned to this technique.

Instances of this technique will be auto-coupled with the matching logic.

Definition at line 157 of file OgreCompositionTechnique.h.

virtual void Ogre::CompositionTechnique::setSchemeName | ( | const String & | schemeName | ) | `[virtual]`

Assign a scheme name to this technique, used to switch between multiple techniques by choice rather than for hardware compatibility.

## Member Data Documentation

String Ogre::CompositionTechnique::mCompositorLogicName `[private]`

Optional compositor logic name.

Definition at line 179 of file OgreCompositionTechnique.h.

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

Output target pass (can be only one).

Definition at line 173 of file OgreCompositionTechnique.h.

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

Parent compositor.

Definition at line 166 of file OgreCompositionTechnique.h.

String Ogre::CompositionTechnique::mSchemeName `[private]`

Optional scheme name.

Definition at line 176 of file OgreCompositionTechnique.h.

TargetPasses Ogre::CompositionTechnique::mTargetPasses `[private]`

Intermediate target passes.

Definition at line 171 of file OgreCompositionTechnique.h.

TextureDefinitions Ogre::CompositionTechnique::mTextureDefinitions `[private]`

Local texture definitions.

Definition at line 168 of file OgreCompositionTechnique.h.

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

- OgreCompositionTechnique.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Wed Nov 3 2010 19:24:54