21 #include <osg/ref_ptr>
22 #include <osg/Texture2D>
23 #include <osg/Uniform>
25 #include <osg/StateSet>
26 #include <osg/OperationThread>
35 class DtOsgWeatherEffectsObject;
37 class DtShaderEffectSnow;
38 class DtIndirectTexturePrototype;
71 virtual void initializeEffect(
const std::vector<osg::StateSet*>& statesets);
74 virtual void releaseGLObjects(osg::State* state)
override;
80 virtual void reloadShader();
83 virtual void updateImGui();
86 virtual void updateUniforms();
89 virtual void setCameraLocation(
const DtVector& location);
92 virtual const DtVector& cameraLocation()
const;
96 virtual void setWindSpeed(
float speed);
100 virtual void setWindDirection(
float direction);
105 static const std::string& theClassName();
110 virtual void installShader(
const std::vector<osg::StateSet*>& stateSets);
113 virtual void uninstallShader(
const std::vector<osg::StateSet*>& stateSets);
116 virtual void updateEnabledState();
119 virtual void slot_snowAccumulationChanged(
double depth);
122 virtual void slot_snowRoadAccumulationChanged(
double depth);
125 virtual void slot_snowMinimumElevationChanged(
double elevation);
128 virtual void slot_snowElevationTransitionChanged(
double elevation);
131 virtual void slot_PreObserverUpdate(
double simTime);
174 friend class DtSnowEffectGeneration;
osg::ref_ptr< osg::Uniform > mySnowMaskedRoadUniform
Definition: DtShaderEffectSnow.h:139
osg::ref_ptr< osg::Uniform > myEnableSnowUniform
Definition: DtShaderEffectSnow.h:136
float mySnowUpThresholdMin
Definition: DtShaderEffectSnow.h:152
DtShaderEffect injects custom shaders into the scenes, There are derrived classes of this for snow an...
Definition: DtShaderEffect.h:42
osg::ref_ptr< osg::Uniform > mySnowPolyMaskUniform
Definition: DtShaderEffectSnow.h:141
Encapsulate an OpenGL texture object that is created/used in indirect rendering.
Definition: DtIndirectGlTextureObject.h:36
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtVirtualBaseClassCreator< DtShaderEffectSnow > DtShaderEffectSnowCreator
creator
Definition: DtShaderEffectSnow.h:39
unsigned int GLuint
Definition: DtGlTextureBufferObject.h:18
float mySnowUpThresholdRange
Definition: DtShaderEffectSnow.h:151
const char * creatorTypeName< DtShaderEffectSnow >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtShaderEffectSnow.h:46
DtSignalConnectionManager myConnections
Definition: DtShaderEffectSnow.h:134
GLuint mySnowEffectTextureId
Definition: DtShaderEffectSnow.h:143
Contains makVrv::DtShaderEffect class.
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
float mySnowMaskedRoadMax
Definition: DtShaderEffectSnow.h:156
osg::ref_ptr< osg::Uniform > mySnowWindUniform
Definition: DtShaderEffectSnow.h:140
float myWindOffset
Definition: DtShaderEffectSnow.h:166
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
osg::ref_ptr< osg::Uniform > mySnowUpThresholdUniform
Definition: DtShaderEffectSnow.h:137
DtOsgWeatherEffectsObject * myWeatherEffectsObject
Definition: DtShaderEffectSnow.h:172
Base class to provide boost signal/slot management.
osg::Vec4 myWindUniform
Definition: DtShaderEffectSnow.h:164
bool mySnowEnabled
Definition: DtShaderEffectSnow.h:149
osg::ref_ptr< osg::Texture2D > mySnowEffectTexture
Definition: DtShaderEffectSnow.h:145
float mySnowElevationRange
Definition: DtShaderEffectSnow.h:154
GLuint64 mySnowEffectImageHandle
Definition: DtShaderEffectSnow.h:144
Contains DLL export macros.
osg::ref_ptr< osg::Uniform > mySnowColorUniform
Definition: DtShaderEffectSnow.h:138
float mySnowElevationMin
Definition: DtShaderEffectSnow.h:153
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:72
DtVector myCameraLocation
Definition: DtShaderEffectSnow.h:169
bool myImGuiSnowEnabled
Definition: DtShaderEffectSnow.h:150
VRV/Indirect uses its own texture paradigm: DtIndirectTexturePrototype, which is a 'template' for mak...
Definition: DtIndirectTexturePrototype.h:53
double myLastSimulationTime
Definition: DtShaderEffectSnow.h:167
bool myEnableBlowingSnow
Definition: DtShaderEffectSnow.h:159
double myCameraAltitude
Definition: DtShaderEffectSnow.h:170
An OSG implementation of the weather effects object.
Definition: DtOsgWeatherEffectsObject.h:22
osg::Vec4 mySnowColor
Definition: DtShaderEffectSnow.h:161
DtShaderEffectSnow injects custom shaders into the scene, Handles snow on the ground causing the grou...
Definition: DtShaderEffectSnow.h:52
float mySnowMaskedRoadRange
Definition: DtShaderEffectSnow.h:157