Classes | Public Types | Public Member Functions | Private Attributes
Ogre::CompositionPass Class Reference

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

#include <OgreCompositionPass.h>

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

Private Attributes

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 mCustomType
 The type name of the custom composition pass.
uint8 mFirstRenderQueue
 [first,last] render queue to render this pass (in case of PT_RENDERSCENE)
uint32 mIdentifier
 Identifier for this pass.
InputTex mInputs [OGRE_MAX_TEXTURE_LAYERS]
 Inputs (for material used for rendering the quad).
uint8 mLastRenderQueue
MaterialPtr mMaterial
 Material used for rendering.
String mMaterialScheme
 Material scheme name.
CompositionTargetPassmParent
 Parent technique.
Real mQuadBottom
bool mQuadCornerModified
 True if quad should not cover whole screen.
bool mQuadFarCorners
bool mQuadFarCornersViewSpace
Real mQuadLeft
 quad positions in normalised coordinates [-1;1]x[-1;1] (in case of PT_RENDERQUAD)
Real mQuadRight
Real mQuadTop
bool mStencilCheck
 Stencil operation parameters.
StencilOperation mStencilDepthFailOp
StencilOperation mStencilFailOp
CompareFunction mStencilFunc
uint32 mStencilMask
StencilOperation mStencilPassOp
uint32 mStencilRefValue
bool mStencilTwoSidedOperation
PassType mType
 Type of composition pass.

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


Member Enumeration Documentation

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

Definition at line 55 of file OgreCompositionPass.h.


Constructor & Destructor Documentation


Member Function Documentation

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

Clear all inputs.

Note:
applies when PassType is RENDERQUAD

Get the viewport clear buffers.

Note:
applies when PassType is CLEAR

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

Note:
applies when PassType is CLEAR

Get the viewport clear depth (defaults to 1.0)

Note:
applies when PassType is CLEAR

Get the viewport clear stencil value (defaults to 0)

Note:
applies when PassType is CLEAR

Get the type name of this custom composition pass.

Note:
applies when PassType is RENDERCUSTOM
See also:
CompositorManager::registerCustomCompositionPass

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

Note:
applies when PassType is RENDERSCENE

Get the identifier for this pass.

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

Get the value of an input.

Parameters:
idInput to get. Must be in 0..OGRE_MAX_TEXTURE_LAYERS-1.
Note:
applies when PassType is RENDERQUAD

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

Note:
applies when PassType is RENDERSCENE

Get the material used by this pass.

Note:
applies when PassType is RENDERQUAD

Get the material scheme used by this pass.

Remarks:
Only applicable to passes that render the scene.
See also:
Technique::setScheme.

Get the number of inputs used.

Note:
applies when PassType is RENDERQUAD

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

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

Note:
applies when PassType is RENDERQUAD

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

Note:
applies when PassType is RENDERQUAD

Get stencil check enable.

Note:
applies when PassType is STENCIL

Get stencil depth fail operation.

Note:
applies when PassType is STENCIL

Get stencil fail operation.

Note:
applies when PassType is STENCIL

Get stencil compare function.

Note:
applies when PassType is STENCIL

Get stencil mask.

Note:
applies when PassType is STENCIL

Get stencil pass operation.

Note:
applies when PassType is STENCIL

Get stencil reference value.

Note:
applies when PassType is STENCIL

Get two sided stencil operation.

Note:
applies when PassType is STENCIL

Get the type of composition pass.

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

Definition at line 96 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
) [inherited]

Definition at line 102 of file OgreMemoryAllocatedObject.h.

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

Definition at line 108 of file OgreMemoryAllocatedObject.h.

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

Definition at line 113 of file OgreMemoryAllocatedObject.h.

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

Definition at line 119 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 68 of file OgreMemoryAllocatedObject.h.

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

Definition at line 73 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 79 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 86 of file OgreMemoryAllocatedObject.h.

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

Definition at line 91 of file OgreMemoryAllocatedObject.h.

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:
valis a combination of FBT_COLOUR, FBT_DEPTH, FBT_STENCIL.
Note:
applies when PassType is CLEAR

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

Note:
applies when PassType is CLEAR

Set the viewport clear depth (defaults to 1.0)

Note:
applies when PassType is CLEAR

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

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

Note:
applies when PassType is RENDERSCENE

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:
idInput to set. Must be in 0..OGRE_MAX_TEXTURE_LAYERS-1
inputWhich texture to bind to this input. An empty string clears the input.
mrtIndexWhich surface of an MRT to retrieve
Note:
applies when PassType is RENDERQUAD

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

Note:
applies when PassType is RENDERSCENE

Set the material used by this pass.

Note:
applies when PassType is RENDERQUAD

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

Set stencil check on or off.

Note:
applies when PassType is STENCIL

Set stencil depth fail operation.

Note:
applies when PassType is STENCIL

Set stencil fail operation.

Note:
applies when PassType is STENCIL

Set stencil compare function.

Note:
applies when PassType is STENCIL

Set stencil mask.

Note:
applies when PassType is STENCIL

Set stencil pass operation.

Note:
applies when PassType is STENCIL

Set stencil reference value.

Note:
applies when PassType is STENCIL

Set two sided stencil operation.

Note:
applies when PassType is STENCIL

Set the type of composition pass.


Member Data Documentation

Clear buffers (in case of PT_CLEAR)

Definition at line 320 of file OgreCompositionPass.h.

Clear colour (in case of PT_CLEAR)

Definition at line 322 of file OgreCompositionPass.h.

Clear depth (in case of PT_CLEAR)

Definition at line 324 of file OgreCompositionPass.h.

Clear stencil value (in case of PT_CLEAR)

Definition at line 326 of file OgreCompositionPass.h.

The type name of the custom composition pass.

Definition at line 350 of file OgreCompositionPass.h.

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

Definition at line 315 of file OgreCompositionPass.h.

Identifier for this pass.

Definition at line 311 of file OgreCompositionPass.h.

Inputs (for material used for rendering the quad).

An empty string signifies that no input is used

Definition at line 329 of file OgreCompositionPass.h.

Definition at line 316 of file OgreCompositionPass.h.

Material used for rendering.

Definition at line 313 of file OgreCompositionPass.h.

Material scheme name.

Definition at line 318 of file OgreCompositionPass.h.

Parent technique.

Definition at line 307 of file OgreCompositionPass.h.

Definition at line 346 of file OgreCompositionPass.h.

True if quad should not cover whole screen.

Definition at line 341 of file OgreCompositionPass.h.

Definition at line 348 of file OgreCompositionPass.h.

Definition at line 348 of file OgreCompositionPass.h.

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

Definition at line 343 of file OgreCompositionPass.h.

Definition at line 345 of file OgreCompositionPass.h.

Definition at line 344 of file OgreCompositionPass.h.

Stencil operation parameters.

Definition at line 331 of file OgreCompositionPass.h.

Definition at line 336 of file OgreCompositionPass.h.

Definition at line 335 of file OgreCompositionPass.h.

Definition at line 332 of file OgreCompositionPass.h.

Definition at line 334 of file OgreCompositionPass.h.

Definition at line 337 of file OgreCompositionPass.h.

Definition at line 333 of file OgreCompositionPass.h.

Definition at line 338 of file OgreCompositionPass.h.

Type of composition pass.

Definition at line 309 of file OgreCompositionPass.h.


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

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Mon Jul 27 2020 13:40:53