19 #include <osg/ref_ptr>
20 #include <osg/Texture3D>
22 #include <osg/OperationThread>
74 virtual void operator () (osg::Object* sv);
77 virtual void release();
123 virtual void initialize();
126 virtual void releaseGLObjects(osg::State* state);
133 virtual bool bindFogFroxelTexture(
const int unit,
const unsigned int renderContextId);
137 virtual void resetVolumes();
148 virtual void addVolume(
const osg::Vec3d& position,
149 const osg::Matrixf& rotation,
const float width,
const float length,
150 const float height,
const float density);
153 virtual void updateForView(
const osg::Matrixf& projMat,
const osg::Matrixd& viewMat);
156 virtual float maxGridDistance()
const;
164 virtual void slot_reloadShaders();
int myCubeDataUniformLoc
Definition: DtWeatherFogFroxelGrid.h:96
const char * creatorTypeName< DtWeatherFogFroxelGrid >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtWeatherFogFroxelGrid.h:38
int myViewInvMatUniformLoc
Definition: DtWeatherFogFroxelGrid.h:92
DtVirtualBaseClassCreator< DtWeatherFogFroxelGrid > DtWeatherFogFroxelGridCreator
creator
Definition: DtWeatherFogFroxelGrid.h:31
float width
Definition: DtWeatherFogFroxelGrid.h:183
The DtOsgRenderer is the component responsible for rendering 3D images onto the screen via OpenSceneG...
Definition: DtOsgRenderer.h:90
Virtual base class.
Definition: DtVirtualBaseClass.h:19
float length
Definition: DtWeatherFogFroxelGrid.h:184
DtOsgRenderer & myOsgRenderer
Definition: DtWeatherFogFroxelGrid.h:191
Definition: DtWeatherFogFroxelGrid.h:53
osg::Matrixd myViewMat
Definition: DtWeatherFogFroxelGrid.h:199
float height
Definition: DtWeatherFogFroxelGrid.h:185
osg::ref_ptr< FroxelGenerationJob > myFroxelGenerationJob
Definition: DtWeatherFogFroxelGrid.h:196
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
osg::ref_ptr< osg::Texture3D > myVoxelTexture
Definition: DtWeatherFogFroxelGrid.h:194
DtDe & myDe
Definition: DtWeatherFogFroxelGrid.h:189
int myBoxPosUniformLoc
Definition: DtWeatherFogFroxelGrid.h:93
Volume()
Definition: DtWeatherFogFroxelGrid.h:171
osg::Matrixf rotation
Definition: DtWeatherFogFroxelGrid.h:182
unsigned int GLuint
Definition: DtGlTextureBufferObject.h:17
A convenience class to represent an OpenGL Shader Program.
Definition: DtGlProgram.h:65
int myReverseZUniformLoc
Definition: DtWeatherFogFroxelGrid.h:89
int myProjInvMatUniformLoc
Definition: DtWeatherFogFroxelGrid.h:91
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
int myBoxRotUniformLoc
Definition: DtWeatherFogFroxelGrid.h:94
float density
Definition: DtWeatherFogFroxelGrid.h:186
DtWeatherFogFroxelGrid & myWeatherFogFroxelGrid
Definition: DtWeatherFogFroxelGrid.h:85
Contains makVrv::DtVirtualBaseClass class.
DtGlProgram * myComputeProgram
Definition: DtWeatherFogFroxelGrid.h:87
osg::Vec3d position
Definition: DtWeatherFogFroxelGrid.h:181
DtWeatherFogFroxelGrid uses a frustum voxel grid to compute density/translucency at voxel locations b...
Definition: DtWeatherFogFroxelGrid.h:46
DtDe & myDe
Definition: DtWeatherFogFroxelGrid.h:84
std::vector< Volume * > myVolumes
Definition: DtWeatherFogFroxelGrid.h:201
GLuint myVoxelTextureId
Definition: DtWeatherFogFroxelGrid.h:193
int myActiveVolumes
Definition: DtWeatherFogFroxelGrid.h:202
int myOutputTextureUniformLoc
Definition: DtWeatherFogFroxelGrid.h:88
int myProjMatUniformLoc
Definition: DtWeatherFogFroxelGrid.h:90
A structure used to define a volume (bounds, transform, density).
Definition: DtWeatherFogFroxelGrid.h:169
Contains DLL export macros.
int myBoxSizeUniformLoc
Definition: DtWeatherFogFroxelGrid.h:95
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Contains makVrv::DtOsgRenderer class.
float myMaxGridDistance
Definition: DtWeatherFogFroxelGrid.h:204
osg::Matrixf myProjMat
Definition: DtWeatherFogFroxelGrid.h:198
friend DtWeatherFogFroxelGridCreator
Definition: DtWeatherFogFroxelGrid.h:50