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...
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 |
( |
| ) |
|
| virtual makVrv::DtIndirectEffectTexturesTemplate::~DtIndirectEffectTexturesTemplate |
( |
| ) |
|
|
virtual |
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: