Ogre::CompositionPass Class Reference
[Effects]

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 ()
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 MaterialPtrgetMaterial () 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 StringgetMaterialScheme (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 ColourValuegetClearColour () 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 InputTexgetInput (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.
CompositionTargetPassgetParent ()
 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 StringgetCustomType () 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

CompositionTargetPassmParent
 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

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,
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,
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 118 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 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  )  [inherited]

Definition at line 72 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 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

Clear buffers (in case of PT_CLEAR).

Definition at line 319 of file OgreCompositionPass.h.

Clear colour (in case of PT_CLEAR).

Definition at line 321 of file OgreCompositionPass.h.

Clear depth (in case of PT_CLEAR).

Definition at line 323 of file OgreCompositionPass.h.

Clear stencil value (in case of PT_CLEAR).

Definition at line 325 of file OgreCompositionPass.h.

Definition at line 349 of file OgreCompositionPass.h.

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

Definition at line 314 of file OgreCompositionPass.h.

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.

Definition at line 315 of file OgreCompositionPass.h.

Material used for rendering.

Definition at line 312 of file OgreCompositionPass.h.

Material scheme name.

Definition at line 317 of file OgreCompositionPass.h.

Parent technique.

Definition at line 306 of file OgreCompositionPass.h.

Definition at line 345 of file OgreCompositionPass.h.

true if quad should not cover whole screen

Definition at line 340 of file OgreCompositionPass.h.

Definition at line 347 of file OgreCompositionPass.h.

Definition at line 347 of file OgreCompositionPass.h.

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

Definition at line 342 of file OgreCompositionPass.h.

Definition at line 344 of file OgreCompositionPass.h.

Definition at line 343 of file OgreCompositionPass.h.

Stencil operation parameters.

Definition at line 330 of file OgreCompositionPass.h.

Definition at line 335 of file OgreCompositionPass.h.

Definition at line 334 of file OgreCompositionPass.h.

Definition at line 331 of file OgreCompositionPass.h.

Definition at line 333 of file OgreCompositionPass.h.

Definition at line 336 of file OgreCompositionPass.h.

Definition at line 332 of file OgreCompositionPass.h.

Definition at line 337 of file OgreCompositionPass.h.

Type of composition pass.

Definition at line 308 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 Fri May 25 23:37:15 2012