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

◆ getCompositorPassesNonConst()

CompositorPassDefVec& Ogre::CompositorTargetDef::getCompositorPassesNonConst ( )

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

◆ getRenderTargetName()

IdString Ogre::CompositorTargetDef::getRenderTargetName ( ) const

◆ getRenderTargetNameStr()

String Ogre::CompositorTargetDef::getRenderTargetNameStr ( ) const

◆ getRtIndex()

uint32 Ogre::CompositorTargetDef::getRtIndex ( ) const

◆ getShadowMapSupportedLightTypes()

uint8 Ogre::CompositorTargetDef::getShadowMapSupportedLightTypes ( ) const

◆ getTargetLevelBarrier()

bool Ogre::CompositorTargetDef::getTargetLevelBarrier ( ) const

◆ getTargetLevelBarrierDef()

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

◆ setNumPasses()

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

Reserves enough memory for all passes (efficient allocation)

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

◆ setShadowMapSupportedLightTypes()

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

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


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