13 #include <osg/Drawable>
33 class DtGlRenderTexture;
37 struct DtCrepuscularRaysParameters;
81 virtual void reloadShaders();
84 virtual void drawImplementation(osg::RenderInfo& renderInfo)
const;
95 virtual void setSize(
int width,
int height);
98 virtual void setOcclusionTexture(osg::Texture* inputTex);
101 virtual void setBaseTexture(osg::Texture* inputTex);
104 virtual void setVisible(
bool visible) { myVisible = visible; }
105 virtual bool visible()
const {
return myVisible; }
111 virtual void initRenderTextures()
const;
114 virtual void downSample4xPass(osg::State* state)
const;
117 virtual void volumetricRaysPass(osg::State* state)
const;
120 virtual void compositeRaysPass(osg::State* state)
const;
123 virtual void createComputeProgramIfNecessary(VOLUMETRIC_PASS pass,
const std::string& path,
const std::string& name)
const;
126 virtual void createProgramIfNecessary(VOLUMETRIC_PASS pass,
const std::string& path,
const std::string& prefixName)
const;
129 virtual void initializeUniformLocations(VOLUMETRIC_PASS pass)
const;
132 virtual void zeroOutUniformLocations()
const;
135 virtual void deleteShaders()
const;
Definition: DtVolumetricDrawable.h:54
osg::ref_ptr< osg::Texture > myOcclusionTex
Definition: DtVolumetricDrawable.h:141
int myChannelHeight
Definition: DtVolumetricDrawable.h:139
const char * creatorTypeName< DtVolumetricDrawable >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtVolumetricDrawable.h:44
int myMutableBaseTextureLoc
Definition: DtVolumetricDrawable.h:159
int myChannelWidth
Definition: DtVolumetricDrawable.h:138
struture used to exhchange/communicate various crepuscular rays parameters
Definition: DtCrepuscularRaysParameters.h:20
bool myVisible
Definition: DtVolumetricDrawable.h:147
friend DtVolumetricDrawableCreator
friended, to access constructor above
Definition: DtVolumetricDrawable.h:67
Definition: DtVolumetricDrawable.h:55
Definition: DtHdrTypes.h:21
Contains makVrv::DtCrepuscularRaysParameters structure.
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:23
int myMutableVolumetricTextureLoc
Definition: DtVolumetricDrawable.h:160
Definition: DtPostProcessorDrawable.h:33
int myMutableSlLightColorLoc
Definition: DtVolumetricDrawable.h:155
osg::ref_ptr< osg::Texture > myBaseTex
Definition: DtVolumetricDrawable.h:142
virtual bool visible() const
Definition: DtVolumetricDrawable.h:105
virtual void setVisible(bool visible)
set/get visibility
Definition: DtVolumetricDrawable.h:104
int myMutableSlLightPositionOnScreenLoc
Definition: DtVolumetricDrawable.h:153
class used to render crepuscular rays during the post processor camera draw
Definition: DtVolumetricDrawable.h:48
#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:144
int myMutableSlOutputScaleLoc
Definition: DtVolumetricDrawable.h:156
bool myMutableShadersDirtyFlag
This is set to true upon reloadShaders() and will trigger a recreation in drawImplementation() ...
Definition: DtVolumetricDrawable.h:163
int myMutableBaseStrengthLoc
Definition: DtVolumetricDrawable.h:158
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
int myMutableSlParametersLoc
Definition: DtVolumetricDrawable.h:154
A helper classes for creating a RTT target, optionally including depth buffer.
Definition: DtGlTexture.h:20
DtVirtualBaseClassCreator< DtVolumetricDrawable > DtVolumetricDrawableCreator
Definition: DtVolumetricDrawable.h:39
VOLUMETRIC_PASS
Definition: DtVolumetricDrawable.h:51
DtGlTexture * myMutableVolumetricRaysBuffer
Definition: DtVolumetricDrawable.h:145
DtCrepuscularRaysParameters myParameters
Definition: DtVolumetricDrawable.h:151
std::array< DtGlProgram *, PASSES_SIZE > myMutablePrograms
Definition: DtVolumetricDrawable.h:149