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 DtShaderEffectRain;
38 class DtIndirectTexturePrototype;
39 class DtIndirectGlTextureObject;
72 virtual void initializeEffect(
const std::vector<osg::StateSet*>& stateSets);
78 virtual void releaseGLObjects(osg::State* state)
override;
81 virtual void updateImGui();
84 virtual void updateUniforms();
87 virtual void setCameraLocation(
const DtVector& location);
90 virtual const DtVector& cameraLocation()
const;
93 virtual int rainEffectTextureSize(
void)
const;
98 virtual void installShader(
const std::vector<osg::StateSet*>& stateSets);
101 virtual void uninstallShader(
const std::vector<osg::StateSet*>& stateSets);
107 virtual void removeRainEffectGenerationOp(
void);
110 virtual void slot_rainAccumulationChanged(
double depth);
113 virtual void updateEnabledState(
const float depth);
118 static const std::string& theClassName();
155 const int myRainEffectTextureSize = 512;
float myRainMaskedRoadRange
Definition: DtShaderEffectRain.h:137
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 > myRainColorUniform
Definition: DtShaderEffectRain.h:126
Encapsulate an OpenGL texture object that is created/used in indirect rendering.
Definition: DtIndirectGlTextureObject.h:36
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
float myRainUpThresholdMin
Definition: DtShaderEffectRain.h:134
DtShaderEffectRain injects custom shaders into the scene, Handles rain on the ground causing the grou...
Definition: DtShaderEffectRain.h:53
osg::ref_ptr< osg::Uniform > myEnableRainUniform
Definition: DtShaderEffectRain.h:124
osg::Vec4 myRainColor
Definition: DtShaderEffectRain.h:142
DtVirtualBaseClassCreator< DtShaderEffectRain > DtShaderEffectRainCreator
creator
Definition: DtShaderEffectRain.h:40
Contains makVrv::DtShaderEffect class.
bool myEnablePuddleEffects
Definition: DtShaderEffectRain.h:140
osg::ref_ptr< osg::Uniform > myRainUpThresholdUniform
Definition: DtShaderEffectRain.h:125
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:23
Contains makVrv::DtRandomNumberGenerator class.
const char * creatorTypeName< DtShaderEffectRain >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtShaderEffectRain.h:47
double myCameraAltitude
Definition: DtShaderEffectRain.h:151
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
float myRainMaskedRoadMax
Definition: DtShaderEffectRain.h:136
float myRainUpThresholdRange
Definition: DtShaderEffectRain.h:133
DtSignalConnectionManager myConnections
Definition: DtShaderEffectRain.h:122
Definition: DtRainEffectGeneration.h:27
DtVector myCameraLocation
Definition: DtShaderEffectRain.h:150
Base class to provide boost signal/slot management.
DtOsgWeatherEffectsObject * myWeatherEffectsObject
Definition: DtShaderEffectRain.h:144
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
VRV/Indirect uses its own texture paradigm: DtIndirectTexturePrototype, which is a 'template' for mak...
Definition: DtIndirectTexturePrototype.h:53
float myPrecipitationIntensity
Definition: DtShaderEffectRain.h:153
An OSG implementation of the weather effects object.
Definition: DtOsgWeatherEffectsObject.h:22
float myRainAccumulationDepth
Definition: DtShaderEffectRain.h:138
bool myRainEnabled
Definition: DtShaderEffectRain.h:132
osg::ref_ptr< osg::Uniform > myRainMaskedRoadUniform
Definition: DtShaderEffectRain.h:127