Base class that users can derive from in order to implement custom passes for the compositor.  
 More...
#include <OgreCompositorPassProvider.h>
|  | 
| virtual | ~CompositorPassProvider () | 
|  | 
| virtual CompositorPass * | addPass (const CompositorPassDef *definition, Camera *defaultCamera, CompositorNode *parentNode, const RenderTargetViewDef *rtvDef, SceneManager *sceneManager)=0 | 
|  | Creates a CompositorPass from a CompositorPassDef for Compositor Pass of type 'custom'. 
 | 
|  | 
| virtual CompositorPassDef * | addPassDef (CompositorPassType passType, IdString customId, CompositorTargetDef *parentTargetDef, CompositorNodeDef *parentNodeDef)=0 | 
|  | Called from CompositorTargetDef::addPass when adding a Compositor Pass of type 'custom'. 
 | 
|  | 
| virtual void | translateCustomPass (const AbstractNodePtr &node, CompositorPassDef *customPassDef) | 
|  | 
| virtual void | translateCustomPass (ScriptCompiler *compiler, const AbstractNodePtr &node, IdString customId, CompositorPassDef *customPassDef) | 
|  | Optional override which allows users to define custom properties in the compositor scripts for custom passes. 
 | 
|  | 
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:
- CompositorPassProvider
- CompositorPassDef
- 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. 
◆ ~CompositorPassProvider()
  
  | 
        
          | virtual Ogre::CompositorPassProvider::~CompositorPassProvider | ( |  | ) |  |  | virtual | 
 
 
◆ addPass()
◆ addPassDef()
Called from CompositorTargetDef::addPass when adding a Compositor Pass of type 'custom'. 
- Parameters
- 
  
    | passType |  |  | customId | Arbitrary ID in case there is more than one type of custom pass you want to implement. Defaults to IdString() |  | parentTargetDef |  |  | parentNodeDef |  |  
 
- Returns
 
 
◆ translateCustomPass() [1/2]
- Deprecated:
- Use the other overload which has access to a lot more information 
 
 
◆ translateCustomPass() [2/2]
Optional override which allows users to define custom properties in the compositor scripts for custom passes. 
- Parameters
- 
  
  
 
 
The documentation for this class was generated from the following file: