OGRE  2.2.4
Object-Oriented Graphics Rendering Engine
Ogre::CompositorPassIblSpecularDef Class Reference

#include <OgreCompositorPassIblSpecularDef.h>

+ Inheritance diagram for Ogre::CompositorPassIblSpecularDef:

Public Types

typedef vector< UavDependency >::type UavDependencyVec
 

Public Member Functions

 CompositorPassIblSpecularDef (CompositorNodeDef *parentNodeDef, CompositorTargetDef *parentTargetDef)
 
 ~CompositorPassIblSpecularDef ()
 
IdString getInputTextureName (void) const
 
IdString getOutputTextureName (void) const
 
const CompositorTargetDefgetParentTargetDef (void) const
 
uint32 getRtIndex (void) const
 
CompositorPassType getType () const
 
void operator delete (void *ptr)
 
void operator delete (void *ptr, void *)
 
void operator delete (void *ptr, const char *, int, const char *)
 
void operator delete[] (void *ptr)
 
void operator delete[] (void *ptr, const char *, int, const char *)
 
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 * operator new (size_t sz, void *ptr)
 placement operator new More...
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info More...
 
void * operator new[] (size_t sz)
 
void setAllClearColours (const ColourValue &clearValue)
 
void setAllLoadActions (LoadAction::LoadAction loadAction)
 
void setAllStoreActions (StoreAction::StoreAction storeAction)
 
void setCubemapInput (const String &textureName)
 
void setCubemapOutput (const String &textureName)
 

Public Attributes

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...
 
bool mForceMipmapFallback
 Force this pass to behave like GENERATE_MIPMAPS, regardless of compute shader support. More...
 
Vector4 mIblCorrectionVSH
 Value Saturation Hue. 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
 
CompositorNodeDefmParentNodeDef
 
String mProfilingId
 
bool mReadOnlyDepth
 
bool mReadOnlyStencil
 
float mSamplesPerIteration
 
float mSamplesSingleIterationFallback
 Value to use when we can't spread IBL generation over multiple frames (mNumInitialPasses != std::numeric_limits<uint32>::max()) due to GPU not having RSC_TYPED_UAV_LOADS. More...
 
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...
 
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

◆ UavDependencyVec

Constructor & Destructor Documentation

◆ CompositorPassIblSpecularDef()

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

◆ ~CompositorPassIblSpecularDef()

Ogre::CompositorPassIblSpecularDef::~CompositorPassIblSpecularDef ( )

Member Function Documentation

◆ getInputTextureName()

IdString Ogre::CompositorPassIblSpecularDef::getInputTextureName ( void  ) const
inline

◆ getOutputTextureName()

IdString Ogre::CompositorPassIblSpecularDef::getOutputTextureName ( void  ) const
inline

◆ getParentTargetDef()

const CompositorTargetDef* Ogre::CompositorPassDef::getParentTargetDef ( void  ) const
inherited

◆ getRtIndex()

uint32 Ogre::CompositorPassDef::getRtIndex ( void  ) const
inherited

◆ getType()

CompositorPassType Ogre::CompositorPassDef::getType ( void  ) const
inlineinherited

◆ operator delete() [1/3]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inlineinherited

◆ operator delete() [2/3]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
)
inlineinherited

◆ operator delete() [3/3]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

◆ operator delete[]() [1/2]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr)
inlineinherited

◆ operator delete[]() [2/2]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete[] ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

◆ operator new() [1/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() [2/3]

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inlineinherited

◆ operator new() [3/3]

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
)
inlineinherited

placement operator new

◆ operator new[]() [1/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

◆ operator new[]() [2/2]

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new[] ( size_t  sz)
inlineinherited

◆ setAllClearColours()

void Ogre::CompositorPassDef::setAllClearColours ( const ColourValue clearValue)
inherited

◆ setAllLoadActions()

void Ogre::CompositorPassDef::setAllLoadActions ( LoadAction::LoadAction  loadAction)
inherited

◆ setAllStoreActions()

void Ogre::CompositorPassDef::setAllStoreActions ( StoreAction::StoreAction  storeAction)
inherited

◆ setCubemapInput()

void Ogre::CompositorPassIblSpecularDef::setCubemapInput ( const String textureName)
Parameters
textureNameName of the texture (can come from input channel, local textures, or global ones)

◆ setCubemapOutput()

void Ogre::CompositorPassIblSpecularDef::setCubemapOutput ( const String textureName)

Member Data Documentation

◆ mClearColour

ColourValue Ogre::CompositorPassDef::mClearColour[OGRE_MAX_MULTIPLE_RENDER_TARGETS]
inherited

◆ 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

IdStringVec Ogre::CompositorPassDef::mExposedTextures
inherited

◆ 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.

◆ mForceMipmapFallback

bool Ogre::CompositorPassIblSpecularDef::mForceMipmapFallback

Force this pass to behave like GENERATE_MIPMAPS, regardless of compute shader support.

◆ mIblCorrectionVSH

Vector4 Ogre::CompositorPassIblSpecularDef::mIblCorrectionVSH

Value Saturation Hue.

◆ 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

LoadAction::LoadAction Ogre::CompositorPassDef::mLoadActionColour[OGRE_MAX_MULTIPLE_RENDER_TARGETS]
inherited

◆ mLoadActionDepth

LoadAction::LoadAction Ogre::CompositorPassDef::mLoadActionDepth
inherited

◆ mLoadActionStencil

LoadAction::LoadAction Ogre::CompositorPassDef::mLoadActionStencil
inherited

◆ 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

◆ mParentNodeDef

CompositorNodeDef* Ogre::CompositorPassIblSpecularDef::mParentNodeDef

◆ mProfilingId

String Ogre::CompositorPassDef::mProfilingId
inherited

◆ mReadOnlyDepth

bool Ogre::CompositorPassDef::mReadOnlyDepth
inherited

◆ mReadOnlyStencil

bool Ogre::CompositorPassDef::mReadOnlyStencil
inherited

◆ mSamplesPerIteration

float Ogre::CompositorPassIblSpecularDef::mSamplesPerIteration

◆ mSamplesSingleIterationFallback

float Ogre::CompositorPassIblSpecularDef::mSamplesSingleIterationFallback

Value to use when we can't spread IBL generation over multiple frames (mNumInitialPasses != std::numeric_limits<uint32>::max()) due to GPU not having RSC_TYPED_UAV_LOADS.

◆ 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)

◆ mStoreActionColour

StoreAction::StoreAction Ogre::CompositorPassDef::mStoreActionColour[OGRE_MAX_MULTIPLE_RENDER_TARGETS]
inherited

◆ mStoreActionDepth

StoreAction::StoreAction Ogre::CompositorPassDef::mStoreActionDepth
inherited

◆ mStoreActionStencil

StoreAction::StoreAction Ogre::CompositorPassDef::mStoreActionStencil
inherited

◆ mUavDependencies

UavDependencyVec Ogre::CompositorPassDef::mUavDependencies
inherited

◆ mViewportModifierMask

uint8 Ogre::CompositorPassDef::mViewportModifierMask
inherited

◆ mVpRect

ViewportRect Ogre::CompositorPassDef::mVpRect[16]
inherited

Viewport's region to draw.

◆ 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.

Remarks
Flushes are caused by splitting rendering to the same RenderTarget in multiple passes while rendering to a different RenderTarget in the middle. It's not always possible to avoid it, but if so, consider doing it.
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: