20 #include <osg/ExtendedMaterial>
23 #include <boost/thread/shared_mutex.hpp>
64 int effectTextureTypeFromName(
const std::string& texName);
67 bool isEffectTexture(
const std::string& texName,
const std::string& effectTypeCode);
70 bool isEffectTexture(
const osg::Texture* tex,
const std::string& texName,
const std::string& effectTypeCode);
76 std::string getTextureNameLessExtension(
const std::string& baseFileName);
79 std::string getExtendedFileName(
const std::string& baseFileName,
const std::string& effectTypeCode);
82 int effectTextureTypeFrom(osg::ExtendedMaterial::EffectTextureLayer extendedMaterialLayer);
86 void getPossibleEffectTextureFileNames(
const std::string& baseFileName, std::vector<std::string>& output,
const std::string& effectTypeCode);
89 void registerEffectTextureType(
int effectTextureType,
90 const std::string& readableString,
91 const std::string& typeString,
92 const std::string& postfix,
93 bool isExtendedMaterialType,
94 const std::set<osg::ExtendedMaterial::EffectTextureLayer>& extendedMaterialLayer = std::set<osg::ExtendedMaterial::EffectTextureLayer>());
100 bool hasIndirectShaderForType(
int effectTextureType)
const;
106 std::string toString(
int effectTextureType);
108 std::string toDtEffectTextureTypeString(
int effectTextureType);
111 std::string toTextureMapNameString(
int effectTextureType)
const;
114 std::string toTextureCoordNameString(
int effectTextureType)
const;
117 std::string getTextureArrayPattern(
const std::string& effectUnitName);
120 std::string getTextureArrayReplacement(
const std::string& effectUnitName);
123 bool isSupportedByExtendedMaterial(
int effectTextureType);
127 bool effectTextureInstalled(
const std::string& baseTextureName,
const osg::StateSet* stateSet,
const std::string& effectTypeCode);
130 std::string getTextureFilePathAndSetNameIfNotSet(
const osg::Texture* texture,
bool doSetName);
133 bool isRemoteTexture(
const std::string& texturePath);
Diagonal crossing liens.
Definition: DtTacticalGraphicUtilities.h:93
boost::shared_mutex myMutableMapTypeToFxTextureShaderMutex
mutable so the accessor function for the map can be const.
Definition: DtEffectTextureRegistry.h:158
std::map< int, EffectTextureTypeInfo > IntEffectTextureTypeMap
Definition: DtEffectTextureRegistry.h:146
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:42
Virtual base class.
Definition: DtVirtualBaseClass.h:22
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
static const DtIndirectEffectTextureShader theDummyShader
Definition: DtEffectTextureRegistry.h:161
data only struct for holding information about a particular effect texture type
Definition: DtEffectTextureRegistry.h:38
std::map< int, DtIndirectEffectTextureShader > myMapTypeToFXTextureShader
Definition: DtEffectTextureRegistry.h:149
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:155
bool isExtendedMaterialType
Definition: DtEffectTextureRegistry.h:43
Contains the DtIndirectEffectTextureShader class declaration.
std::string effectTexturePostfix
Definition: DtEffectTextureRegistry.h:45
int effectTextureType
Definition: DtEffectTextureRegistry.h:40
std::set< osg::ExtendedMaterial::EffectTextureLayer > extendedMaterialLayer
Definition: DtEffectTextureRegistry.h:44
DtDe & myDe
Definition: DtEffectTextureRegistry.h:151
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Class that allows you to abstractly register effect texture types the effect texture types are client...
Definition: DtIndirectEffectTexturesTemplate.h:38
std::string readableString
Definition: DtEffectTextureRegistry.h:41
IntEffectTextureTypeMap myEffectTextureTypeInfoMap
Definition: DtEffectTextureRegistry.h:147
boost::shared_mutex myEffectTextureInfoTypeMapMutex
Definition: DtEffectTextureRegistry.h:153