17 #include <osg/Texture>
18 #include <osg/Program>
20 #include <osg/Texture2D>
25 #include <boost/unordered_map.hpp>
46 virtual void operator()(osg::Node* node, osg::NodeVisitor* nv);
84 virtual void setFragmentShaderSource(
const char *
source);
91 virtual void setVertexShaderSource(
const char *
source);
98 virtual void setFragmentShaderFile(
const std::string& fileName);
105 virtual void setVertexShaderFile(
const std::string& fileName);
115 virtual bool update(
DtChannel *channel) = 0;
125 virtual void setIsFinalEffect(
const DtChannel *channel,
bool final);
129 virtual osg::Camera* cameraForChannel(
const DtChannel *channel);
133 virtual void slot_releaseResources();
137 virtual void releaseGLObjects();
140 virtual bool hasEffect(
const std::string& effect);
143 virtual bool effectEnabled(
const std::string& effect);
146 virtual bool anyEffectEnabled();
149 virtual bool enableEffect(
const std::string& effect);
153 virtual bool disableEffect(
const std::string& effect);
157 virtual std::list<std::string> supportedEffects();
161 virtual bool handles2D()
const;
164 virtual const std::string& type()
const;
167 virtual void enablePostProcessor();
169 virtual void disablePostProcessor();
173 virtual bool postProcessorEnabled()
const;
178 typedef boost::unordered_map<std::string, bool>
EffectMap;
180 virtual bool effectItrEnabled(
const EffectMap::iterator &effect);
182 virtual void initialize();
187 virtual void addEffect(std::string effect);
190 virtual void setEnablePostProcessor(
bool enabled);
200 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:200
bool myDirty
Definition: DtPostProcessor.h:53
CameraMap myCameraMap
Definition: DtPostProcessor.h:201
DtPostProcessorCreator is the common base class for all post processor creators.
Definition: DtPostProcessor.h:226
osg::ref_ptr< osg::Program > myProgram
Definition: DtPostProcessor.h:195
osg::ref_ptr< osg::Shader > myVertexShader
Definition: DtPostProcessor.h:197
Factory to create the specific DtPostProcessors registered when vrvOsg starts up. ...
Definition: DtPostProcessorFactory.h:26
DtPostProcessorCullVistorCallback()
Definition: DtPostProcessor.h:40
osg::ref_ptr< osg::Texture > myOutputTexture
Definition: DtPostProcessor.h:194
virtual void setDirty(bool flag)
setter for the dirty flag
DtSignalConnectionManager mySignals
Definition: DtPostProcessor.h:220
osg::ref_ptr< osg::Geode > myQuad
Definition: DtPostProcessor.h:198
bool myHandles2DFlag
Definition: DtPostProcessor.h:203
The abstract Channel Class.
Definition: DtChannel.h:30
bool myEnabledFlag
Definition: DtPostProcessor.h:204
EffectMap myEffects
Definition: DtPostProcessor.h:210
std::map< const DtChannel *, CallbackRefPtr > CallbackMap
Definition: DtPostProcessor.h:215
This class provides the OSG-specific management of post-processing effects.
Definition: DtPostProcessManager.h:25
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
std::string myType
Definition: DtPostProcessor.h:207
#define DT_DLL_VRVPOSTPROCESSOR
Definition: vrvPostProcessor.h:19
const char * source
Definition: lz4.h:442
Contains DLL export macros.
osg::ref_ptr< osg::Shader > myFragmentShader
Definition: DtPostProcessor.h:196
Base class to provide boost signal/slot management.
osg::ref_ptr< DtPostProcessorCullVistorCallback > CallbackRefPtr
Definition: DtPostProcessor.h:214
Definition: DtPostProcessor.h:36
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
virtual void operator()(osg::Node *node, osg::NodeVisitor *nv)
DtDe & myDe
Definition: DtPostProcessor.h:219
boost::unordered_map< std::string, bool > EffectMap
Definition: DtPostProcessor.h:178
CallbackMap myCullCallbackMap
Definition: DtPostProcessor.h:217
This class provides the OSG-specific implementation of a post processor.
Definition: DtPostProcessor.h:66