#include <OgreCompositorPassUavDef.h>
|
| CompositorPassUavDef (CompositorNodeDef *parentNodeDef, CompositorTargetDef *parentTargetDef) |
|
void | addUavBuffer (uint32 slotIdx, IdString bufferName, ResourceAccess::ResourceAccess access, size_t offset=0, size_t sizeBytes=0) |
|
const BufferSourceVec & | getBufferSources () const |
|
const CompositorTargetDef * | getParentTargetDef () const |
|
uint32 | getRtIndex () const |
|
const TextureSources & | getTextureSources () const |
|
CompositorPassType | getType () const |
|
void | operator delete (void *ptr) |
|
void | operator delete (void *ptr, const char *, int, const char *) |
|
void | operator delete (void *ptr, void *) |
|
void | operator delete[] (void *ptr) |
|
void | operator delete[] (void *ptr, const char *, int, const char *) |
|
void * | operator new (size_t sz) |
|
void * | operator new (size_t sz, const char *file, int line, const char *func) |
| operator new, with debug line info More...
|
|
void * | operator new (size_t sz, void *ptr) |
| placement operator new More...
|
|
void * | operator new[] (size_t sz) |
|
void * | operator new[] (size_t sz, const char *file, int line, const char *func) |
| array operator new, with debug line info More...
|
|
void | setAllClearColours (const ColourValue &clearValue) |
|
void | setAllLoadActions (LoadAction::LoadAction loadAction) |
|
void | setAllStoreActions (StoreAction::StoreAction storeAction) |
|
void | setUav (uint32 slot, bool isExternal, const String &textureName, ResourceAccess::ResourceAccess access, int32 mipmapLevel, PixelFormatGpu pixelFormat) |
| Indicates the pass to change the UAV slots to use the specified texture sources. More...
|
|
◆ BufferSourceVec
◆ TextureSources
◆ UavDependencyVec
◆ CompositorPassUavDef()
◆ addUavBuffer()
◆ getBufferSources()
const BufferSourceVec& Ogre::CompositorPassUavDef::getBufferSources |
( |
| ) |
const |
|
inline |
◆ getParentTargetDef()
◆ getRtIndex()
uint32 Ogre::CompositorPassDef::getRtIndex |
( |
| ) |
const |
|
inherited |
◆ getTextureSources()
const TextureSources& Ogre::CompositorPassUavDef::getTextureSources |
( |
| ) |
const |
|
inline |
◆ getType()
◆ operator delete() [1/3]
◆ operator delete() [2/3]
◆ operator delete() [3/3]
◆ operator delete[]() [1/2]
◆ operator delete[]() [2/2]
◆ operator new() [1/3]
◆ operator new() [2/3]
template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new |
( |
size_t |
sz, |
|
|
const char * |
file, |
|
|
int |
line, |
|
|
const char * |
func |
|
) |
| |
|
inlineinherited |
operator new, with debug line info
◆ operator new() [3/3]
◆ operator new[]() [1/2]
◆ operator new[]() [2/2]
template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] |
( |
size_t |
sz, |
|
|
const char * |
file, |
|
|
int |
line, |
|
|
const char * |
func |
|
) |
| |
|
inlineinherited |
array operator new, with debug line info
◆ setAllClearColours()
void Ogre::CompositorPassDef::setAllClearColours |
( |
const ColourValue & |
clearValue | ) |
|
|
inherited |
◆ setAllLoadActions()
◆ setAllStoreActions()
◆ setUav()
Indicates the pass to change the UAV slots to use the specified texture sources.
- Parameters
-
slot | The buffer binding location for shader access. For OpenGL this must be unique and is not related to the texture binding point. |
isExternal | True 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) |
textureName | Name of the texture. When empty, it will clear the slots. |
access | The texture access privileges given to the shader. |
mipmapLevel | The texture mipmap level to use. |
format | Texture 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 |
◆ mClearColour
◆ mClearDepth
float Ogre::CompositorPassDef::mClearDepth |
|
inherited |
◆ mClearStencil
uint32 Ogre::CompositorPassDef::mClearStencil |
|
inherited |
◆ mColourWrite
bool Ogre::CompositorPassDef::mColourWrite |
|
inherited |
When false will not really bind the RenderTarget for rendering and use a null colour buffer instead.
Useful for depth prepass, or if the RTT is actually an UAV. Some passes may ignore this setting (e.g. Clear passes)
◆ mExecutionMask
uint8 Ogre::CompositorPassDef::mExecutionMask |
|
inherited |
◆ mExposedTextures
◆ mFlushCommandBuffers
bool Ogre::CompositorPassDef::mFlushCommandBuffers |
|
inherited |
Whether to flush the command buffer at the end of the pass.
This can incur in a performance overhead (see OpenGL's glFlush and D3D11' ID3D11DeviceContext::Flush) for info. Usually you want to leave this off. However for VR applications that must meet VSync, profiling may show your workload benefits from submitting earlier so the GPU can start right away executing rendering commands.
The main reason to use this is in CPU-bound scenarios where the GPU starts too late after sitting idle.
◆ mIdentifier
uint32 Ogre::CompositorPassDef::mIdentifier |
|
inherited |
Custom value in case there's a listener attached (to identify the pass)
◆ mIncludeOverlays
bool Ogre::CompositorPassDef::mIncludeOverlays |
|
inherited |
TODO: Refactor OgreOverlay to remove this design atrocity.
A custom overlay pass is a better alternative (or just use their own RQ)
◆ mLoadActionColour
◆ mLoadActionDepth
◆ mLoadActionStencil
◆ mNumInitialPasses
uint32 Ogre::CompositorPassDef::mNumInitialPasses |
|
inherited |
Number of times to perform the pass before stopping. -1 to never stop.
◆ mNumViewports
uint32 Ogre::CompositorPassDef::mNumViewports |
|
inherited |
◆ mProfilingId
String Ogre::CompositorPassDef::mProfilingId |
|
inherited |
◆ mReadOnlyDepth
bool Ogre::CompositorPassDef::mReadOnlyDepth |
|
inherited |
◆ mReadOnlyStencil
bool Ogre::CompositorPassDef::mReadOnlyStencil |
|
inherited |
◆ mShadowMapFullViewport
bool Ogre::CompositorPassDef::mShadowMapFullViewport |
|
inherited |
Only used if mShadowMapIdx is valid (if pass is owned by Shadow Nodes).
If true, we won't force the viewport to fit the region of the UV atlas on the texture, and respect mVp* settings instead.
◆ mShadowMapIdx
uint32 Ogre::CompositorPassDef::mShadowMapIdx |
|
inherited |
Shadow map index it belongs to (only filled in passes owned by Shadow Nodes)
◆ mSkipLoadStoreSemantics
bool Ogre::CompositorPassDef::mSkipLoadStoreSemantics |
|
inherited |
Ignore mLoadAction*/mStoreAction*.
Useful when doing multiple passes and you want to continue using the same pass semantics opened by a previous pass
Be careful with this setting. It can silently break a lot of stuff
Only valid for PASS_QUAD and PASS_SCENE
◆ mStartingSlot
uint8 Ogre::CompositorPassUavDef::mStartingSlot |
◆ mStoreActionColour
◆ mStoreActionDepth
◆ mStoreActionStencil
◆ mUavDependencies
◆ mViewportModifierMask
uint8 Ogre::CompositorPassDef::mViewportModifierMask |
|
inherited |
◆ mVpRect
◆ mWarnIfRtvWasFlushed
bool Ogre::CompositorPassDef::mWarnIfRtvWasFlushed |
|
inherited |
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.
bad rendering) if store action is StoreAction::Resolve.
- No warning will be issued if the RenderTargets getting flushed have their LoadAction set to LoadAction::Clear (or LoadAction::ClearOnTilers on tilers).
The documentation for this class was generated from the following file: