![]() |
VR-Forces 5.0.3 Developer's Guide
|
Abstract class to look in the stateset and collect textures specified via its template The effect texture visitor installs effect textures during loading Indirect rendering needs to know which effect textures these are (so it can install its indirect rendering based shaders, etc). These are slightly different in case of point features, cdb, etc This abstract class allows you to handle these abstractly.

Public Member Functions | |
| virtual | ~DtIndirectTextureCollectionPolicy () |
| virtual void | collectTextures (DtIndirectGeometryTextures *texturePointers, const osg::StateSet *stateSet, const std::string &modelName) const =0 |
| virtual const DtIndirectEffectTexturesTemplate & | effectTexturesTemplate (void) const |
| virtual std::string | hashKey (const DtIndirectEffectTexturesTemplate &effectTexturesState, unsigned int textureCoordinateCount) const |
| virtual const std::string & | glslTextureDeclarationHashDefine (const DtIndirectEffectTexturesTemplate &effectTexturesState, unsigned int numTexCoords) const =0 |
| virtual void | printHashDefineDetails (const DtIndirectEffectTexturesTemplate &effectTexturesState) const =0 |
Protected Types | |
| typedef std::map< std::string, std::string > | MapEffectTexturesStateToHashDefines |
Protected Member Functions | |
| DtIndirectTextureCollectionPolicy (DtDe &de) | |
Protected Attributes | |
| DtIndirectEffectTexturesTemplate | myEffectTexturesTemplate |
| boost::mutex | myMutex |
| MapEffectTexturesStateToHashDefines | myMutableMapEffectTexturesStateToHashDefines |
| DtDe & | myDe |
Friends | |
| class | DtIndirectTextureCollectionPolicyCreator |
|
protected |
|
virtual |
destructor
|
protected |
constructor
|
pure virtual |
inherited class must implement the found textures go into texturePointers pass in the model name to improve the error messages
Implemented in makVrv::DtIndirectDefaultTextureCollectionPolicy, and makVrv::oe::CDB::DtCDBTextureCollectionPolicy.
|
virtual |
access the template
|
pure virtual |
access the the texture declaration (effectively the texture declaration in the shader) The types of effect textures are different in the case of cdb vs point features vs byo Therefore, the corresponding texture structure declarations used by the indirect rendering shaders are different. This function abstractly allows you to query the declarations in each policy type. This texture declaration is built off of the corresponding DtIndirectEffectTexturesTemplate which is different in each concrete policy type
Implemented in makVrv::DtIndirectDefaultTextureCollectionPolicy, and makVrv::oe::CDB::DtCDBTextureCollectionPolicy.
|
pure virtual |
access the the texture declaration (effectively the texture declaration in the shader) The types of effect textures are different in the case of cdb vs point features vs byo Therefore, the corresponding texture structure declarations used by the indirect rendering shaders are different. This function abstractly allows you to query the declarations in each policy type. This texture declaration is built off of the corresponding DtIndirectEffectTexturesTemplate which is different in each concrete policy type
Implemented in makVrv::DtIndirectDefaultTextureCollectionPolicy, and makVrv::oe::CDB::DtCDBTextureCollectionPolicy.
|
virtual |
utility for creating a hash key from a textures template
|
friend |
cannot create directly, must use creator
|
protected |
|
mutableprotected |
|
mutableprotected |
|
protected |