19 #include <matrix/vlVector.h>
24 #include <osg/Texture>
25 #include <osg/Uniform>
26 #include <osg/ref_ptr>
30 class GraphicsContext;
35 class DtOsgWeatherEffectsObject;
36 class DtIndirectTexturePrototype;
37 class DtIndirectGlTextureObjectManager;
53 GLuint64 myTextureAddress = 0;
76 virtual void initializeEffect(
const std::vector<osg::StateSet*>& statesets);
82 virtual void updateTextureUniforms();
85 virtual void setCameraLocation(
const DtVector& location);
89 virtual void setWindSpeed(
float speed);
93 virtual void setWindDirection(
float direction);
96 virtual void setEffectDirty(
bool dirty);
99 virtual bool effectDirty();
102 virtual void updateImGui() = 0;
105 virtual void updateUniforms() = 0;
108 virtual void releaseGLObjects(osg::State* state);
113 virtual int loadShaderEffectTexture(
const std::string&
filename,
const std::string& uniformName);
116 virtual int addShaderEffectTexture(osg::Texture* shaderEffectTexture
The DtOsgRenderer is the component responsible for rendering 3D images onto the screen via OpenSceneG...
Definition: DtOsgRenderer.h:90
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
DtShaderEffect injects custom shaders into the scenes, There are derrived classes of this for snow an...
Definition: DtShaderEffect.h:42
Structure for holding per texture data for bindless textures.
Definition: DtShaderEffect.h:47
TextureDataPtrVector myShaderEffectTextures
Definition: DtShaderEffect.h:123
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
This manager manages the lifetime of the actual gl texture objects (gl unsigned ints) in the indirect...
Definition: DtIndirectGlTextureObjectManager.h:60
DtDe & myDe
Definition: DtShaderEffect.h:121
bool myEffectDirty
Definition: DtShaderEffect.h:125
DtOsgRenderer & myOsgRenderer
Definition: DtShaderEffect.h:129
Contains makVrv::DtVirtualBaseClass class.
DtIndirectGlTextureObjectManager & myIndirectGlTextureObjectManager
Definition: DtShaderEffect.h:127
osg::ref_ptr< osg::Uniform > myUniform
Definition: DtShaderEffect.h:51
osg::ref_ptr< osg::Texture > myTexture
Definition: DtShaderEffect.h:50
Contains makVrv::DtShaderEffectManager class.
Base class to provide boost signal/slot management.
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:72
VRV/Indirect uses its own texture paradigm: DtIndirectTexturePrototype, which is a 'template' for mak...
Definition: DtIndirectTexturePrototype.h:53
std::vector< DtShaderEffectTextureData > TextureDataPtrVector
Definition: DtShaderEffect.h:56
An OSG implementation of the weather effects object.
Definition: DtOsgWeatherEffectsObject.h:22