# Ogre::CompositionPass Class Reference
Effects

Object representing one pass or operation in a composition sequence. More...

`#include <OgreCompositionPass.h>`

Inheritance diagram for Ogre::CompositionPass:
[legend]

List of all members.

## Classes

struct | InputTex
| Inputs (for material used for rendering the quad) More...

## Public Types

enum | PassType { PT_CLEAR, PT_STENCIL, PT_RENDERSCENE, PT_RENDERQUAD, PT_RENDERCUSTOM }
| Enumeration that enumerates the various composition pass types. More...

## Public Member Functions

| CompositionPass (CompositionTargetPass *parent)
| ~CompositionPass ()
void | setType (PassType type)
| Set the type of composition pass.
PassType | getType () const
| Get the type of composition pass.
void | setIdentifier (uint32 id)
| Set an identifier for this pass.
uint32 | getIdentifier () const
| Get the identifier for this pass.
void | setMaterial (const MaterialPtr &mat)
| Set the material used by this pass.
void | setMaterialName (const String &name)
| Set the material used by this pass.
const MaterialPtr & | getMaterial () const
| Get the material used by this pass.
void | setFirstRenderQueue (uint8 id)
| Set the first render queue to be rendered in this pass (inclusive)
uint8 | getFirstRenderQueue () const
| Get the first render queue to be rendered in this pass (inclusive)
void | setLastRenderQueue (uint8 id)
| Set the last render queue to be rendered in this pass (inclusive)
uint8 | getLastRenderQueue () const
| Get the last render queue to be rendered in this pass (inclusive)
void | setMaterialScheme (const String &schemeName)
| Set the material scheme used by this pass.
const String & | getMaterialScheme (void) const
| Get the material scheme used by this pass.
void | setClearBuffers (uint32 val)
| Would be nice to have for RENDERSCENE: flags to: exclude transparents override material (at least -- color)
uint32 | getClearBuffers () const
| Get the viewport clear buffers.
void | setClearColour (ColourValue val)
| Set the viewport clear colour (defaults to 0,0,0,0)
const ColourValue & | getClearColour () const
| Get the viewport clear colour (defaults to 0,0,0,0)
void | setClearDepth (Real depth)
| Set the viewport clear depth (defaults to 1.0)
Real | getClearDepth () const
| Get the viewport clear depth (defaults to 1.0)
void | setClearStencil (uint32 value)
| Set the viewport clear stencil value (defaults to 0)
uint32 | getClearStencil () const
| Get the viewport clear stencil value (defaults to 0)
void | setStencilCheck (bool value)
| Set stencil check on or off.
bool | getStencilCheck () const
| Get stencil check enable.
void | setStencilFunc (CompareFunction value)
| Set stencil compare function.
CompareFunction | getStencilFunc () const
| Get stencil compare function.
void | setStencilRefValue (uint32 value)
| Set stencil reference value.
uint32 | getStencilRefValue () const
| Get stencil reference value.
void | setStencilMask (uint32 value)
| Set stencil mask.
uint32 | getStencilMask () const
| Get stencil mask.
void | setStencilFailOp (StencilOperation value)
| Set stencil fail operation.
StencilOperation | getStencilFailOp () const
| Get stencil fail operation.
void | setStencilDepthFailOp (StencilOperation value)
| Set stencil depth fail operation.
StencilOperation | getStencilDepthFailOp () const
| Get stencil depth fail operation.
void | setStencilPassOp (StencilOperation value)
| Set stencil pass operation.
StencilOperation | getStencilPassOp () const
| Get stencil pass operation.
void | setStencilTwoSidedOperation (bool value)
| Set two sided stencil operation.
bool | getStencilTwoSidedOperation () const
| Get two sided stencil operation.
void | setInput (size_t id, const String &input=StringUtil::BLANK, size_t mrtIndex=0)
| Set an input local texture.
const InputTex & | getInput (size_t id) const
| Get the value of an input.
size_t | getNumInputs () const
| Get the number of inputs used.
void | clearAllInputs ()
| Clear all inputs.
CompositionTargetPass * | getParent ()
| Get parent object.
bool | _isSupported (void)
| Determine if this target pass is supported on the current rendering device.
void | setQuadCorners (Real left, Real top, Real right, Real bottom)
| Set quad normalised positions [-1;1]x[-1;1].
bool | getQuadCorners (Real &left, Real &top, Real &right, Real &bottom) const
| Get quad normalised positions [-1;1]x[-1;1].
void | setQuadFarCorners (bool farCorners, bool farCornersViewSpace)
| Sets the use of camera frustum far corners provided in the quad's normals.
bool | getQuadFarCorners () const
| Returns true if camera frustum far corners are provided in the quad.
bool | getQuadFarCornersViewSpace () const
| Returns true if the far corners provided in the quad are in view space.
void | setCustomType (const String &customType)
| Set the type name of this custom composition pass.
const String & | getCustomType () const
| Get the type name of this custom composition pass.
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

CompositionTargetPass * | mParent
| Parent technique.
PassType | mType
| Type of composition pass.
uint32 | mIdentifier
| Identifier for this pass.
MaterialPtr | mMaterial
| Material used for rendering.
uint8 | mFirstRenderQueue
| [first,last] render queue to render this pass (in case of PT_RENDERSCENE)
uint8 | mLastRenderQueue
String | mMaterialScheme
| Material scheme name.
uint32 | mClearBuffers
| Clear buffers (in case of PT_CLEAR)
ColourValue | mClearColour
| Clear colour (in case of PT_CLEAR)
Real | mClearDepth
| Clear depth (in case of PT_CLEAR)
uint32 | mClearStencil
| Clear stencil value (in case of PT_CLEAR)
InputTex | mInputs [OGRE_MAX_TEXTURE_LAYERS]
| Inputs (for material used for rendering the quad) An empty string signifies that no input is used.
bool | mStencilCheck
| Stencil operation parameters.
CompareFunction | mStencilFunc
uint32 | mStencilRefValue
uint32 | mStencilMask
StencilOperation | mStencilFailOp
StencilOperation | mStencilDepthFailOp
StencilOperation | mStencilPassOp
bool | mStencilTwoSidedOperation
bool | mQuadCornerModified
| true if quad should not cover whole screen
Real | mQuadLeft
| quad positions in normalised coordinates [-1;1]x[-1;1] (in case of PT_RENDERQUAD)
Real | mQuadTop
Real | mQuadRight
Real | mQuadBottom
bool | mQuadFarCorners
bool | mQuadFarCornersViewSpace
String | mCustomType

## Detailed Description

Object representing one pass or operation in a composition sequence.

This provides a method to conveniently interleave RenderSystem commands between Render Queues.

Definition at line 46 of file OgreCompositionPass.h.

## Member Enumeration Documentation

enum Ogre::CompositionPass::PassType

Enumeration that enumerates the various composition pass types.

Enumerator:

  PT_CLEAR |
  PT_STENCIL |
  PT_RENDERSCENE |
  PT_RENDERQUAD |
  PT_RENDERCUSTOM |

Definition at line 54 of file OgreCompositionPass.h.

## Constructor & Destructor Documentation

Ogre::CompositionPass::CompositionPass | ( | CompositionTargetPass * | parent | ) |

Ogre::CompositionPass::~CompositionPass | ( |  | ) |

## Member Function Documentation

bool Ogre::CompositionPass::_isSupported | ( | void |  | ) |

Determine if this target pass is supported on the current rendering device.

void Ogre::CompositionPass::clearAllInputs | ( |  | ) |

Clear all inputs.

Note:
  applies when PassType is RENDERQUAD

uint32 Ogre::CompositionPass::getClearBuffers | ( |  | ) | const

Get the viewport clear buffers.

Note:
  applies when PassType is CLEAR

const ColourValue& Ogre::CompositionPass::getClearColour | ( |  | ) | const

Get the viewport clear colour (defaults to 0,0,0,0)

Note:
  applies when PassType is CLEAR

Real Ogre::CompositionPass::getClearDepth | ( |  | ) | const

Get the viewport clear depth (defaults to 1.0)

Note:
  applies when PassType is CLEAR

uint32 Ogre::CompositionPass::getClearStencil | ( |  | ) | const

Get the viewport clear stencil value (defaults to 0)

Note:
  applies when PassType is CLEAR

const String& Ogre::CompositionPass::getCustomType | ( |  | ) | const

Get the type name of this custom composition pass.

Note:
  applies when PassType is RENDERCUSTOM

See also:
  CompositorManager::registerCustomCompositionPass

uint8 Ogre::CompositionPass::getFirstRenderQueue | ( |  | ) | const

Get the first render queue to be rendered in this pass (inclusive)

Note:
  applies when PassType is RENDERSCENE

uint32 Ogre::CompositionPass::getIdentifier | ( |  | ) | const

Get the identifier for this pass.

const InputTex& Ogre::CompositionPass::getInput | ( | size_t | id | ) | const

Get the value of an input.

Parameters:

  id | Input to get. Must be in 0..OGRE_MAX_TEXTURE_LAYERS-1.

Note:
  applies when PassType is RENDERQUAD

uint8 Ogre::CompositionPass::getLastRenderQueue | ( |  | ) | const

Get the last render queue to be rendered in this pass (inclusive)

Note:
  applies when PassType is RENDERSCENE

const MaterialPtr& Ogre::CompositionPass::getMaterial | ( |  | ) | const

Get the material used by this pass.

Note:
  applies when PassType is RENDERQUAD

const String& Ogre::CompositionPass::getMaterialScheme | ( | void |  | ) | const

Get the material scheme used by this pass.

Remarks:
  Only applicable to passes that render the scene.

See also:
  Technique::setScheme.

size_t Ogre::CompositionPass::getNumInputs | ( |  | ) | const

Get the number of inputs used.

Note:
  applies when PassType is RENDERQUAD

CompositionTargetPass* Ogre::CompositionPass::getParent | ( |  | ) |

Get parent object.

Note:
  applies when PassType is RENDERQUAD

bool Ogre::CompositionPass::getQuadCorners | ( | Real & | left,
|  | Real & | top,
|  | Real & | right,
|  | Real & | bottom
| ) |  | const

Get quad normalised positions [-1;1]x[-1;1].

Note:
  applies when PassType is RENDERQUAD

bool Ogre::CompositionPass::getQuadFarCorners | ( |  | ) | const

Returns true if camera frustum far corners are provided in the quad.

Note:
  applies when PassType is RENDERQUAD

bool Ogre::CompositionPass::getQuadFarCornersViewSpace | ( |  | ) | const

Returns true if the far corners provided in the quad are in view space.

Note:
  applies when PassType is RENDERQUAD

bool Ogre::CompositionPass::getStencilCheck | ( |  | ) | const

Get stencil check enable.

Note:
  applies when PassType is STENCIL

StencilOperation Ogre::CompositionPass::getStencilDepthFailOp | ( |  | ) | const

Get stencil depth fail operation.

Note:
  applies when PassType is STENCIL

StencilOperation Ogre::CompositionPass::getStencilFailOp | ( |  | ) | const

Get stencil fail operation.

Note:
  applies when PassType is STENCIL

CompareFunction Ogre::CompositionPass::getStencilFunc | ( |  | ) | const

Get stencil compare function.

Note:
  applies when PassType is STENCIL

uint32 Ogre::CompositionPass::getStencilMask | ( |  | ) | const

Get stencil mask.

Note:
  applies when PassType is STENCIL

StencilOperation Ogre::CompositionPass::getStencilPassOp | ( |  | ) | const

Get stencil pass operation.

Note:
  applies when PassType is STENCIL

uint32 Ogre::CompositionPass::getStencilRefValue | ( |  | ) | const

Get stencil reference value.

Note:
  applies when PassType is STENCIL

bool Ogre::CompositionPass::getStencilTwoSidedOperation | ( |  | ) | const

Get two sided stencil operation.

Note:
  applies when PassType is STENCIL

PassType Ogre::CompositionPass::getType | ( |  | ) | const

Get the type of composition pass.

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 107 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 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 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,
|  | 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 | ) | `[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::CompositionPass::setClearBuffers | ( | uint32 | val | ) |

Would be nice to have for RENDERSCENE: flags to: exclude transparents override material (at least -- color)

Set the viewport clear buffers (defaults to FBT_COLOUR|FBT_DEPTH)

Parameters:

  val | is a combination of FBT_COLOUR, FBT_DEPTH, FBT_STENCIL.

Note:
  applies when PassType is CLEAR

void Ogre::CompositionPass::setClearColour | ( | ColourValue | val | ) |

Set the viewport clear colour (defaults to 0,0,0,0)

Note:
  applies when PassType is CLEAR

void Ogre::CompositionPass::setClearDepth | ( | Real | depth | ) |

Set the viewport clear depth (defaults to 1.0)

Note:
  applies when PassType is CLEAR

void Ogre::CompositionPass::setClearStencil | ( | uint32 | value | ) |

Set the viewport clear stencil value (defaults to 0)

Note:
  applies when PassType is CLEAR

void Ogre::CompositionPass::setCustomType | ( | const String & | customType | ) |

Set the type name of this custom composition pass.

Note:
  applies when PassType is RENDERCUSTOM

See also:
  CompositorManager::registerCustomCompositionPass

void Ogre::CompositionPass::setFirstRenderQueue | ( | uint8 | id | ) |

Set the first render queue to be rendered in this pass (inclusive)

Note:
  applies when PassType is RENDERSCENE

void Ogre::CompositionPass::setIdentifier | ( | uint32 | id | ) |

Set an identifier for this pass.

This identifier can be used to "listen in" on this pass with an CompositorInstance::Listener.

void Ogre::CompositionPass::setInput | ( | size_t | id,
|  | const String & | input = `StringUtil::BLANK`,
|  | size_t | mrtIndex = `0`
| ) |  |

Set an input local texture.

An empty string clears the input.

Parameters:

  id | Input to set. Must be in 0..OGRE_MAX_TEXTURE_LAYERS-1
  input | Which texture to bind to this input. An empty string clears the input.
  mrtIndex | Which surface of an MRT to retrieve

Note:
  applies when PassType is RENDERQUAD

void Ogre::CompositionPass::setLastRenderQueue | ( | uint8 | id | ) |

Set the last render queue to be rendered in this pass (inclusive)

Note:
  applies when PassType is RENDERSCENE

void Ogre::CompositionPass::setMaterial | ( | const MaterialPtr & | mat | ) |

Set the material used by this pass.

Note:
  applies when PassType is RENDERQUAD

void Ogre::CompositionPass::setMaterialName | ( | const String & | name | ) |

Set the material used by this pass.

Note:
  applies when PassType is RENDERQUAD

void Ogre::CompositionPass::setMaterialScheme | ( | const String & | schemeName | ) |

Set the material scheme used by this pass.

Remarks:
  Only applicable to passes that render the scene.

See also:
  Technique::setScheme.

void Ogre::CompositionPass::setQuadCorners | ( | Real | left,
|  | Real | top,
|  | Real | right,
|  | Real | bottom
| ) |  |

Set quad normalised positions [-1;1]x[-1;1].

Note:
  applies when PassType is RENDERQUAD

void Ogre::CompositionPass::setQuadFarCorners | ( | bool | farCorners,
|  | bool | farCornersViewSpace
| ) |  |

Sets the use of camera frustum far corners provided in the quad's normals.

Note:
  applies when PassType is RENDERQUAD

void Ogre::CompositionPass::setStencilCheck | ( | bool | value | ) |

Set stencil check on or off.

Note:
  applies when PassType is STENCIL

void Ogre::CompositionPass::setStencilDepthFailOp | ( | StencilOperation | value | ) |

Set stencil depth fail operation.

Note:
  applies when PassType is STENCIL

void Ogre::CompositionPass::setStencilFailOp | ( | StencilOperation | value | ) |

Set stencil fail operation.

Note:
  applies when PassType is STENCIL

void Ogre::CompositionPass::setStencilFunc | ( | CompareFunction | value | ) |

Set stencil compare function.

Note:
  applies when PassType is STENCIL

void Ogre::CompositionPass::setStencilMask | ( | uint32 | value | ) |

Set stencil mask.

Note:
  applies when PassType is STENCIL

void Ogre::CompositionPass::setStencilPassOp | ( | StencilOperation | value | ) |

Set stencil pass operation.

Note:
  applies when PassType is STENCIL

void Ogre::CompositionPass::setStencilRefValue | ( | uint32 | value | ) |

Set stencil reference value.

Note:
  applies when PassType is STENCIL

void Ogre::CompositionPass::setStencilTwoSidedOperation | ( | bool | value | ) |

Set two sided stencil operation.

Note:
  applies when PassType is STENCIL

void Ogre::CompositionPass::setType | ( | PassType | type | ) |

Set the type of composition pass.

## Member Data Documentation

uint32 Ogre::CompositionPass::mClearBuffers`[private]`

Clear buffers (in case of PT_CLEAR)

Definition at line 319 of file OgreCompositionPass.h.

ColourValue Ogre::CompositionPass::mClearColour`[private]`

Clear colour (in case of PT_CLEAR)

Definition at line 321 of file OgreCompositionPass.h.

Real Ogre::CompositionPass::mClearDepth`[private]`

Clear depth (in case of PT_CLEAR)

Definition at line 323 of file OgreCompositionPass.h.

uint32 Ogre::CompositionPass::mClearStencil`[private]`

Clear stencil value (in case of PT_CLEAR)

Definition at line 325 of file OgreCompositionPass.h.

String Ogre::CompositionPass::mCustomType`[private]`

Definition at line 349 of file OgreCompositionPass.h.

uint8 Ogre::CompositionPass::mFirstRenderQueue`[private]`

[first,last] render queue to render this pass (in case of PT_RENDERSCENE)

Definition at line 314 of file OgreCompositionPass.h.

uint32 Ogre::CompositionPass::mIdentifier`[private]`

Identifier for this pass.

Definition at line 310 of file OgreCompositionPass.h.

InputTex Ogre::CompositionPass::mInputs[OGRE_MAX_TEXTURE_LAYERS]`[private]`

Inputs (for material used for rendering the quad) An empty string signifies that no input is used.

Definition at line 328 of file OgreCompositionPass.h.

uint8 Ogre::CompositionPass::mLastRenderQueue`[private]`

Definition at line 315 of file OgreCompositionPass.h.

MaterialPtr Ogre::CompositionPass::mMaterial`[private]`

Material used for rendering.

Definition at line 312 of file OgreCompositionPass.h.

String Ogre::CompositionPass::mMaterialScheme`[private]`

Material scheme name.

Definition at line 317 of file OgreCompositionPass.h.

CompositionTargetPass* Ogre::CompositionPass::mParent`[private]`

Parent technique.

Definition at line 306 of file OgreCompositionPass.h.

Real Ogre::CompositionPass::mQuadBottom`[private]`

Definition at line 345 of file OgreCompositionPass.h.

bool Ogre::CompositionPass::mQuadCornerModified`[private]`

true if quad should not cover whole screen

Definition at line 340 of file OgreCompositionPass.h.

bool Ogre::CompositionPass::mQuadFarCorners`[private]`

Definition at line 347 of file OgreCompositionPass.h.

bool Ogre::CompositionPass::mQuadFarCornersViewSpace`[private]`

Definition at line 347 of file OgreCompositionPass.h.

Real Ogre::CompositionPass::mQuadLeft`[private]`

quad positions in normalised coordinates [-1;1]x[-1;1] (in case of PT_RENDERQUAD)

Definition at line 342 of file OgreCompositionPass.h.

Real Ogre::CompositionPass::mQuadRight`[private]`

Definition at line 344 of file OgreCompositionPass.h.

Real Ogre::CompositionPass::mQuadTop`[private]`

Definition at line 343 of file OgreCompositionPass.h.

bool Ogre::CompositionPass::mStencilCheck`[private]`

Stencil operation parameters.

Definition at line 330 of file OgreCompositionPass.h.

StencilOperation Ogre::CompositionPass::mStencilDepthFailOp`[private]`

Definition at line 335 of file OgreCompositionPass.h.

StencilOperation Ogre::CompositionPass::mStencilFailOp`[private]`

Definition at line 334 of file OgreCompositionPass.h.

CompareFunction Ogre::CompositionPass::mStencilFunc`[private]`

Definition at line 331 of file OgreCompositionPass.h.

uint32 Ogre::CompositionPass::mStencilMask`[private]`

Definition at line 333 of file OgreCompositionPass.h.

StencilOperation Ogre::CompositionPass::mStencilPassOp`[private]`

Definition at line 336 of file OgreCompositionPass.h.

uint32 Ogre::CompositionPass::mStencilRefValue`[private]`

Definition at line 332 of file OgreCompositionPass.h.

bool Ogre::CompositionPass::mStencilTwoSidedOperation`[private]`

Definition at line 337 of file OgreCompositionPass.h.

PassType Ogre::CompositionPass::mType`[private]`

Type of composition pass.

Definition at line 308 of file OgreCompositionPass.h.

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

- OgreCompositionPass.h

Copyright © 2008 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Sun May 8 2011 20:28:11