OGRE-Next  4.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::CompositorTargetDef Class Reference

#include <OgreCompositorPassDef.h>

+ Inheritance diagram for Ogre::CompositorTargetDef:

Public Member Functions

 CompositorTargetDef (const String &renderTargetName, uint32 rtIndex, CompositorNodeDef *parentNodeDef)
 
 ~CompositorTargetDef ()
 
CompositorPassDefaddPass (CompositorPassType passType, IdString customId=IdString())
 
const CompositorPassDefVecgetCompositorPasses () const
 
CompositorPassDefVecgetCompositorPassesNonConst ()
 See getNodeDefinition(). More...
 
const CompositorNodeDefgetParentNodeDef () const
 
IdString getRenderTargetName () const
 
String getRenderTargetNameStr () const
 
uint32 getRtIndex () const
 
uint8 getShadowMapSupportedLightTypes () const
 
bool getTargetLevelBarrier () const
 
const CompositorPassTargetBarrierDefgetTargetLevelBarrierDef () const
 
void setNumPasses (size_t numPasses)
 Reserves enough memory for all passes (efficient allocation) More...
 
void setShadowMapSupportedLightTypes (uint8 types)
 
void setTargetLevelBarrier (bool bBarrier)
 When enabled, we will gather all passes contained in this target def and issue one barrier for all of them; instead of having (potentially, worst case) one barrier for every pass. More...
 

Constructor & Destructor Documentation

◆ CompositorTargetDef()

Ogre::CompositorTargetDef::CompositorTargetDef ( const String renderTargetName,
uint32  rtIndex,
CompositorNodeDef parentNodeDef 
)

◆ ~CompositorTargetDef()

Ogre::CompositorTargetDef::~CompositorTargetDef ( )

Member Function Documentation

◆ addPass()

CompositorPassDef* Ogre::CompositorTargetDef::addPass ( CompositorPassType  passType,
IdString  customId = IdString() 
)

◆ getCompositorPasses()

const CompositorPassDefVec& Ogre::CompositorTargetDef::getCompositorPasses ( ) const
inline

◆ getCompositorPassesNonConst()

CompositorPassDefVec& Ogre::CompositorTargetDef::getCompositorPassesNonConst ( )
inline

See getNodeDefinition().

Returns a non-const pointer. Use this only if you know what you're doing. Modifying a NodeDef while it's being used by CompositorNode instances is undefined. It's safe if you're sure it's not being used.

◆ getParentNodeDef()

const CompositorNodeDef* Ogre::CompositorTargetDef::getParentNodeDef ( ) const
inline

◆ getRenderTargetName()

IdString Ogre::CompositorTargetDef::getRenderTargetName ( ) const
inline

◆ getRenderTargetNameStr()

String Ogre::CompositorTargetDef::getRenderTargetNameStr ( ) const
inline

◆ getRtIndex()

uint32 Ogre::CompositorTargetDef::getRtIndex ( ) const
inline

◆ getShadowMapSupportedLightTypes()

uint8 Ogre::CompositorTargetDef::getShadowMapSupportedLightTypes ( ) const
inline

◆ getTargetLevelBarrier()

bool Ogre::CompositorTargetDef::getTargetLevelBarrier ( ) const
inline

◆ getTargetLevelBarrierDef()

const CompositorPassTargetBarrierDef* Ogre::CompositorTargetDef::getTargetLevelBarrierDef ( ) const
inline

◆ setNumPasses()

void Ogre::CompositorTargetDef::setNumPasses ( size_t  numPasses)
inline

Reserves enough memory for all passes (efficient allocation)

Remarks
Calling this function is not obligatory, but recommended
Parameters
numPassesThe number of passes expected to contain.

◆ setShadowMapSupportedLightTypes()

void Ogre::CompositorTargetDef::setShadowMapSupportedLightTypes ( uint8  types)
inline

◆ setTargetLevelBarrier()

void Ogre::CompositorTargetDef::setTargetLevelBarrier ( bool  bBarrier)

When enabled, we will gather all passes contained in this target def and issue one barrier for all of them; instead of having (potentially, worst case) one barrier for every pass.

This is much more efficient, but it can't always be done because we assume subsequent passes will only change the same resource once (or multiple times to the same destination layout).

This setting is of particular importance on mobile.

Parameters
bBarrier

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