OGRE 2.1
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
Ogre::CompositorPassSceneDef Class Reference

#include <OgreCompositorPassSceneDef.h>

+ Inheritance diagram for Ogre::CompositorPassSceneDef:

Public Types

typedef vector< UavDependency >::type UavDependencyVec
 

Public Member Functions

 CompositorPassSceneDef (CompositorTargetDef *parentTargetDef)
 
const CompositorTargetDefgetParentTargetDef (void) const
 
uint32 getRtIndex (void) 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 *)
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
 
voidoperator new (size_t sz, void *ptr)
 placement operator new
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info
 
void setLightVisibilityMask (uint32 visibilityMask)
 
void setUseDepthPrePass (IdString textureName, IdString depthTextureName, IdString ssrTexture)
 
void setVisibilityMask (uint32 visibilityMask)
 

Public Attributes

bool mBeginRtUpdate
 True if a previous pass doesn't alter the contents of the same render target we do TODO: Fill this automatically.
 
bool mCameraCubemapReorient
 When true, the camera will be rotated 90°, -90° or 180° depending on the value of mRtIndex and then restored to its original rotation after we're done.
 
IdString mCameraName
 When empty, uses the default camera.
 
bool mColourWrite
 When false will not really bind the RenderTarget for rendering and use a null colour buffer instead.
 
IdString mCullCameraName
 When empty, it implies mCameraName == mCullCameraName.
 
bool mEnableForwardPlus
 Enable ForwardPlus during the pass (if Forward3D or ForwardClustered systems were created).
 
bool mEndRtUpdate
 End if we're the last consecutive pass to alter the contents of the same render target.
 
uint8 mExecutionMask
 
IdStringVec mExposedTextures
 
uint8 mFirstRQ
 First Render Queue ID to render. Inclusive.
 
uint32 mIdentifier
 Custom value in case there's a listener attached (to identify the pass)
 
bool mIncludeOverlays
 TODO: Refactor OgreOverlay to remove this design atrocity.
 
uint8 mLastRQ
 Last Render Queue ID to render. Not inclusive.
 
uint32 mLightVisibilityMask
 Used by Forward+ to determine which lights should be used (via Light::setVisibilityFlags)
 
Real mLodBias
 Multiplier to the Lod value.
 
IdString mLodCameraName
 When empty, it implies mCameraName == mLodCameraName; except for shadow nodes.
 
String mMaterialScheme
 The material scheme used for this pass.
 
uint32 mNumInitialPasses
 Number of times to perform the pass before stopping. -1 to never stop.
 
IdString mPrePassDepthTexture
 
PrePassMode mPrePassMode
 This is a depth pre-pass.
 
IdString mPrePassSsrTexture
 
IdString mPrePassTexture
 Only used if mPrePassMode == PrePassUse.
 
String mProfilingId
 
bool mReadOnlyDepth
 
bool mReadOnlyStencil
 
bool mReuseCullData
 When true, the frustum culling is skipped in this pass.
 
bool mShadowMapFullViewport
 Only used if mShadowMapIdx is valid (if pass is owned by Shadow Nodes).
 
uint32 mShadowMapIdx
 Shadow map index it belongs to (only filled in passes owned by Shadow Nodes)
 
IdString mShadowNode
 
ShadowNodeRecalculation mShadowNodeRecalculation
 
UavDependencyVec mUavDependencies
 
bool mUpdateLodLists
 When true, which Lod index is current will be updated.
 
uint8 mViewportModifierMask
 
uint32 mVisibilityMask
 Viewport's visibility mask while rendering our pass.
 
float mVpHeight
 
float mVpLeft
 Viewport's region to draw.
 
float mVpScissorHeight
 
float mVpScissorLeft
 
float mVpScissorTop
 
float mVpScissorWidth
 
float mVpTop
 
float mVpWidth
 

Member Typedef Documentation

◆ UavDependencyVec

Constructor & Destructor Documentation

◆ CompositorPassSceneDef()

Ogre::CompositorPassSceneDef::CompositorPassSceneDef ( CompositorTargetDef parentTargetDef)
inline

Member Function Documentation

◆ getParentTargetDef()

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

◆ getRtIndex()

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

◆ getType()

CompositorPassType Ogre::CompositorPassDef::getType ( ) 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,
const char ,
int  ,
const char  
)
inlineinherited

◆ operator delete() [3/3]

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void ptr,
void  
)
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)
inlineinherited

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

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

◆ 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

◆ setLightVisibilityMask()

void Ogre::CompositorPassSceneDef::setLightVisibilityMask ( uint32  visibilityMask)
inline

◆ setUseDepthPrePass()

void Ogre::CompositorPassSceneDef::setUseDepthPrePass ( IdString  textureName,
IdString  depthTextureName,
IdString  ssrTexture 
)
inline

References Ogre::PrePassUse.

◆ setVisibilityMask()

void Ogre::CompositorPassSceneDef::setVisibilityMask ( uint32  visibilityMask)
inline

Member Data Documentation

◆ mBeginRtUpdate

bool Ogre::CompositorPassDef::mBeginRtUpdate
inherited

True if a previous pass doesn't alter the contents of the same render target we do TODO: Fill this automatically.

◆ mCameraCubemapReorient

bool Ogre::CompositorPassSceneDef::mCameraCubemapReorient

When true, the camera will be rotated 90°, -90° or 180° depending on the value of mRtIndex and then restored to its original rotation after we're done.

◆ mCameraName

IdString Ogre::CompositorPassSceneDef::mCameraName

When empty, uses the default camera.

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

◆ mCullCameraName

IdString Ogre::CompositorPassSceneDef::mCullCameraName

When empty, it implies mCameraName == mCullCameraName.

◆ mEnableForwardPlus

bool Ogre::CompositorPassSceneDef::mEnableForwardPlus

Enable ForwardPlus during the pass (if Forward3D or ForwardClustered systems were created).

Disabling optimizes performance when you don't need it.

◆ mEndRtUpdate

bool Ogre::CompositorPassDef::mEndRtUpdate
inherited

End if we're the last consecutive pass to alter the contents of the same render target.

◆ mExecutionMask

uint8 Ogre::CompositorPassDef::mExecutionMask
inherited

◆ mExposedTextures

IdStringVec Ogre::CompositorPassDef::mExposedTextures
inherited

◆ mFirstRQ

uint8 Ogre::CompositorPassSceneDef::mFirstRQ

First Render Queue ID to render. Inclusive.

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

◆ mLastRQ

uint8 Ogre::CompositorPassSceneDef::mLastRQ

Last Render Queue ID to render. Not inclusive.

◆ mLightVisibilityMask

uint32 Ogre::CompositorPassSceneDef::mLightVisibilityMask

Used by Forward+ to determine which lights should be used (via Light::setVisibilityFlags)

◆ mLodBias

Real Ogre::CompositorPassSceneDef::mLodBias

Multiplier to the Lod value.

What it means depends on the technique. You'll probably want to avoid setting it directly and rather use @LodStrategy::transformBias

◆ mLodCameraName

IdString Ogre::CompositorPassSceneDef::mLodCameraName

When empty, it implies mCameraName == mLodCameraName; except for shadow nodes.

For shadow nodes, when empty, it will use the receiver's lod camera.

◆ mMaterialScheme

String Ogre::CompositorPassSceneDef::mMaterialScheme

The material scheme used for this pass.

If no material scheme is set then it will use the default scheme

◆ mNumInitialPasses

uint32 Ogre::CompositorPassDef::mNumInitialPasses
inherited

Number of times to perform the pass before stopping. -1 to never stop.

◆ mPrePassDepthTexture

IdString Ogre::CompositorPassSceneDef::mPrePassDepthTexture

◆ mPrePassMode

PrePassMode Ogre::CompositorPassSceneDef::mPrePassMode

This is a depth pre-pass.

Note: Implementations may write to colour too for hybrid deferred & forward rendering. If you modify this, you probably want to modify mReadOnlyDepth & mReadOnlyStencil too

◆ mPrePassSsrTexture

IdString Ogre::CompositorPassSceneDef::mPrePassSsrTexture

◆ mPrePassTexture

IdString Ogre::CompositorPassSceneDef::mPrePassTexture

Only used if mPrePassMode == PrePassUse.

◆ mProfilingId

String Ogre::CompositorPassDef::mProfilingId
inherited

◆ mReadOnlyDepth

bool Ogre::CompositorPassDef::mReadOnlyDepth
inherited

◆ mReadOnlyStencil

bool Ogre::CompositorPassDef::mReadOnlyStencil
inherited

◆ mReuseCullData

bool Ogre::CompositorPassSceneDef::mReuseCullData

When true, the frustum culling is skipped in this pass.

To cull objects, data from the most recent frustum culling execution are used.

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

◆ mShadowNode

IdString Ogre::CompositorPassSceneDef::mShadowNode

◆ mShadowNodeRecalculation

ShadowNodeRecalculation Ogre::CompositorPassSceneDef::mShadowNodeRecalculation

◆ mUavDependencies

UavDependencyVec Ogre::CompositorPassDef::mUavDependencies
inherited

◆ mUpdateLodLists

bool Ogre::CompositorPassSceneDef::mUpdateLodLists

When true, which Lod index is current will be updated.

Reasons to set this to false:

  1. You don't use LOD (i.e. you're GPU bottleneck). Setting to false helps CPU.
  2. LODs have been calculated in a previous pass. This happens if previous pass(es) all used the same lod camera and all RenderQueue IDs this pass will use have been rendered already and updated their lod lists.
    Remarks
    Automatically set to false for shadow nodes that leave mLodCameraName empty

◆ mViewportModifierMask

uint8 Ogre::CompositorPassDef::mViewportModifierMask
inherited

◆ mVisibilityMask

uint32 Ogre::CompositorPassSceneDef::mVisibilityMask

Viewport's visibility mask while rendering our pass.

◆ mVpHeight

float Ogre::CompositorPassDef::mVpHeight
inherited

◆ mVpLeft

float Ogre::CompositorPassDef::mVpLeft
inherited

Viewport's region to draw.

◆ mVpScissorHeight

float Ogre::CompositorPassDef::mVpScissorHeight
inherited

◆ mVpScissorLeft

float Ogre::CompositorPassDef::mVpScissorLeft
inherited

◆ mVpScissorTop

float Ogre::CompositorPassDef::mVpScissorTop
inherited

◆ mVpScissorWidth

float Ogre::CompositorPassDef::mVpScissorWidth
inherited

◆ mVpTop

float Ogre::CompositorPassDef::mVpTop
inherited

◆ mVpWidth

float Ogre::CompositorPassDef::mVpWidth
inherited

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