OGRE-Next  3.0.0
Object-Oriented Graphics Rendering Engine
Ogre::CompositorPassUavDef Class Reference

#include <OgreCompositorPassUavDef.h>

+ Inheritance diagram for Ogre::CompositorPassUavDef:

Classes

struct  BufferSource
 
struct  TextureSource
 

Public Types

typedef vector< BufferSource >::type BufferSourceVec
 
typedef vector< TextureSource >::type TextureSources
 
- Public Types inherited from Ogre::CompositorPassDef
typedef vector< UavDependency >::type UavDependencyVec
 

Public Member Functions

 CompositorPassUavDef (CompositorNodeDef *parentNodeDef, CompositorTargetDef *parentTargetDef)
 
void addUavBuffer (uint32 slotIdx, IdString bufferName, ResourceAccess::ResourceAccess access, size_t offset=0, size_t sizeBytes=0)
 
const BufferSourceVecgetBufferSources () const
 
const TextureSourcesgetTextureSources () const
 
void setUav (uint32 slot, bool isExternal, const String &textureName, ResourceAccess::ResourceAccess access, uint8 mipmapLevel, PixelFormatGpu pixelFormat)
 Indicates the pass to change the UAV slots to use the specified texture sources. 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

uint8 mStartingSlot
 Max value (0xff) means don't alter it. 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...
 

Member Typedef Documentation

◆ BufferSourceVec

◆ TextureSources

Constructor & Destructor Documentation

◆ CompositorPassUavDef()

Ogre::CompositorPassUavDef::CompositorPassUavDef ( CompositorNodeDef parentNodeDef,
CompositorTargetDef parentTargetDef 
)
inline

Member Function Documentation

◆ addUavBuffer()

void Ogre::CompositorPassUavDef::addUavBuffer ( uint32  slotIdx,
IdString  bufferName,
ResourceAccess::ResourceAccess  access,
size_t  offset = 0,
size_t  sizeBytes = 0 
)

◆ getBufferSources()

const BufferSourceVec& Ogre::CompositorPassUavDef::getBufferSources ( ) const
inline

◆ getTextureSources()

const TextureSources& Ogre::CompositorPassUavDef::getTextureSources ( ) const
inline

◆ setUav()

void Ogre::CompositorPassUavDef::setUav ( uint32  slot,
bool  isExternal,
const String textureName,
ResourceAccess::ResourceAccess  access,
uint8  mipmapLevel,
PixelFormatGpu  pixelFormat 
)

Indicates the pass to change the UAV slots to use the specified texture sources.

Parameters
slotThe buffer binding location for shader access. For OpenGL this must be unique and is not related to the texture binding point.
isExternalTrue if the texture is a random texture that needs to be loaded via TextureManager::getByName; false if it's an RTT controlled by the CompositorManager (i.e. a global texture, an input texture, or a local texture)
textureNameName of the texture. When empty, it will clear the slots.
accessThe texture access privileges given to the shader.
mipmapLevelThe texture mipmap level to use.
pixelFormatTexture format to be read in by shader. This may be different than the bound texture format. Will be the same is left as PFG_UNKNOWN

Member Data Documentation

◆ mStartingSlot

uint8 Ogre::CompositorPassUavDef::mStartingSlot

Max value (0xff) means don't alter it.

See also
RenderSystem::setUavStartingSlot

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