20 #include <osg/ExtendedMaterial>
23 #include <boost/thread/shared_mutex.hpp>
41 TARGET_GEOMETRY = 0x01,
77 int effectTextureTypeFromName(
const std::string& texName);
80 bool isEffectTexture(
const std::string& texName,
const std::string& effectTypeCode);
83 bool isEffectTexture(
const osg::Texture* tex,
const std::string& texName,
const std::string& effectTypeCode);
89 std::string getTextureNameLessExtension(
const std::string& baseFileName);
92 std::string getExtendedFileName(
const std::string& baseFileName,
const std::string& effectTypeCode);
95 int effectTextureTypeFrom(osg::ExtendedMaterial::EffectTextureLayer extendedMaterialLayer);
99 void getPossibleEffectTextureFileNames(
const std::string& baseFileName, std::vector<std::string>& output,
const std::string& effectTypeCode);
102 void registerEffectTextureType(
int effectTextureType,
103 const std::string& readableString,
104 const std::string& typeString,
105 const std::string& postfix,
106 bool isExtendedMaterialType,
107 const std::set<osg::ExtendedMaterial::EffectTextureLayer>& extendedMaterialLayer = std::set<osg::ExtendedMaterial::EffectTextureLayer>());
113 bool hasIndirectShaderForType(
int effectTextureType)
const;
119 std::string toString(
int effectTextureType);
121 std::string toDtEffectTextureTypeString(
int effectTextureType);
124 std::string toTextureMapNameString(
int effectTextureType)
const;
127 std::string toTextureCoordNameString(
int effectTextureType)
const;
130 std::string getTextureArrayPattern(
const std::string& effectUnitName);
133 std::string getTextureArrayReplacement(
const std::string& effectUnitName);
136 bool isSupportedByExtendedMaterial(
int effectTextureType);
140 bool effectTextureInstalled(
const std::string& baseTextureName,
const osg::StateSet* stateSet,
const std::string& effectTypeCode);
143 std::string getTextureFilePathAndSetNameIfNotSet(
const osg::Texture* texture,
bool doSetName);
146 bool isRemoteTexture(
const std::string& texturePath);
153 void registerShaderEffectTarget(
int effectTextureType,
EffectTargetMask effectMask);
boost::shared_mutex myMutableMapTypeToFxTextureShaderMutex
mutable so the accessor function for the map can be const.
Definition: DtEffectTextureRegistry.h:179
std::map< int, EffectTextureTypeInfo > IntEffectTextureTypeMap
Definition: DtEffectTextureRegistry.h:165
Contains info about the shader file, execution priority and name of the shader corresponding to a par...
Definition: DtIndirectEffectTextureShader.h:25
Contains makVrv::DtEffectTextureType declaration.
std::string typeString
Definition: DtEffectTextureRegistry.h:54
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
std::map< int, EffectTargetMask > myMapTypeToEffectMask
Definition: DtEffectTextureRegistry.h:170
static const DtIndirectEffectTextureShader theDummyShader
Definition: DtEffectTextureRegistry.h:182
data only struct for holding information about a particular effect texture type
Definition: DtEffectTextureRegistry.h:50
std::map< int, DtIndirectEffectTextureShader > myMapTypeToFXTextureShader
Definition: DtEffectTextureRegistry.h:168
Contains the DtIndirectEffectTexturesTemplate class declaration.
Contains makVrv::DtVirtualBaseClass class.
class which holds some static utility functions for handling effect textures once we work out how to ...
Definition: DtEffectTextureRegistry.h:32
DtIndirectEffectTexturesTemplate myEffectTexturesTemplate
Definition: DtEffectTextureRegistry.h:176
bool isExtendedMaterialType
Definition: DtEffectTextureRegistry.h:55
Contains the DtIndirectEffectTextureShader class declaration.
EffectTargetMask
Enumeration defining masks which can be used to control Effect texture hookup.
Definition: DtEffectTextureRegistry.h:36
std::string effectTexturePostfix
Definition: DtEffectTextureRegistry.h:57
int effectTextureType
Definition: DtEffectTextureRegistry.h:52
std::set< osg::ExtendedMaterial::EffectTextureLayer > extendedMaterialLayer
Definition: DtEffectTextureRegistry.h:56
EffectTargetMask effectTargetMask
Definition: DtEffectTextureRegistry.h:58
DtDe & myDe
Definition: DtEffectTextureRegistry.h:172
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
Class that allows you to abstractly register effect texture types the effect texture types are client...
Definition: DtIndirectEffectTexturesTemplate.h:40
std::string readableString
Definition: DtEffectTextureRegistry.h:53
IntEffectTextureTypeMap myEffectTextureTypeInfoMap
Definition: DtEffectTextureRegistry.h:166
boost::shared_mutex myEffectTextureInfoTypeMapMutex
Definition: DtEffectTextureRegistry.h:174