![]() |
VR-Forces Developer's Guide
|
This manages the draw components (shader vp wrappers) for combinations of DtIndirectEffectTexturesTemplate + numTextureCoordArrays.

Public Member Functions | |
| virtual | ~DtIndirectShaderManager () |
| virtual DtIndirectShaderComponents * | getOrCreate (const DtIndirectEffectTexturesTemplate &effectTexturesTemplate, int numTextCoordArrays) |
| virtual DtIndirectShaderComponents * | find (const DtIndirectEffectTexturesTemplate &effectTexturesTemplate, int numTextCoordArrays) |
| virtual DtIndirectDebugCullComponent * | debugComponent (void) const |
| virtual std::string | hashString (const DtIndirectEffectTexturesTemplate &effectTexturesState, unsigned int numTextureCoordArrays) const |
| virtual std::string | glslTextureDeclarationHashDefine (const DtIndirectEffectTexturesTemplate &effectTexturesState, unsigned int numTextureCoordArrays) const |
| virtual void | printHashDefineDetails (const DtIndirectEffectTexturesTemplate &effectTexturesState) const |
Public Member Functions inherited from makVrv::DtVirtualBaseClass | |
| DtVirtualBaseClass () | |
| virtual | ~DtVirtualBaseClass () |
Static Public Member Functions | |
| static DtIndirectShaderManager & | instance (DtDe &de) |
Protected Types | |
| typedef tbb::concurrent_hash_map < size_t, DtIndirectShaderComponents * > | HashTable |
Protected Member Functions | |
| DtIndirectShaderManager (DtDe &de) | |
| size_t | hash (const DtIndirectEffectTexturesTemplate &effectTexturesTemplate, int numTextCoordArrays) |
| virtual void | compareAndInsertHashDefine (std::stringstream &ss, int type, int effectTextureIdx) const |
| virtual void | slot_reloadShaders () |
Protected Attributes | |
| DtDe & | myDe |
| HashTable | myHashTable |
| DtIndirectDebugCullComponent * | myIndirectDebugCullComponent = nullptr |
| DtEffectTextureRegistry & | myEffectTextureRegistry |
| DtSignalConnectionManager | myConnections |
Private Member Functions | |
| DtIndirectShaderManager ()=delete | |
| DtIndirectShaderManager (const DtIndirectShaderManager &)=delete | |
| DtIndirectShaderManager & | operator= (const DtIndirectShaderManager &)=delete |
|
protected |
|
virtual |
destructor
|
protected |
constructor. protected. only creator can create
|
privatedelete |
not allowed
|
privatedelete |
not allowed
|
static |
Get an instance of the instance manager.
|
privatedelete |
not allowed
|
virtual |
This function is thread safe.
|
virtual |
This function is thread safe.
|
virtual |
|
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
|
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
|
virtual |
utility for creating a hash key from a textures template
|
protected |
|
protectedvirtual |
check theTextureTypes and add the type define if it is in the list of types.
|
protectedvirtual |
slot for handling when the shaders are reloaded
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |