15 #include <osg/ref_ptr>
23 #include <boost/thread/shared_mutex.hpp>
27 #define MAX_TEXTURES 8
31 #define ENV_MAP_SLOT 8
48 class DtOpenGLCubeMap;
65 static std::string theClassName();
68 void setPerPixelLightingEnabled(
bool enabled);
71 bool getPerPixelLightingEnabled()
const;
80 void generateShaders(osg::Node* node,
const std::string& name =
"",
bool shareState =
true,
bool force=
false);
83 void ts_generateShaders(osg::Node* node,
DtOsgFileCache& fileCache,
const std::string& name =
"",
bool shareState =
true,
bool force=
false);
87 void removeShaders(osg::Node* node);
90 void ts_removeShaders(osg::Node* node);
94 void optimizeStateSharing(osg::Node* node);
97 const std::string& shaderFolderPath()
const;
104 void disableShaders(osg::StateSet *stateSet);
108 void installEnvironmentMap(osg::Camera* camera);
113 boost::shared_mutex& optimizeStateSetMutex();;
Diagonal crossing liens.
Definition: DtTacticalGraphicUtilities.h:93
boost::shared_mutex myOptimizeStateSetMutex
Definition: DtOsgShaderManager.h:128
bool myPerPixelLightingEnabled
Definition: DtOsgShaderManager.h:119
Virtual base class.
Definition: DtVirtualBaseClass.h:22
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Definition: featureContext.h:37
bool myPendingPerPixelLightingState
Definition: DtOsgShaderManager.h:120
osg::ref_ptr< DtOpenGLCubeMap > myEnvironmentMapTexture
Definition: DtOsgShaderManager.h:124
std::string myShaderFolderPath
Definition: DtOsgShaderManager.h:126
Contains makVrv::DtVirtualBaseClass class.
The OSG implementation of makVrv::DtOsgFileCache.
Definition: DtOsgFileCache.h:55
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
DtSignalConnectionManager myConnections
Definition: DtOsgShaderManager.h:133
DtOsgShaderManager injects custom shaders into the scenes, and keeps their uniform parameters set to ...
Definition: DtOsgShaderManager.h:55
Base class to provide boost signal/slot management.
bool myPerPixelLightingStateChanged
Definition: DtOsgShaderManager.h:118
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtDe & myDe
Definition: DtOsgShaderManager.h:122