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

#include <OgreCompositorPassComputeDef.h>

+ Inheritance diagram for Ogre::CompositorPassComputeDef:


struct  BufferSource
struct  ComputeTextureSource

Public Types

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

Public Member Functions

 CompositorPassComputeDef (CompositorNodeDef *parentNodeDef, CompositorTargetDef *parentTargetDef)
void addTextureSource (uint32 texUnitIdx, const String &textureName)
 Indicates the pass to change the texture units to use the specified texture sources. More...
void addTextureSource (uint32 texUnitIdx, const String &textureName, uint16 textureArrayIndex, uint8 mipmapLevel, PixelFormatGpu pixelFormat)
void addUavBuffer (uint32 slotIdx, const String &bufferName, ResourceAccess::ResourceAccess access, size_t offset=0, size_t sizeBytes=0, bool allowWriteAfterWrite=false)
void addUavSource (uint32 texUnitIdx, const String &textureName, ResourceAccess::ResourceAccess access, uint16 textureArrayIndex, uint8 mipmapLevel, PixelFormatGpu pixelFormat, bool allowWriteAfterWrite)
const BufferSourceVecgetBufferSources () const
const TextureSourcesgetTextureSources () const
const TextureSourcesgetUavSources () const
- 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

IdString mCameraName
IdString mJobName
 Name of the HlmsComputeJob to run. More...
- Public Attributes inherited from Ogre::CompositorPassDef
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

◆ CompositorPassComputeDef()

Ogre::CompositorPassComputeDef::CompositorPassComputeDef ( CompositorNodeDef parentNodeDef,
CompositorTargetDef parentTargetDef 

Member Function Documentation

◆ addTextureSource() [1/2]

void Ogre::CompositorPassComputeDef::addTextureSource ( uint32  texUnitIdx,
const String textureName 

Indicates the pass to change the texture units to use the specified texture sources.

See CompositorPassComputeDef::ComputeTextureSource for params

◆ addTextureSource() [2/2]

void Ogre::CompositorPassComputeDef::addTextureSource ( uint32  texUnitIdx,
const String textureName,
uint16  textureArrayIndex,
uint8  mipmapLevel,
PixelFormatGpu  pixelFormat 

◆ addUavBuffer()

void Ogre::CompositorPassComputeDef::addUavBuffer ( uint32  slotIdx,
const String bufferName,
ResourceAccess::ResourceAccess  access,
size_t  offset = 0,
size_t  sizeBytes = 0,
bool  allowWriteAfterWrite = false 

◆ addUavSource()

void Ogre::CompositorPassComputeDef::addUavSource ( uint32  texUnitIdx,
const String textureName,
ResourceAccess::ResourceAccess  access,
uint16  textureArrayIndex,
uint8  mipmapLevel,
PixelFormatGpu  pixelFormat,
bool  allowWriteAfterWrite 

◆ getBufferSources()

const BufferSourceVec& Ogre::CompositorPassComputeDef::getBufferSources ( ) const

◆ getTextureSources()

const TextureSources& Ogre::CompositorPassComputeDef::getTextureSources ( ) const

◆ getUavSources()

const TextureSources& Ogre::CompositorPassComputeDef::getUavSources ( ) const

Member Data Documentation

◆ mCameraName

IdString Ogre::CompositorPassComputeDef::mCameraName

◆ mJobName

IdString Ogre::CompositorPassComputeDef::mJobName

Name of the HlmsComputeJob to run.

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