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.

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 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 ()
 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 ColourValuegetClearColour ()
 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=StringUtil::BLANK, size_t mrtIndex=0)
 Set an input local texture.
const InputTexgetInput (size_t id)
 Get the value of an input.
size_t getNumInputs ()
 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 * 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
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

Classes

struct  InputTex
 Inputs (for material used for rendering the quad). 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 41 of file OgreCompositionPass.h.


Member Enumeration Documentation

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 = 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

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

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

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

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 62 of file OgreMemoryAllocatedObject.h.

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

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

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

Definition at line 84 of file OgreMemoryAllocatedObject.h.

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

Definition at line 89 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
) [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 101 of file OgreMemoryAllocatedObject.h.

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

Definition at line 106 of file OgreMemoryAllocatedObject.h.

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

Definition at line 112 of file OgreMemoryAllocatedObject.h.


Member Data Documentation

Parent technique.

Definition at line 260 of file OgreCompositionPass.h.

Type of composition pass.

Definition at line 262 of file OgreCompositionPass.h.

Identifier for this pass.

Definition at line 264 of file OgreCompositionPass.h.

Material used for rendering.

Definition at line 266 of file OgreCompositionPass.h.

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

Definition at line 268 of file OgreCompositionPass.h.

Definition at line 269 of file OgreCompositionPass.h.

Clear buffers (in case of PT_CLEAR).

Definition at line 271 of file OgreCompositionPass.h.

Clear colour (in case of PT_CLEAR).

Definition at line 273 of file OgreCompositionPass.h.

Clear depth (in case of PT_CLEAR).

Definition at line 275 of file OgreCompositionPass.h.

Clear stencil value (in case of PT_CLEAR).

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

Stencil operation parameters.

Definition at line 282 of file OgreCompositionPass.h.

Definition at line 283 of file OgreCompositionPass.h.

Definition at line 284 of file OgreCompositionPass.h.

Definition at line 285 of file OgreCompositionPass.h.

Definition at line 286 of file OgreCompositionPass.h.

Definition at line 287 of file OgreCompositionPass.h.

Definition at line 288 of file OgreCompositionPass.h.

Definition at line 289 of file OgreCompositionPass.h.

true if quad should not cover whole screen

Definition at line 292 of file OgreCompositionPass.h.

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

Definition at line 294 of file OgreCompositionPass.h.

Definition at line 295 of file OgreCompositionPass.h.

Definition at line 296 of file OgreCompositionPass.h.

Definition at line 297 of file OgreCompositionPass.h.


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

Copyright © 2008 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sun Sep 27 22:03:03 2009