# Ogre::CompositionPass Class Reference

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

`#include <OgreCompositionPass.h>`

Inheritance diagram for Ogre::CompositionPass:

[legend]

List of all members.

## Public Types

enum | PassType { PT_CLEAR, PT_STENCIL, PT_RENDERSCENE, PT_RENDERQUAD }
| 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 ()
| 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 ()
| Get the last render queue to be rendered in this pass (inclusive).
void | setClearBuffers (uint32 val)
| Would be nice to have for RENDERSCENE: flags to: exclude transparents override material (at least -- color).
uint32 | getClearBuffers ()
| Get the viewport clear buffers.
void | setClearColour (ColourValue val)
| Set the viewport clear colour (defaults to 0,0,0,0).
const ColourValue & | getClearColour ()
| 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 ()
| Get the viewport clear depth (defaults to 1.0).
void | setClearStencil (uint32 value)
| Set the viewport clear stencil value (defaults to 0).
uint32 | getClearStencil ()
| Get the viewport clear stencil value (defaults to 0).
void | setStencilCheck (bool value)
| Set stencil check on or off.
bool | getStencilCheck ()
| Get stencil check enable.
void | setStencilFunc (CompareFunction value)
| Set stencil compare function.
CompareFunction | getStencilFunc ()
| Get stencil compare function.
void | setStencilRefValue (uint32 value)
| Set stencil reference value.
uint32 | getStencilRefValue ()
| Get stencil reference value.
void | setStencilMask (uint32 value)
| Set stencil mask.
uint32 | getStencilMask ()
| Get stencil mask.
void | setStencilFailOp (StencilOperation value)
| Set stencil fail operation.
StencilOperation | getStencilFailOp ()
| Get stencil fail operation.
void | setStencilDepthFailOp (StencilOperation value)
| Set stencil depth fail operation.
StencilOperation | getStencilDepthFailOp ()
| Get stencil depth fail operation.
void | setStencilPassOp (StencilOperation value)
| Set stencil pass operation.
StencilOperation | getStencilPassOp ()
| Get stencil pass operation.
void | setStencilTwoSidedOperation (bool value)
| Set two sided stencil operation.
bool | getStencilTwoSidedOperation ()
| 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)
| Get the value of an input.
size_t | getNumInputs ()
| 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 * | 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
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

## Classes

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

## 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 41 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 |

Definition at line 49 of file OgreCompositionPass.h.

## Constructor & Destructor Documentation

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

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

## Member Function Documentation

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

Set the type of composition pass.

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

Get the type of composition pass.

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.

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

Get the identifier for this pass.

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

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

Get the material used by this pass.

Note:
  applies when PassType is RENDERQUAD

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

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

Note:
  applies when PassType is RENDERSCENE

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

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

Note:
  applies when PassType is RENDERSCENE

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

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

Note:
  applies when PassType is RENDERSCENE

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

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

Note:
  applies when PassType is RENDERSCENE

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

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

Get the viewport clear buffers.

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

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

Get 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

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

Get 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

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

Get the viewport clear stencil value (defaults to 0).

Note:
  applies when PassType is CLEAR

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

Set stencil check on or off.

Note:
  applies when PassType is STENCIL

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

Get stencil check enable.

Note:
  applies when PassType is STENCIL

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

Set stencil compare function.

Note:
  applies when PassType is STENCIL

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

Get stencil compare function.

Note:
  applies when PassType is STENCIL

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

Set stencil reference value.

Note:
  applies when PassType is STENCIL

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

Get stencil reference value.

Note:
  applies when PassType is STENCIL

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

Set stencil mask.

Note:
  applies when PassType is STENCIL

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

Get stencil mask.

Note:
  applies when PassType is STENCIL

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

Set stencil fail operation.

Note:
  applies when PassType is STENCIL

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

Get stencil fail operation.

Note:
  applies when PassType is STENCIL

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

Set stencil depth fail operation.

Note:
  applies when PassType is STENCIL

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

Get stencil depth fail operation.

Note:
  applies when PassType is STENCIL

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

Set stencil pass operation.

Note:
  applies when PassType is STENCIL

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

Get stencil pass operation.

Note:
  applies when PassType is STENCIL

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

Set two sided stencil operation.

Note:
  applies when PassType is STENCIL

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

Get two sided stencil operation.

Note:
  applies when PassType is STENCIL

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

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

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

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

Get the number of inputs used.

Note:
  applies when PassType is RENDERQUAD

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

Clear all inputs.

Note:
  applies when PassType is RENDERQUAD

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

Get parent object.

Note:
  applies when PassType is RENDERQUAD

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

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

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

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

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 62 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

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

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 73 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 79 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

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

Definition at line 84 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

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

Definition at line 89 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |  |
| ) |  |  | `[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 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

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

Definition at line 106 of file OgreMemoryAllocatedObject.h.

template<class Alloc>

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

Definition at line 112 of file OgreMemoryAllocatedObject.h.

## Member Data Documentation

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

Parent technique.

Definition at line 260 of file OgreCompositionPass.h.

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

Type of composition pass.

Definition at line 262 of file OgreCompositionPass.h.

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

Identifier for this pass.

Definition at line 264 of file OgreCompositionPass.h.

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

Material used for rendering.

Definition at line 266 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 268 of file OgreCompositionPass.h.

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

Definition at line 269 of file OgreCompositionPass.h.

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

Clear buffers (in case of PT_CLEAR).

Definition at line 271 of file OgreCompositionPass.h.

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

Clear colour (in case of PT_CLEAR).

Definition at line 273 of file OgreCompositionPass.h.

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

Clear depth (in case of PT_CLEAR).

Definition at line 275 of file OgreCompositionPass.h.

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

Clear stencil value (in case of PT_CLEAR).

Definition at line 277 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 280 of file OgreCompositionPass.h.

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

Stencil operation parameters.

Definition at line 282 of file OgreCompositionPass.h.

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

Definition at line 283 of file OgreCompositionPass.h.

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

Definition at line 284 of file OgreCompositionPass.h.

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

Definition at line 285 of file OgreCompositionPass.h.

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

Definition at line 286 of file OgreCompositionPass.h.

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

Definition at line 287 of file OgreCompositionPass.h.

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

Definition at line 288 of file OgreCompositionPass.h.

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

Definition at line 289 of file OgreCompositionPass.h.

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

true if quad should not cover whole screen

Definition at line 292 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 294 of file OgreCompositionPass.h.

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

Definition at line 295 of file OgreCompositionPass.h.

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

Definition at line 296 of file OgreCompositionPass.h.

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

Definition at line 297 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 2.5 License.
Last modified Sun Dec 27 17:31:45 2009