15 #include <osg/Texture>
16 #include <osg/Program>
18 #include <osg/Texture2D>
23 #include <boost/unordered_map.hpp>
42 virtual void operator()(osg::Node* node, osg::NodeVisitor* nv);
80 virtual void setFragmentShaderSource(
const char *
source);
87 virtual void setVertexShaderSource(
const char *
source);
94 virtual void setFragmentShaderFile(
const std::string& fileName);
101 virtual void setVertexShaderFile(
const std::string& fileName);
111 virtual bool update(
DtChannel *channel) = 0;
121 virtual void setIsFinalEffect(
const DtChannel *channel,
bool final);
125 virtual osg::Camera* cameraForChannel(
const DtChannel *channel);
127 virtual void releaseGLObjects();
130 virtual bool hasEffect(
const std::string& effect);
133 virtual bool effectEnabled(
const std::string& effect);
136 virtual bool anyEffectEnabled();
139 virtual bool enableEffect(
const std::string& effect);
143 virtual bool disableEffect(
const std::string& effect);
147 virtual std::list<std::string> supportedEffects();
151 virtual bool handles2D()
const;
154 virtual const std::string& type()
const;
157 virtual void enablePostProcessor();
159 virtual void disablePostProcessor();
163 virtual bool postProcessorEnabled()
const;
168 typedef boost::unordered_map<std::string, bool>
EffectMap;
170 virtual bool effectItrEnabled(EffectMap::iterator &effect);
172 virtual void initialize();
177 virtual void addEffect(std::string effect);
180 virtual void setEnablePostProcessor(
bool enabled);
190 typedef std::map<const DtChannel*, osg::ref_ptr<osg::Camera> >
CameraMap;
Diagonal crossing liens.
Definition: DtTacticalGraphicUtilities.h:93
std::map< const DtChannel *, osg::ref_ptr< osg::Camera > > CameraMap
Definition: DtPostProcessor.h:190
bool myDirty
Definition: DtPostProcessor.h:49
CameraMap myCameraMap
Definition: DtPostProcessor.h:191
DtPostProcessorCreator is the common base class for all post processor creators.
Definition: DtPostProcessor.h:213
osg::ref_ptr< osg::Program > myProgram
Definition: DtPostProcessor.h:185
osg::ref_ptr< osg::Shader > myVertexShader
Definition: DtPostProcessor.h:187
Factory to create the specific DtPostProcessors registered when vrvOsg starts up. ...
Definition: DtPostProcessorFactory.h:26
DtPostProcessorCullVistorCallback()
Definition: DtPostProcessor.h:37
osg::ref_ptr< osg::Texture > myOutputTexture
Definition: DtPostProcessor.h:184
virtual void setDirty(bool flag)
setter for the dirty flag
osg::ref_ptr< osg::Geode > myQuad
Definition: DtPostProcessor.h:188
bool myHandles2DFlag
Definition: DtPostProcessor.h:193
The abstract Channel Class.
Definition: DtChannel.h:29
bool myEnabledFlag
Definition: DtPostProcessor.h:194
EffectMap myEffects
Definition: DtPostProcessor.h:200
std::map< const DtChannel *, CallbackRefPtr > CallbackMap
Definition: DtPostProcessor.h:205
This class provides the OSG-specific management of post-processing effects.
Definition: DtPostProcessManager.h:25
std::string myType
Definition: DtPostProcessor.h:197
#define DT_DLL_VRVPOSTPROCESSOR
Definition: vrvPostProcessor.h:19
const char * source
Definition: lz4.h:436
Contains DLL export macros.
osg::ref_ptr< osg::Shader > myFragmentShader
Definition: DtPostProcessor.h:186
osg::ref_ptr< DtPostProcessorCullVistorCallback > CallbackRefPtr
Definition: DtPostProcessor.h:204
Definition: DtPostProcessor.h:33
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
virtual void operator()(osg::Node *node, osg::NodeVisitor *nv)
boost::unordered_map< std::string, bool > EffectMap
Definition: DtPostProcessor.h:168
CallbackMap myCullCallbackMap
Definition: DtPostProcessor.h:207
This class provides the OSG-specific implementation of a post processor.
Definition: DtPostProcessor.h:62