# Ogre::CompositionPass Class Reference

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

`#include <OgreCompositionPass.h>`

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="")
| Set an input local texture.
const String & | 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.

## 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).
String | 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

## Detailed Description

Object representing one pass or operation in a composition sequence.

This provides a method to conviently 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 = `""` |
| ) |  |  |

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.

Note:
  applies when PassType is RENDERQUAD

const String& 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.

## Member Data Documentation

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

Parent technique.

Definition at line 237 of file OgreCompositionPass.h.

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

Type of composition pass.

Definition at line 239 of file OgreCompositionPass.h.

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

Identifier for this pass.

Definition at line 241 of file OgreCompositionPass.h.

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

Material used for rendering.

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

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

Definition at line 246 of file OgreCompositionPass.h.

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

Clear buffers (in case of PT_CLEAR).

Definition at line 248 of file OgreCompositionPass.h.

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

Clear colour (in case of PT_CLEAR).

Definition at line 250 of file OgreCompositionPass.h.

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

Clear depth (in case of PT_CLEAR).

Definition at line 252 of file OgreCompositionPass.h.

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

Clear stencil value (in case of PT_CLEAR).

Definition at line 254 of file OgreCompositionPass.h.

String 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 257 of file OgreCompositionPass.h.

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

Stencil operation parameters.

Definition at line 259 of file OgreCompositionPass.h.

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

Definition at line 260 of file OgreCompositionPass.h.

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

Definition at line 261 of file OgreCompositionPass.h.

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

Definition at line 262 of file OgreCompositionPass.h.

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

Definition at line 263 of file OgreCompositionPass.h.

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

Definition at line 264 of file OgreCompositionPass.h.

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

Definition at line 265 of file OgreCompositionPass.h.

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

Definition at line 266 of file OgreCompositionPass.h.

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

- OgreCompositionPass.h

Copyright © 2000-2005 by The OGRE Team
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat May 10 16:25:29 2008