OGRE  1.9
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::CompositionPass Class Reference

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

#include <OgreCompositionPass.h>

+ Inheritance diagram for Ogre::CompositionPass:
+ Collaboration diagram for Ogre::CompositionPass:

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...
 
uint32 getClearBuffers () const
 Get the viewport clear buffers. More...
 
const ColourValuegetClearColour () 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 StringgetCustomType () 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 InputTexgetInput (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 MaterialPtrgetMaterial () const
 Get the material used by this pass. More...
 
const StringgetMaterialScheme (void) const
 Get the material scheme used by this pass. More...
 
size_t getNumInputs () const
 Get the number of inputs used. More...
 
CompositionTargetPassgetParent ()
 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...
 
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 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 More...
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *ptr)
 placement operator new More...
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info More...
 
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) More...
 
void setClearColour (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=StringUtil::BLANK, 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 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...
 

Private Attributes

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

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

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
idInput 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)
inlineinherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

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

Definition at line 102 of file OgreMemoryAllocatedObject.h.

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

Definition at line 108 of file OgreMemoryAllocatedObject.h.

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

Definition at line 113 of file OgreMemoryAllocatedObject.h.

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

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 
)
inlineinherited

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)
inlineinherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
)
inlineinherited

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 
)
inlineinherited

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)
inlineinherited

Definition at line 91 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
valis 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
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
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

uint32 Ogre::CompositionPass::mClearBuffers
private

Clear buffers (in case of PT_CLEAR)

Definition at line 320 of file OgreCompositionPass.h.

ColourValue Ogre::CompositionPass::mClearColour
private

Clear colour (in case of PT_CLEAR)

Definition at line 322 of file OgreCompositionPass.h.

Real Ogre::CompositionPass::mClearDepth
private

Clear depth (in case of PT_CLEAR)

Definition at line 324 of file OgreCompositionPass.h.

uint32 Ogre::CompositionPass::mClearStencil
private

Clear stencil value (in case of PT_CLEAR)

Definition at line 326 of file OgreCompositionPass.h.

String Ogre::CompositionPass::mCustomType
private

The type name of the custom composition pass.

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

uint32 Ogre::CompositionPass::mIdentifier
private

Identifier for this pass.

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

uint8 Ogre::CompositionPass::mLastRenderQueue
private

Definition at line 316 of file OgreCompositionPass.h.

MaterialPtr Ogre::CompositionPass::mMaterial
private

Material used for rendering.

Definition at line 313 of file OgreCompositionPass.h.

String Ogre::CompositionPass::mMaterialScheme
private

Material scheme name.

Definition at line 318 of file OgreCompositionPass.h.

CompositionTargetPass* Ogre::CompositionPass::mParent
private

Parent technique.

Definition at line 307 of file OgreCompositionPass.h.

Real Ogre::CompositionPass::mQuadBottom
private

Definition at line 346 of file OgreCompositionPass.h.

bool Ogre::CompositionPass::mQuadCornerModified
private

True if quad should not cover whole screen.

Definition at line 341 of file OgreCompositionPass.h.

bool Ogre::CompositionPass::mQuadFarCorners
private

Definition at line 348 of file OgreCompositionPass.h.

bool Ogre::CompositionPass::mQuadFarCornersViewSpace
private

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

Real Ogre::CompositionPass::mQuadRight
private

Definition at line 345 of file OgreCompositionPass.h.

Real Ogre::CompositionPass::mQuadTop
private

Definition at line 344 of file OgreCompositionPass.h.

bool Ogre::CompositionPass::mStencilCheck
private

Stencil operation parameters.

Definition at line 331 of file OgreCompositionPass.h.

StencilOperation Ogre::CompositionPass::mStencilDepthFailOp
private

Definition at line 336 of file OgreCompositionPass.h.

StencilOperation Ogre::CompositionPass::mStencilFailOp
private

Definition at line 335 of file OgreCompositionPass.h.

CompareFunction Ogre::CompositionPass::mStencilFunc
private

Definition at line 332 of file OgreCompositionPass.h.

uint32 Ogre::CompositionPass::mStencilMask
private

Definition at line 334 of file OgreCompositionPass.h.

StencilOperation Ogre::CompositionPass::mStencilPassOp
private

Definition at line 337 of file OgreCompositionPass.h.

uint32 Ogre::CompositionPass::mStencilRefValue
private

Definition at line 333 of file OgreCompositionPass.h.

bool Ogre::CompositionPass::mStencilTwoSidedOperation
private

Definition at line 338 of file OgreCompositionPass.h.

PassType Ogre::CompositionPass::mType
private

Type of composition pass.

Definition at line 309 of file OgreCompositionPass.h.


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