VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Attributes
makVrv::DtIndirectEffectTexturesTemplate Class Reference

Class that allows you to abstractly register effect texture types the effect texture types are client specific (cdb, regular effect textures, etc) and typically enums and hence map directly to ints (DtOsgEffectTextureController::EffectTextureType) When a type is registered, that type is mapped to an index and the internal 'index' is incremented Therefore, each type maps to an index The highest possible index is num of types registered less 1 This class is used in conjunction with DtIndirectTextureCollectionPolicy to install the correct indirect rendering shaders for the usage type (cdb, point features, etc) The need for this additional indirection is that the 'type' can be any number (or indeed not an enum/int at all) but the way indirect rendering works, is that effect textures need to be with a start index of 0, and monotonically increasing (both for internal code and shader). More...

Public Member Functions

 DtIndirectEffectTexturesTemplate ()
 constructor
virtual ~DtIndirectEffectTexturesTemplate ()
 destructor
virtual void registerType (int type)
 register a type of an effect texture
virtual int numEffectTextures (void) const
 number of effect texture registered
virtual int indexForType (int type) const
 get the index, given the type
virtual int typeForIndex (int index) const
 get the type, given the index

Protected Attributes

MapIntToInt myTypeToIndex
MapIntToInt myIndexToType

Detailed Description

Class that allows you to abstractly register effect texture types the effect texture types are client specific (cdb, regular effect textures, etc) and typically enums and hence map directly to ints (DtOsgEffectTextureController::EffectTextureType) When a type is registered, that type is mapped to an index and the internal 'index' is incremented Therefore, each type maps to an index The highest possible index is num of types registered less 1 This class is used in conjunction with DtIndirectTextureCollectionPolicy to install the correct indirect rendering shaders for the usage type (cdb, point features, etc) The need for this additional indirection is that the 'type' can be any number (or indeed not an enum/int at all) but the way indirect rendering works, is that effect textures need to be with a start index of 0, and monotonically increasing (both for internal code and shader).

This class helps us to achieve this

Constructor & Destructor Documentation

makVrv::DtIndirectEffectTexturesTemplate::DtIndirectEffectTexturesTemplate ( )

constructor

virtual makVrv::DtIndirectEffectTexturesTemplate::~DtIndirectEffectTexturesTemplate ( )
virtual

destructor

Member Function Documentation

virtual void makVrv::DtIndirectEffectTexturesTemplate::registerType ( int  type)
virtual

register a type of an effect texture

virtual int makVrv::DtIndirectEffectTexturesTemplate::numEffectTextures ( void  ) const
virtual

number of effect texture registered

virtual int makVrv::DtIndirectEffectTexturesTemplate::indexForType ( int  type) const
virtual

get the index, given the type

virtual int makVrv::DtIndirectEffectTexturesTemplate::typeForIndex ( int  index) const
virtual

get the type, given the index

Member Data Documentation

MapIntToInt makVrv::DtIndirectEffectTexturesTemplate::myTypeToIndex
protected
MapIntToInt makVrv::DtIndirectEffectTexturesTemplate::myIndexToType
protected

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

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)