| OGRE 1.11.1 Object-Oriented Graphics Rendering Engine

Classes | Public Types | Public Member Functions | List of all members
Ogre::CompositionPass Class Reference
Core » Effects

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

`#include <OgreCompositionPass.h>`

Inheritance diagram for Ogre::CompositionPass:
[legend]

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

## Member Enumeration Documentation

## ◆ PassType

enum Ogre::CompositionPass::PassType

Enumeration that enumerates the various composition pass types.

Enumerator
PT_CLEAR |
PT_STENCIL | Clear target to one colour.
PT_RENDERSCENE | Set stencil operation.
PT_RENDERQUAD | Render the scene or part of it.
PT_RENDERCUSTOM | Render a full screen quad. Render a custom sequence

## Constructor & Destructor Documentation

## ◆ CompositionPass()

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

## ◆ ~CompositionPass()

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

## Member Function Documentation

## ◆ setType()

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

Set the type of composition pass.

## ◆ getType()

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

Get the type of composition pass.

## ◆ setIdentifier()

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.

## ◆ getIdentifier()

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

Get the identifier for this pass.

## ◆ setMaterial()

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

Set the material used by this pass.

Note
  applies when PassType is RENDERQUAD

## ◆ setMaterialName()

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

Set the material used by this pass.

Note
  applies when PassType is RENDERQUAD

## ◆ getMaterial()

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

Get the material used by this pass.

Note
  applies when PassType is RENDERQUAD

## ◆ setFirstRenderQueue()

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

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

Note
  applies when PassType is RENDERSCENE

## ◆ getFirstRenderQueue()

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

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

Note
  applies when PassType is RENDERSCENE

## ◆ setLastRenderQueue()

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

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

Note
  applies when PassType is RENDERSCENE

## ◆ getLastRenderQueue()

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

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

Note
  applies when PassType is RENDERSCENE

## ◆ setMaterialScheme()

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.

## ◆ getMaterialScheme()

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.

## ◆ setClearBuffers()

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

## ◆ getClearBuffers()

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

Get the viewport clear buffers.

Note
  applies when PassType is CLEAR

## ◆ setClearColour()

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

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

Note
  applies when PassType is CLEAR

## ◆ getClearColour()

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

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

Note
  applies when PassType is CLEAR

## ◆ setAutomaticColour()

void Ogre::CompositionPass::setAutomaticColour | ( | bool | val | ) |

Set the clear colour to be the background colour of the original viewport.

Note
  applies when PassType is CLEAR

## ◆ getAutomaticColour()

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

Retrieves if the clear colour is automatically setted to the background colour of the original viewport.

Note
  applies when PassType is CLEAR

## ◆ setClearDepth()

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

Set the viewport clear depth (defaults to 1.0)

Note
  applies when PassType is CLEAR

## ◆ getClearDepth()

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

Get the viewport clear depth (defaults to 1.0)

Note
  applies when PassType is CLEAR

## ◆ setClearStencil()

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

Set the viewport clear stencil value (defaults to 0)

Note
  applies when PassType is CLEAR

## ◆ getClearStencil()

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

Get the viewport clear stencil value (defaults to 0)

Note
  applies when PassType is CLEAR

## ◆ setStencilCheck()

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

Set stencil check on or off.

Note
  applies when PassType is STENCIL

## ◆ getStencilCheck()

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

Get stencil check enable.

Note
  applies when PassType is STENCIL

## ◆ setStencilFunc()

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

Set stencil compare function.

Note
  applies when PassType is STENCIL

## ◆ getStencilFunc()

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

Get stencil compare function.

Note
  applies when PassType is STENCIL

## ◆ setStencilRefValue()

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

Set stencil reference value.

Note
  applies when PassType is STENCIL

## ◆ getStencilRefValue()

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

Get stencil reference value.

Note
  applies when PassType is STENCIL

## ◆ setStencilMask()

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

Set stencil mask.

Note
  applies when PassType is STENCIL

## ◆ getStencilMask()

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

Get stencil mask.

Note
  applies when PassType is STENCIL

## ◆ setStencilFailOp()

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

Set stencil fail operation.

Note
  applies when PassType is STENCIL

## ◆ getStencilFailOp()

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

Get stencil fail operation.

Note
  applies when PassType is STENCIL

## ◆ setStencilDepthFailOp()

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

Set stencil depth fail operation.

Note
  applies when PassType is STENCIL

## ◆ getStencilDepthFailOp()

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

Get stencil depth fail operation.

Note
  applies when PassType is STENCIL

## ◆ setStencilPassOp()

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

Set stencil pass operation.

Note
  applies when PassType is STENCIL

## ◆ getStencilPassOp()

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

Get stencil pass operation.

Note
  applies when PassType is STENCIL

## ◆ setStencilTwoSidedOperation()

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

Set two sided stencil operation.

Note
  applies when PassType is STENCIL

## ◆ getStencilTwoSidedOperation()

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

Get two sided stencil operation.

Note
  applies when PassType is STENCIL

## ◆ setStencilReadBackAsTextureOperation()

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

Set read back stencil-depth buffer as texture operation.

Note
  applies when PassType is STENCIL

## ◆ getStencilReadBackAsTextureOperation()

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

Get read back stencil-depth buffer.

Note
  applies when PassType is STENCIL

## ◆ setInput()

void Ogre::CompositionPass::setInput | ( | size_t | id,
|  | const String & | input = `BLANKSTRING`,
|  | 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

## ◆ getInput()

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

## ◆ getNumInputs()

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

Get the number of inputs used.

Note
  applies when PassType is RENDERQUAD

## ◆ clearAllInputs()

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

Clear all inputs.

Note
  applies when PassType is RENDERQUAD

## ◆ getParent()

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

Get parent object.

Note
  applies when PassType is RENDERQUAD

## ◆ _isSupported()

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

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

## ◆ setQuadCorners()

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

## ◆ getQuadCorners()

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

## ◆ setQuadFarCorners()

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

## ◆ getQuadFarCorners()

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

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

Note
  applies when PassType is RENDERQUAD

## ◆ getQuadFarCornersViewSpace()

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

## ◆ setCustomType()

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

## ◆ getCustomType()

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

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

- OgreCompositionPass.h