28#ifndef __CompositionPass_H__
29#define __CompositionPass_H__
232 : name(_name), mrtIndex(_mrtIndex) {}
241 void setInput(
size_t id,
const String &input=StringUtil::BLANK,
size_t mrtIndex=0);
#define OGRE_MAX_TEXTURE_LAYERS
Define max number of texture layers allowed per pass on any card.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
Class representing colour.
Object representing one pass or operation in a composition sequence.
void setStencilMask(uint32 value)
Set stencil mask.
void clearAllInputs()
Clear all inputs.
void setCustomType(const String &customType)
Set the type name of this custom composition pass.
bool getQuadCorners(Real &left, Real &top, Real &right, Real &bottom) const
Get quad normalised positions [-1;1]x[-1;1].
bool mStencilTwoSidedOperation
CompareFunction getStencilFunc() const
Get stencil compare function.
void setQuadCorners(Real left, Real top, Real right, Real bottom)
Set quad normalised positions [-1;1]x[-1;1].
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 setStencilRefValue(uint32 value)
Set stencil reference value.
void setClearDepth(Real depth)
Set the viewport clear depth (defaults to 1.0)
void setMaterial(const MaterialPtr &mat)
Set the material used by this pass.
String mCustomType
The type name of the custom composition pass.
uint32 getStencilRefValue() const
Get stencil reference value.
uint32 mClearStencil
Clear stencil value (in case of PT_CLEAR)
bool getStencilCheck() const
Get stencil check enable.
StencilOperation mStencilDepthFailOp
StencilOperation getStencilFailOp() const
Get stencil fail operation.
uint32 mClearBuffers
Clear buffers (in case of PT_CLEAR)
Real getClearDepth() const
Get the viewport clear depth (defaults to 1.0)
void setInput(size_t id, const String &input=StringUtil::BLANK, size_t mrtIndex=0)
Set an input local texture.
void setMaterialName(const String &name)
Set the material used by this pass.
bool getStencilTwoSidedOperation() const
Get two sided stencil operation.
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.
CompositionPass(CompositionTargetPass *parent)
const MaterialPtr & getMaterial() const
Get the material used by this pass.
bool mQuadCornerModified
True if quad should not cover whole screen.
CompositionTargetPass * mParent
Parent technique.
PassType getType() const
Get the type of composition pass.
StencilOperation getStencilPassOp() const
Get stencil pass operation.
Real mQuadLeft
quad positions in normalised coordinates [-1;1]x[-1;1] (in case of PT_RENDERQUAD)
void setStencilFunc(CompareFunction value)
Set stencil compare function.
StencilOperation mStencilFailOp
PassType mType
Type of composition pass.
uint32 getClearBuffers() const
Get the viewport clear buffers.
const String & getMaterialScheme(void) const
Get the material scheme used by this pass.
size_t getNumInputs() const
Get the number of inputs used.
bool getQuadFarCornersViewSpace() const
Returns true if the far corners provided in the quad are in view space.
void setType(PassType type)
Set the type of composition pass.
bool mStencilCheck
Stencil operation parameters.
CompositionTargetPass * getParent()
Get parent object.
void setClearBuffers(uint32 val)
Would be nice to have for RENDERSCENE: flags to: exclude transparents override material (at least – c...
void setClearColour(ColourValue val)
Set the viewport clear colour (defaults to 0,0,0,0)
PassType
Enumeration that enumerates the various composition pass types.
@ PT_RENDERQUAD
Render the scene or part of it.
@ PT_STENCIL
Clear target to one colour.
@ PT_RENDERSCENE
Set stencil operation.
uint32 mIdentifier
Identifier for this pass.
const InputTex & getInput(size_t id) const
Get the value of an input.
uint32 getIdentifier() const
Get the identifier for this pass.
uint8 getFirstRenderQueue() const
Get the first render queue to be rendered in this pass (inclusive)
ColourValue mClearColour
Clear colour (in case of PT_CLEAR)
bool _isSupported(void)
Determine if this target pass is supported on the current rendering device.
uint8 mFirstRenderQueue
[first,last] render queue to render this pass (in case of PT_RENDERSCENE)
void setQuadFarCorners(bool farCorners, bool farCornersViewSpace)
Sets the use of camera frustum far corners provided in the quad's normals.
MaterialPtr mMaterial
Material used for rendering.
CompareFunction mStencilFunc
String mMaterialScheme
Material scheme name.
const ColourValue & getClearColour() const
Get the viewport clear colour (defaults to 0,0,0,0)
void setClearStencil(uint32 value)
Set the viewport clear stencil value (defaults to 0)
void setStencilFailOp(StencilOperation value)
Set stencil fail operation.
const String & getCustomType() const
Get the type name of this custom composition pass.
StencilOperation getStencilDepthFailOp() const
Get stencil depth fail operation.
uint32 getClearStencil() const
Get the viewport clear stencil value (defaults to 0)
bool getQuadFarCorners() const
Returns true if camera frustum far corners are provided in the quad.
void setStencilDepthFailOp(StencilOperation value)
Set stencil depth fail operation.
StencilOperation mStencilPassOp
Real mClearDepth
Clear depth (in case of PT_CLEAR)
void setStencilCheck(bool value)
Set stencil check on or off.
uint32 getStencilMask() const
Get stencil mask.
void setStencilTwoSidedOperation(bool value)
Set two sided stencil operation.
void setMaterialScheme(const String &schemeName)
Set the material scheme used by this pass.
void setStencilPassOp(StencilOperation value)
Set stencil pass operation.
Object representing one render to a RenderTarget or Viewport in the Ogre Composition framework.
Utility class for manipulating Strings.
CompareFunction
Comparison functions used for the depth/stencil buffer operations and others.
StencilOperation
Enum describing the various actions which can be taken on the stencil buffer.
float Real
Software floating point type.