OGRE-Next 4.0.0unstable
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
Ogre::CompositorTargetDef Class Reference

#include <OgreCompositorPassDef.h>

Inheritance diagram for Ogre::CompositorTargetDef:

Public Member Functions

 CompositorTargetDef (const String &renderTargetName, uint32 rtIndex, CompositorNodeDef *parentNodeDef)
 ~CompositorTargetDef ()
CompositorPassDef * addPass (CompositorPassType passType, IdString customId=IdString())
const CompositorPassDefVec & getCompositorPasses () const
CompositorPassDefVec & getCompositorPassesNonConst ()
 See getNodeDefinition().
const CompositorNodeDef * getParentNodeDef () const
IdString getRenderTargetName () const
String getRenderTargetNameStr () const
uint32 getRtIndex () const
uint8 getShadowMapSupportedLightTypes () const
bool getTargetLevelBarrier () const
const CompositorPassTargetBarrierDef * getTargetLevelBarrierDef () const
void setNumPasses (size_t numPasses)
 Reserves enough memory for all passes (efficient allocation).
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.

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: