OGRE-Next 4.0.0unstable
Object-Oriented Graphics Rendering Engine
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Ogre::HlmsPsoProp Struct Reference

#include <OgreHlms.h>

Static Public Attributes

static const IdString Blendblock
 
static const IdString InputLayoutId
 
static const IdString Macroblock
 
static const IdString StrongBlendblockBits
 Similar to StrongMacroblockBits but used for overrides of Blendblocks.
 
static const IdString StrongMacroblockBits
 The property holds the bits from StrongMacroblockBits enum to indicate the override of the HlmsPso's macroblock.
 

Member Data Documentation

◆ Blendblock

const IdString Ogre::HlmsPsoProp::Blendblock
static

◆ InputLayoutId

const IdString Ogre::HlmsPsoProp::InputLayoutId
static

◆ Macroblock

const IdString Ogre::HlmsPsoProp::Macroblock
static

◆ StrongBlendblockBits

const IdString Ogre::HlmsPsoProp::StrongBlendblockBits
static

Similar to StrongMacroblockBits but used for overrides of Blendblocks.

◆ StrongMacroblockBits

const IdString Ogre::HlmsPsoProp::StrongMacroblockBits
static

The property holds the bits from StrongMacroblockBits enum to indicate the override of the HlmsPso's macroblock.

This can be used to override all macroblocks from all renderables rendered by current pass. Note that the implementation doesn't need to use this property. It can introduce its own property or mechanism for the overrides. There are couple of details necessary to keep in mind if implementing own mechanism:

  • the values are cached are stored in HlmsDiskCache
  • the implementation must be consistent between setting the flags and interpreting them
  • if a value changed its meaning, the cache must be manually deleted as Ogre cannot detect such changes!
  • It is not sufficient to just set HlmsPassPso::NeedStrongMacroblock in HlmsPassPso::strongBasicBlocks as it will lead to the same PassCache values. It is necessary to indicate the override fully and distinguish between 2 different overrides by setting a property with value describing the override (bit mask) or setting multiple properties (a property per specific override).

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