21 #include <osg/ref_ptr>
23 #include <osg/Matrixd>
24 #include <osg/OperationThread>
27 #include <osg/RenderInfo>
31 class DtOsgWeatherEffectsObject;
68 virtual void execute(
void);
91 virtual void initializeEffects();
94 virtual void updateTextureUniforms();
97 virtual void update();
100 virtual void updateChannel(
DtOsgChannel* channel, osg::Vec3d pos);
106 virtual void slot_reloadShader();
109 virtual void slot_windSpeedChanged(
float metersPerSecond);
112 virtual void slot_windDirectionChanged(
float radians);
121 virtual void releaseGLObjects(osg::State* state);
124 virtual bool anyEffectDirty(osg::Camera* camera);
131 virtual void installEffectsToCamera(osg::Camera* camera);
138 static const std::string& theClassName();
143 virtual void updateImGui();
146 virtual void updateUniforms();
152 osg::Camera* camera,
bool createShaderEffects);
155 virtual void flushInvalidChannels();
159 virtual void initializeChannelEffects();
osg::ref_ptr< osg::CoordinateSystemNode > CoordinateSystemNodeRef
Definition: DtShaderEffectManager.h:174
float myWindDirection
Definition: DtShaderEffectManager.h:182
DtOsgWeatherEffectsObject * myWeatherEffectsObject
Definition: DtShaderEffectManager.h:177
The DtOsgRenderer is the component responsible for rendering 3D images onto the screen via OpenSceneG...
Definition: DtOsgRenderer.h:91
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
ShaderEffectSet myShaderEffectSet
Definition: DtShaderEffectManager.h:54
Encapsulate an operation that needs to happen on the gpu This can be anything (transfer, compute, drawing, etc) It is called from DtGpuArena/DtGpuArenaUserData.
Definition: DtGpuOperation.h:20
DtShaderEffectManager & myShaderEffectManager
Definition: DtShaderEffectManager.h:70
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtShaderEffectManager injects custom shaders into the scenes, uses DtShaderEffect objects to add rend...
Definition: DtShaderEffectManager.h:40
This class provides the OSG-specific implementation of a DtChannel.
Definition: DtOsgChannel.h:58
osg::Vec3d myLocalPostion
Definition: DtShaderEffectManager.h:52
float myWindSpeed
Definition: DtShaderEffectManager.h:181
Contains the DtGpuOperation class declaration.
Contains makVrv::DtVirtualBaseClass class.
DtDe & myDe
Definition: DtShaderEffectManager.h:165
std::set< DtShaderEffect * > ShaderEffectSet
Definition: DtShaderEffectManager.h:44
CoordinateSystemNodeRef myCoordSystemNode
Definition: DtShaderEffectManager.h:175
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Structure for holding per channel data for the effects.
Definition: DtShaderEffectManager.h:49
osg::Matrixd myLocalMatrixTranformInverse
Definition: DtShaderEffectManager.h:53
Base class to provide boost signal/slot management.
std::map< osg::observer_ptr< osg::Camera >, DtShaderEffectPerChannelData * > PerChannelDataMap
Definition: DtShaderEffectManager.h:171
DtSignalConnectionManager myConnections
Definition: DtShaderEffectManager.h:167
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
Definition: DtShaderEffectManager.h:60
DtOsgRenderer & myOsgRenderer
Definition: DtShaderEffectManager.h:169
PerChannelDataMap myPerChannelDataMap
Definition: DtShaderEffectManager.h:172
An OSG implementation of the weather effects object.
Definition: DtOsgWeatherEffectsObject.h:22