OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::CompositorPassClearDef Class Reference

#include <OgreCompositorPassClearDef.h>

+ Inheritance diagram for Ogre::CompositorPassClearDef:

Public Member Functions

 CompositorPassClearDef (CompositorTargetDef *parentTargetDef)
 By default clear all buffers. More...
 
void setBuffersToClear (uint32 buffersToClear)
 Sets which buffers you want to clear for each attachment. More...
 
- Public Member Functions inherited from Ogre::CompositorPassDef
 CompositorPassDef (CompositorPassType passType, CompositorTargetDef *parentTargetDef)
 
virtual ~CompositorPassDef ()
 
const CompositorTargetDefgetParentTargetDef () const
 
uint32 getRtIndex () const
 
CompositorPassType getType () const
 
void setAllClearColours (const ColourValue &clearValue)
 
void setAllLoadActions (LoadAction::LoadAction loadAction)
 
void setAllStoreActions (StoreAction::StoreAction storeAction)
 

Public Attributes

bool mNonTilersOnly
 Only execute this pass on non-tilers. More...
 
- Public Attributes inherited from Ogre::CompositorPassDef
ColourValue mClearColour [OGRE_MAX_MULTIPLE_RENDER_TARGETS]
 
float mClearDepth
 
uint32 mClearStencil
 
bool mColourWrite
 When false will not really bind the RenderTarget for rendering and use a null colour buffer instead. More...
 
uint8 mExecutionMask
 
IdStringVec mExposedTextures
 
bool mFlushCommandBuffers
 Whether to flush the command buffer at the end of the pass. More...
 
uint32 mIdentifier
 Custom value in case there's a listener attached (to identify the pass) More...
 
bool mIncludeOverlays
 TODO: Refactor OgreOverlay to remove this design atrocity. More...
 
LoadAction::LoadAction mLoadActionColour [OGRE_MAX_MULTIPLE_RENDER_TARGETS]
 
LoadAction::LoadAction mLoadActionDepth
 
LoadAction::LoadAction mLoadActionStencil
 
uint32 mNumInitialPasses
 Number of times to perform the pass before stopping. -1 to never stop. More...
 
uint32 mNumViewports
 
String mProfilingId
 
bool mReadOnlyDepth
 
bool mReadOnlyStencil
 
bool mShadowMapFullViewport
 Only used if mShadowMapIdx is valid (if pass is owned by Shadow Nodes). More...
 
uint32 mShadowMapIdx
 Shadow map index it belongs to (only filled in passes owned by Shadow Nodes) More...
 
bool mSkipLoadStoreSemantics
 Ignore mLoadAction*‍/mStoreAction*. More...
 
StoreAction::StoreAction mStoreActionColour [OGRE_MAX_MULTIPLE_RENDER_TARGETS]
 
StoreAction::StoreAction mStoreActionDepth
 
StoreAction::StoreAction mStoreActionStencil
 
UavDependencyVec mUavDependencies
 
uint8 mViewportModifierMask
 
ViewportRect mVpRect [16]
 Viewport's region to draw. More...
 
bool mWarnIfRtvWasFlushed
 Will issue a warning (by raising an exception) if Ogre is forced to flush the RenderTarget, which is very bad for performance on mobile, and can cause serious performance problems in Desktop if using MSAA, and also cause correctness problems (i.e. More...
 

Additional Inherited Members

- Public Types inherited from Ogre::CompositorPassDef
typedef vector< UavDependency >::type UavDependencyVec
 

Constructor & Destructor Documentation

◆ CompositorPassClearDef()

Ogre::CompositorPassClearDef::CompositorPassClearDef ( CompositorTargetDef parentTargetDef)
inline

By default clear all buffers.

Stencil needs to be cleared because it hinders Fast Z Clear on GPU architectures that don't separate the stencil from depth and the program requested a Z Buffer with stencil (even if we never use it)

References Ogre::LoadAction::Clear, OGRE_MAX_MULTIPLE_RENDER_TARGETS, and Ogre::StoreAction::StoreAndMultisampleResolve.

Member Function Documentation

◆ setBuffersToClear()

void Ogre::CompositorPassClearDef::setBuffersToClear ( uint32  buffersToClear)
inline

Sets which buffers you want to clear for each attachment.

Replaces 'mClearBufferFlags' from previous versions of Ogre.

Remarks
Manually setting load actions to anything other than LoadAction::Clear or LoadAction::Load when there is a valid buffer is undefined behavior.
Parameters
buffersToClearBitmask. See RenderPassDescriptor::EntryTypes

References Ogre::LoadAction::Clear, Ogre::RenderPassDescriptor::Colour0, Ogre::RenderPassDescriptor::Depth, Ogre::LoadAction::Load, OGRE_MAX_MULTIPLE_RENDER_TARGETS, and Ogre::RenderPassDescriptor::Stencil.

Member Data Documentation

◆ mNonTilersOnly

bool Ogre::CompositorPassClearDef::mNonTilersOnly

Only execute this pass on non-tilers.


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