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

Base class that users can derive from in order to implement custom passes for the compositor. More...

#include <OgreCompositorPassProvider.h>

+ Inheritance diagram for Ogre::CompositorPassProvider:
+ Collaboration diagram for Ogre::CompositorPassProvider:

Public Member Functions

virtual CompositorPassaddPass (const CompositorPassDef *definition, Camera *defaultCamera, CompositorNode *parentNode, const CompositorChannel &target, SceneManager *sceneManager)=0
 
virtual CompositorPassDefaddPassDef (CompositorPassType passType, IdString customId, uint32 rtIndex, CompositorNodeDef *parentNodeDef)=0
 
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)
 

Detailed Description

Base class that users can derive from in order to implement custom passes for the compositor.

How to implement one: You need to derive three classes:
  1. CompositorPassProvider
  2. CompositorPassDef
  3. CompositorPass

The first one is this class. You need to overload the two public virtuals. i.e. CompositorPassDef* MyProvider::addPassDef( ... ) { return OGRE_NEW MyPassDef( ... ); }

CompositorPass* MyProvider::addPass( ... ) { return OGRE_NEW MyPass( ... ); }

The second and third one are the implementations.

See also
CompositorPassScene and
CompositorPassSceneDef,
CompositorPassQuad and
CompositorPassQuadDef,
CompositorPassClear and
CompositorPassClearDef for examples on how to implement your own pass. For example, you could literally copy the code from CompositorPassClear & CompositorPassClearDef and implement your own custom pass that clears the render target.

Definition at line 72 of file OgreCompositorPassProvider.h.

Member Function Documentation

virtual CompositorPass* Ogre::CompositorPassProvider::addPass ( const CompositorPassDef definition,
Camera defaultCamera,
CompositorNode parentNode,
const CompositorChannel target,
SceneManager sceneManager 
)
pure virtual
virtual CompositorPassDef* Ogre::CompositorPassProvider::addPassDef ( CompositorPassType  passType,
IdString  customId,
uint32  rtIndex,
CompositorNodeDef parentNodeDef 
)
pure virtual
Parameters
passType
customIdArbitrary ID in case there is more than one type of custom pass you want to implement. Defaults to IdString()
rtIndex
parentNodeDef
Returns
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.


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