19 #include <osg/ref_ptr>
20 #include <osg/Texture2D>
21 #include <osg/Uniform>
23 #include <osg/StateSet>
24 #include <osg/OperationThread>
33 class DtOsgWeatherEffectsObject;
63 void setWind(
const osg::Vec4& wind);
75 virtual void operator () (osg::Object* sv);
78 virtual void release();
123 virtual void initializeEffect(
const std::vector<osg::StateSet*>& statesets,
127 virtual void releaseGLObjects(osg::State* state)
override;
133 virtual void reloadShader();
136 virtual void updateImGui();
139 virtual void updateUniforms();
142 virtual void setCameraLocation(
const DtVector& location);
145 virtual const DtVector& cameraLocation()
const;
149 virtual void setWindSpeed(
float speed);
153 virtual void setWindDirection(
float direction);
158 static const std::string& theClassName();
163 virtual void installShader(
const std::vector<osg::StateSet*>& stateSets);
166 virtual void uninstallShader(
const std::vector<osg::StateSet*>& stateSets);
169 virtual void updateEnabledState();
172 virtual void slot_snowAccumulationChanged(
double depth);
175 virtual void slot_snowRoadAccumulationChanged(
double depth);
178 virtual void slot_snowMinimumElevationChanged(
double elevation);
181 virtual void slot_snowElevationTransitionChanged(
double elevation);
184 virtual void slot_PreObserverUpdate(
double simTime);
osg::ref_ptr< osg::Uniform > mySnowMaskedRoadUniform
Definition: DtShaderEffectSnow.h:196
The DtOsgRenderer is the component responsible for rendering 3D images onto the screen via OpenSceneG...
Definition: DtOsgRenderer.h:87
Implementation independent random number generator.
Definition: DtRandomNumberGenerator.h:20
osg::ref_ptr< osg::Uniform > myEnableSnowUniform
Definition: DtShaderEffectSnow.h:193
float mySnowUpThresholdMin
Definition: DtShaderEffectSnow.h:207
DtShaderEffect injects custom shaders into the scenes, There are derrived classes of this for snow an...
Definition: DtShaderEffect.h:42
double myLastSimTime
Definition: DtShaderEffectSnow.h:97
osg::ref_ptr< osg::Uniform > mySnowPolyMaskUniform
Definition: DtShaderEffectSnow.h:198
Definition: DtShaderEffectSnow.h:52
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtRandomNumberGenerator myRandomNumberGen
Definition: DtShaderEffectSnow.h:84
DtShaderEffectSnow & myShaderEffectSnow
Definition: DtShaderEffectSnow.h:86
DtGlProgram * myComputeProgram
Definition: DtShaderEffectSnow.h:89
DtVirtualBaseClassCreator< DtShaderEffectSnow > DtShaderEffectSnowCreator
creator
Definition: DtShaderEffectSnow.h:35
unsigned int GLuint
Definition: DtGlTextureBufferObject.h:17
float mySnowUpThresholdRange
Definition: DtShaderEffectSnow.h:206
double myLastDropTime
Definition: DtShaderEffectSnow.h:99
const char * creatorTypeName< DtShaderEffectSnow >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtShaderEffectSnow.h:42
std::vector< float > myBlowingSnowLine
Definition: DtShaderEffectSnow.h:100
DtSignalConnectionManager myConnections
Definition: DtShaderEffectSnow.h:191
A convenience class to represent an OpenGL Shader Program.
Definition: DtGlProgram.h:65
DtDe & myDe
Definition: DtShaderEffectSnow.h:87
GLuint mySnowEffectTextureId
Definition: DtShaderEffectSnow.h:200
Contains makVrv::DtShaderEffect class.
DtOsgRenderer & myOsgRenderer
Definition: DtShaderEffectSnow.h:231
bool myClearedLines
Definition: DtShaderEffectSnow.h:91
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
int mySimTimeUniformLoc
Definition: DtShaderEffectSnow.h:93
Contains makVrv::DtRandomNumberGenerator class.
float mySnowMaskedRoadMax
Definition: DtShaderEffectSnow.h:211
osg::ref_ptr< osg::Uniform > mySnowWindUniform
Definition: DtShaderEffectSnow.h:197
float myWindOffset
Definition: DtShaderEffectSnow.h:221
int myBlownSnowTexUniformLoc
Definition: DtShaderEffectSnow.h:94
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
osg::Vec4 myWindUniform
Definition: DtShaderEffectSnow.h:102
Definition: DtIndirectTextureProcessor.h:42
osg::ref_ptr< osg::Uniform > mySnowUpThresholdUniform
Definition: DtShaderEffectSnow.h:194
SnowEffectGeneration * mySnowEffectGenerationJob
Definition: DtShaderEffectSnow.h:229
DtOsgWeatherEffectsObject * myWeatherEffectsObject
Definition: DtShaderEffectSnow.h:227
Base class to provide boost signal/slot management.
osg::Vec4 myWindUniform
Definition: DtShaderEffectSnow.h:219
int myWindUniformLoc
Definition: DtShaderEffectSnow.h:95
bool mySnowEnabled
Definition: DtShaderEffectSnow.h:204
int myCurLine
Definition: DtShaderEffectSnow.h:96
osg::ref_ptr< osg::Texture2D > mySnowEffectTexture
Definition: DtShaderEffectSnow.h:202
float mySnowElevationRange
Definition: DtShaderEffectSnow.h:209
GLuint64 mySnowEffectImageHandle
Definition: DtShaderEffectSnow.h:201
Contains DLL export macros.
osg::ref_ptr< osg::Uniform > mySnowColorUniform
Definition: DtShaderEffectSnow.h:195
float mySnowElevationMin
Definition: DtShaderEffectSnow.h:208
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:70
DtVector myCameraLocation
Definition: DtShaderEffectSnow.h:224
bool myImGuiSnowEnabled
Definition: DtShaderEffectSnow.h:205
int myOutputTextureUniformLoc
Definition: DtShaderEffectSnow.h:92
double myLastSimulationTime
Definition: DtShaderEffectSnow.h:222
bool myEnableBlowingSnow
Definition: DtShaderEffectSnow.h:214
double myCameraAltitude
Definition: DtShaderEffectSnow.h:225
An OSG implementation of the weather effects object.
Definition: DtOsgWeatherEffectsObject.h:22
osg::Vec4 mySnowColor
Definition: DtShaderEffectSnow.h:216
double myLastWindTime
Definition: DtShaderEffectSnow.h:98
DtShaderEffectSnow injects custom shaders into the scene, Handles snow on the ground causing the grou...
Definition: DtShaderEffectSnow.h:48
float mySnowMaskedRoadRange
Definition: DtShaderEffectSnow.h:212