OGRE  1.9
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::CompositionTechnique Class Reference

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

#include <OgreCompositionTechnique.h>

+ Inheritance diagram for Ogre::CompositionTechnique:
+ Collaboration diagram for Ogre::CompositionTechnique:

Classes

class  TextureDefinition
 Local texture definition. More...
 

Public Types

typedef vector
< CompositionTargetPass * >
::type 
TargetPasses
 Typedefs for several iterators. More...
 
typedef VectorIterator
< TargetPasses
TargetPassIterator
 
typedef VectorIterator
< TextureDefinitions
TextureDefinitionIterator
 
typedef vector
< TextureDefinition * >::type 
TextureDefinitions
 
enum  TextureScope { TS_LOCAL, TS_CHAIN, TS_GLOBAL }
 

Public Member Functions

 CompositionTechnique (Compositor *parent)
 
virtual ~CompositionTechnique ()
 
CompositionTargetPasscreateTargetPass ()
 Create a new target pass, and return a pointer to it. More...
 
TextureDefinitioncreateTextureDefinition (const String &name)
 Create a new local texture definition, and return a pointer to it. More...
 
const StringgetCompositorLogicName () const
 Get the compositor logic name assigned to this technique. More...
 
size_t getNumTargetPasses ()
 Get the number of target passes. More...
 
size_t getNumTextureDefinitions ()
 Get the number of local texture definitions. More...
 
CompositionTargetPassgetOutputTargetPass ()
 Get output (final) target pass. More...
 
CompositorgetParent ()
 Get parent object. More...
 
const StringgetSchemeName () const
 Get the scheme name assigned to this technique. More...
 
CompositionTargetPassgetTargetPass (size_t idx)
 Get a target pass. More...
 
TargetPassIterator getTargetPassIterator (void)
 Get an iterator over the TargetPasses in this Technique. More...
 
TextureDefinitiongetTextureDefinition (size_t idx)
 Get a local texture definition. More...
 
TextureDefinitiongetTextureDefinition (const String &name)
 Get a local texture definition with a specific name. More...
 
TextureDefinitionIterator getTextureDefinitionIterator (void)
 Get an iterator over the TextureDefinitions in this Technique. More...
 
virtual bool isSupported (bool allowTextureDegradation)
 Determine if this technique is supported on the current rendering device. More...
 
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 *)
 
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info More...
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *ptr)
 placement operator new More...
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info More...
 
void * operator new[] (size_t sz)
 
void removeAllTargetPasses ()
 Remove all target passes. More...
 
void removeAllTextureDefinitions ()
 Remove all Texture Definitions. More...
 
void removeTargetPass (size_t idx)
 Remove a target pass. More...
 
void removeTextureDefinition (size_t idx)
 Remove and destroy a local texture definition. More...
 
void setCompositorLogicName (const String &compositorLogicName)
 Set the name of the compositor logic assigned to this technique. More...
 
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. More...
 

Private Attributes

String mCompositorLogicName
 Optional compositor logic name. More...
 
CompositionTargetPassmOutputTarget
 Output target pass (can be only one) More...
 
CompositormParent
 Parent compositor. More...
 
String mSchemeName
 Optional scheme name. More...
 
TargetPasses mTargetPasses
 Intermediate target passes. More...
 
TextureDefinitions mTextureDefinitions
 Local texture definitions. More...
 

Detailed Description

Base composition technique, can be subclassed in plugins.

Definition at line 45 of file OgreCompositionTechnique.h.

Member Typedef Documentation

Typedefs for several iterators.

Definition at line 84 of file OgreCompositionTechnique.h.

Member Enumeration Documentation

Enumerator
TS_LOCAL 
TS_CHAIN 
TS_GLOBAL 

Definition at line 52 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
nameName of the local texture
const String& Ogre::CompositionTechnique::getCompositorLogicName ( ) const
inline

Get the compositor logic name assigned to this technique.

Definition at line 162 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
inline

Get the scheme name assigned to this technique.

Definition at line 154 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 ( size_t  idx)

Get a local texture definition.

TextureDefinition* Ogre::CompositionTechnique::getTextureDefinition ( const String name)

Get a local texture definition with a specific name.

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
allowTextureDegradationTrue to accept a reduction in texture depth
template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inlineinherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
)
inlineinherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr)
inlineinherited

Definition at line 113 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 119 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inlineinherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
)
inlineinherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz)
inlineinherited

Definition at line 91 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)
inline

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 159 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 181 of file OgreCompositionTechnique.h.

CompositionTargetPass* Ogre::CompositionTechnique::mOutputTarget
private

Output target pass (can be only one)

Definition at line 175 of file OgreCompositionTechnique.h.

Compositor* Ogre::CompositionTechnique::mParent
private

Parent compositor.

Definition at line 168 of file OgreCompositionTechnique.h.

String Ogre::CompositionTechnique::mSchemeName
private

Optional scheme name.

Definition at line 178 of file OgreCompositionTechnique.h.

TargetPasses Ogre::CompositionTechnique::mTargetPasses
private

Intermediate target passes.

Definition at line 173 of file OgreCompositionTechnique.h.

TextureDefinitions Ogre::CompositionTechnique::mTextureDefinitions
private

Local texture definitions.

Definition at line 170 of file OgreCompositionTechnique.h.


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