13 #include <osg/Drawable>
31 class DtGlRenderTexture;
35 struct DtCrepuscularRaysParameters;
79 virtual void reloadShaders();
82 virtual void drawImplementation(osg::RenderInfo& renderInfo)
const;
93 virtual void setSize(
int width,
int height);
96 virtual void setOcclusionTexture(osg::Texture* inputTex);
99 virtual void setBaseTexture(osg::Texture* inputTex);
102 virtual void setVisible(
bool visible) { myVisible = visible; }
103 virtual bool visible()
const {
return myVisible; }
109 virtual void initRenderTextures()
const;
112 virtual void downSample4xPass(osg::State* state)
const;
115 virtual void volumetricRaysPass(osg::State* state)
const;
118 virtual void compositeRaysPass(osg::State* state)
const;
121 virtual void createComputeProgramIfNecessary(VOLUMETRIC_PASS pass,
const std::string& path,
const std::string& name)
const;
124 virtual void createProgramIfNecessary(VOLUMETRIC_PASS pass,
const std::string& path,
const std::string& prefixName)
const;
127 virtual void initializeUniformLocations(VOLUMETRIC_PASS pass)
const;
130 virtual void zeroOutUniformLocations()
const;
133 virtual void deleteShaders()
const;
Definition: DtVolumetricDrawable.h:52
osg::ref_ptr< osg::Texture > myOcclusionTex
Definition: DtVolumetricDrawable.h:139
int myChannelHeight
Definition: DtVolumetricDrawable.h:137
const char * creatorTypeName< DtVolumetricDrawable >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtVolumetricDrawable.h:42
int myMutableBaseTextureLoc
Definition: DtVolumetricDrawable.h:157
int myChannelWidth
Definition: DtVolumetricDrawable.h:136
struture used to exhchange/communicate various crepuscular rays parameters
Definition: DtCrepuscularRaysParameters.h:20
bool myVisible
Definition: DtVolumetricDrawable.h:145
friend DtVolumetricDrawableCreator
friended, to access constructor above
Definition: DtVolumetricDrawable.h:65
Definition: DtVolumetricDrawable.h:53
Contains makVrv::DtCrepuscularRaysParameters structure.
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
int myMutableVolumetricTextureLoc
Definition: DtVolumetricDrawable.h:158
Definition: DtPostProcessorDrawable.h:24
int myMutableSlLightColorLoc
Definition: DtVolumetricDrawable.h:153
osg::ref_ptr< osg::Texture > myBaseTex
Definition: DtVolumetricDrawable.h:140
virtual bool visible() const
Definition: DtVolumetricDrawable.h:103
virtual void setVisible(bool visible)
set/get visibility
Definition: DtVolumetricDrawable.h:102
int myMutableSlLightPositionOnScreenLoc
Definition: DtVolumetricDrawable.h:151
class used to render crepuscular rays during the post processor camera draw
Definition: DtVolumetricDrawable.h:46
#define DT_DLL_VRVPOSTPROCESSOR
Definition: vrvPostProcessor.h:19
This file contains the declaration of the class DtPostProcessorDrawable which is used for rendering p...
Contains DLL export macros.
DtGlTexture * myMutableDownSampledOcclusionTexture
Definition: DtVolumetricDrawable.h:142
int myMutableSlOutputScaleLoc
Definition: DtVolumetricDrawable.h:154
bool myMutableShadersDirtyFlag
This is set to true upon reloadShaders() and will trigger a recreation in drawImplementation() ...
Definition: DtVolumetricDrawable.h:161
int myMutableBaseStrengthLoc
Definition: DtVolumetricDrawable.h:156
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
int myMutableSlParametersLoc
Definition: DtVolumetricDrawable.h:152
A helper classes for creating a RTT target, optionally including depth buffer.
Definition: DtGlTexture.h:20
DtVirtualBaseClassCreator< DtVolumetricDrawable > DtVolumetricDrawableCreator
Definition: DtVolumetricDrawable.h:37
VOLUMETRIC_PASS
Definition: DtVolumetricDrawable.h:49
DtGlTexture * myMutableVolumetricRaysBuffer
Definition: DtVolumetricDrawable.h:143
DtCrepuscularRaysParameters myParameters
Definition: DtVolumetricDrawable.h:149
std::array< DtGlProgram *, PASSES_SIZE > myMutablePrograms
Definition: DtVolumetricDrawable.h:147