OGRE-Next
2.3
Object-Oriented Graphics Rendering Engine
|
#include <OgreCompositorPassComputeDef.h>
Classes | |
struct | BufferSource |
struct | ComputeTextureSource |
Public Types | |
typedef vector< BufferSource >::type | BufferSourceVec |
typedef vector< ComputeTextureSource >::type | TextureSources |
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, int32 textureArrayIndex, int32 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, int32 textureArrayIndex, int32 mipmapLevel, PixelFormatGpu pixelFormat, bool allowWriteAfterWrite) |
const BufferSourceVec & | getBufferSources () const |
const CompositorTargetDef * | getParentTargetDef () const |
uint32 | getRtIndex () const |
const TextureSources & | getTextureSources () const |
CompositorPassType | getType () const |
const TextureSources & | getUavSources () 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) |
Public Attributes | |
IdString | mCameraName |
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... | |
IdString | mJobName |
Name of the HlmsComputeJob to run. 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... | |
typedef vector<BufferSource>::type Ogre::CompositorPassComputeDef::BufferSourceVec |
typedef vector<ComputeTextureSource>::type Ogre::CompositorPassComputeDef::TextureSources |
|
inherited |
|
inline |
void Ogre::CompositorPassComputeDef::addTextureSource | ( | uint32 | texUnitIdx, |
const String & | textureName | ||
) |
Indicates the pass to change the texture units to use the specified texture sources.
@See ComputeTextureSource for params
void Ogre::CompositorPassComputeDef::addTextureSource | ( | uint32 | texUnitIdx, |
const String & | textureName, | ||
int32 | textureArrayIndex, | ||
int32 | mipmapLevel, | ||
PixelFormatGpu | pixelFormat | ||
) |
void Ogre::CompositorPassComputeDef::addUavBuffer | ( | uint32 | slotIdx, |
const String & | bufferName, | ||
ResourceAccess::ResourceAccess | access, | ||
size_t | offset = 0 , |
||
size_t | sizeBytes = 0 , |
||
bool | allowWriteAfterWrite = false |
||
) |
void Ogre::CompositorPassComputeDef::addUavSource | ( | uint32 | texUnitIdx, |
const String & | textureName, | ||
ResourceAccess::ResourceAccess | access, | ||
int32 | textureArrayIndex, | ||
int32 | mipmapLevel, | ||
PixelFormatGpu | pixelFormat, | ||
bool | allowWriteAfterWrite | ||
) |
|
inline |
|
inherited |
|
inherited |
|
inline |
|
inlineinherited |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
operator new, with debug line info
|
inlineinherited |
placement operator new
|
inlineinherited |
|
inlineinherited |
array operator new, with debug line info
|
inherited |
|
inherited |
|
inherited |
IdString Ogre::CompositorPassComputeDef::mCameraName |
|
inherited |
|
inherited |
|
inherited |
|
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)
|
inherited |
|
inherited |
|
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.
|
inherited |
Custom value in case there's a listener attached (to identify the pass)
|
inherited |
TODO: Refactor OgreOverlay to remove this design atrocity.
A custom overlay pass is a better alternative (or just use their own RQ)
IdString Ogre::CompositorPassComputeDef::mJobName |
Name of the HlmsComputeJob to run.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
Number of times to perform the pass before stopping. -1 to never stop.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
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.
|
inherited |
Shadow map index it belongs to (only filled in passes owned by Shadow Nodes)
|
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
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
Viewport's region to draw.
|
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.