![]() |
VR-Forces Developer's Guide
|
class used to render crepuscular rays during the post processor camera draw

Public Types | |
| enum | VOLUMETRIC_PASS { DOWNSAMPLE4X = 0, VOLUMETRIC_RAYS, FINAL_PASS, PASSES_SIZE } |
Public Member Functions | |
| virtual | ~DtVolumetricDrawable () |
| virtual void | reloadShaders () |
| virtual void | drawImplementation (osg::RenderInfo &renderInfo) const |
| virtual void | setSize (int width, int height) |
| virtual void | setOcclusionTexture (osg::Texture *inputTex) |
| virtual void | setBaseTexture (osg::Texture *inputTex) |
| virtual void | setVisible (bool visible) |
| virtual bool | visible () const |
| virtual void | setParameters (const DtCrepuscularRaysParameters ¶ms) |
Public Member Functions inherited from makVrv::DtPostProcessorDrawable | |
| DtPostProcessorDrawable (DtDe &de) | |
| DtPostProcessorDrawable (const DtPostProcessorDrawable &orig, const osg::CopyOp &op) | |
| virtual | ~DtPostProcessorDrawable () |
| virtual void | drawTexturedQuad (bool drawOnly=false) const |
| virtual void | beginTexturedQuad () const |
| virtual void | endTexturedQuad () const |
| virtual std::string | preprocessorDefinesString (void) const |
| virtual DtGlProgram * | createProgram (const std::string &path, const std::string &prefixName, const std::string &preprocessor="") const |
| virtual void | releaseGLObjects (osg::State *state=0) const override |
Protected Member Functions | |
| DtVolumetricDrawable (DtDe &de) | |
| virtual void | initRenderTextures () const |
| virtual void | downSample4xPass (osg::State *state) const |
| virtual void | volumetricRaysPass (osg::State *state) const |
| virtual void | compositeRaysPass (osg::State *state) const |
| virtual void | createComputeProgramIfNecessary (VOLUMETRIC_PASS pass, const std::string &path, const std::string &name) const |
| virtual void | createProgramIfNecessary (VOLUMETRIC_PASS pass, const std::string &path, const std::string &prefixName) const |
| virtual void | initializeUniformLocations (VOLUMETRIC_PASS pass) const |
| virtual void | zeroOutUniformLocations () const |
| virtual void | deleteShaders () const |
Protected Member Functions inherited from makVrv::DtPostProcessorDrawable | |
| void | setupGeometry () const |
Protected Attributes | |
| friend | DtVolumetricDrawableCreator |
| int | myChannelWidth |
| int | myChannelHeight |
| osg::ref_ptr< osg::Texture > | myOcclusionTex |
| osg::ref_ptr< osg::Texture > | myBaseTex |
| DtGlTexture * | myMutableDownSampledOcclusionTexture |
| DtGlTexture * | myMutableVolumetricRaysBuffer |
| bool | myVisible |
| std::array< DtGlProgram *, PASSES_SIZE > | myMutablePrograms |
| DtCrepuscularRaysParameters | myParameters |
| int | myMutableSlLightPositionOnScreenLoc |
| int | myMutableSlParametersLoc |
| int | myMutableSlLightColorLoc |
| int | myMutableSlOutputScaleLoc |
| int | myMutableBaseStrengthLoc |
| int | myMutableBaseTextureLoc |
| int | myMutableVolumetricTextureLoc |
| bool | myMutableShadersDirtyFlag |
Protected Attributes inherited from makVrv::DtPostProcessorDrawable | |
| DtDe & | myDe |
| DtGlBuffer * | myMutableVbo = nullptr |
| DtCoreGlBufferCreator & | myDtCoreGlBufferCreator |
| DtGlDeleteObjectManager & | myGlDeleteObjectManager |
Private Member Functions | |
| DtVolumetricDrawable () | |
| DtVolumetricDrawable (const DtVolumetricDrawable &) | |
| DtVolumetricDrawable & | operator= (const DtVolumetricDrawable &) |
|
virtual |
destructor
|
protected |
constructor. private. only creator can create
|
private |
private default constructor. not allowed.
|
private |
prevent copy-construction
|
private |
prevent assignment
|
virtual |
Trigger shader reload by marking them as dirty using myShadersDirtyFlag.
|
virtual |
overridden
overridden currently unneeded because the postprocessor drawable is always deleted/recreated because of channel creation/destruction virtual void releaseGLObjects(osg::State* state = 0) const; //!
overridden currently unneeded because the postprocessor drawable is always deleted/recreated because of channel creation/destruction set the 'viewport' size
|
virtual |
setter for the input texture from the previous post processor or main rendering
|
virtual |
setter for the base texture
|
inlinevirtual |
set/get visibility
|
inlinevirtual |
|
virtual |
communicate the parameters for the crepuscular rays
|
protectedvirtual |
initializes all the render textures if they have not been initialized yet
|
protectedvirtual |
down sample 4x pass
|
protectedvirtual |
volumetric rays pass
|
protectedvirtual |
final compositing pass
|
protectedvirtual |
helper function to create compute program
|
protectedvirtual |
create the drawing program if not created already
|
protectedvirtual |
initialize locations for the various uniforms
|
protectedvirtual |
brief initialize locations of the various uniforms to an unknown/invalid value
|
protectedvirtual |
Delete the shaders.
|
protected |
friended, to access constructor above
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
This is set to true upon reloadShaders() and will trigger a recreation in drawImplementation()