![]() |
VR-Forces 5.0.2 Developer's Guide
|
class used to render HBAO during the post processor camera draw. Uses the NVIDIA GFSDK HBAO library to generate a texture which we then apply to the scene using a post processor rendering pass.

Public Member Functions | |
| virtual | ~DtHbaoDrawable () |
| DtHbaoDrawable ()=delete | |
| DtHbaoDrawable (const DtHbaoDrawable &)=delete | |
| DtHbaoDrawable & | operator= (const DtHbaoDrawable &)=delete |
| virtual void | drawImplementation (osg::RenderInfo &renderInfo) const override |
| virtual void | reloadShaders () |
| virtual void | setDepthTexture (osg::Texture *texture) |
| virtual void | setBaseTexture (osg::Texture *texture) |
| virtual void | setOcclusionTexture (osg::Texture *inputTex) |
| virtual void | setViewSize (int width, int height) |
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 |
Protected Member Functions | |
| DtHbaoDrawable (DtDe &de) | |
| virtual void | createProgramIfNecessary (void) const |
| virtual void | cleanupGpuMemory (void) |
| virtual void | releaseHbaoRenderTexture () |
| void | updateHbaoSettings () const |
| void | createTextureViewsIfNecessary (osg::State *state) const |
Protected Member Functions inherited from makVrv::DtPostProcessorDrawable | |
| void | setupGeometry () const |
Protected Attributes | |
| friend | DtHbaoDrawableCreator |
| osg::ref_ptr< osg::Texture > | myBaseTexture |
| osg::ref_ptr< osg::Texture > | myDepthTexture |
| osg::ref_ptr< osg::Texture > | myOcclusionTex |
| GLuint | myDepthTextureId |
| std::vector< GLuint > | myDepthTexViews |
| bool | myShadingRateIsSupported |
| DtGlProgram * | myMutableHbaoProgram |
| int | myMutableVrvSsaoTexLoc |
| int | myMutableVrvOcclusionTexLoc |
| bool | myMutableTapsDirty |
| osg::observer_ptr< const osg::GraphicsContext > | myInitGraphicsContext |
| DtGlRenderTexture * | myMutableHbaoTexture |
| GFSDK_SSAO_Context_GL * | myMutableSsaoContextGl |
| GFSDK_SSAO_GLFunctions | myMutableGlFunctions |
| HbaoParameters | myMutableParameters |
| DtSignalConnectionManager | myMutableConnections |
| bool | myMutableShadersDirtyFlag |
Protected Attributes inherited from makVrv::DtPostProcessorDrawable | |
| DtDe & | myDe |
| unsigned int | myMutableVbo |
|
virtual |
destructor
|
delete |
not allowed - default constructor
|
delete |
not allowed - copy constructor
|
protected |
constructor. private. only creator can create
|
delete |
not allowed - equals operator
|
overridevirtual |
Override the draw implementation to run the hbao texture generation and post processor.
|
virtual |
Reload the HBAO shader program.
|
virtual |
overridden currently unneeded because the postprocessor drawable is always deleted/recreated because of channel creation/destruction virtual void releaseGLObjects(osg::State* state = 0) const;
set the depth texture
|
virtual |
set the base texture which is used as input to the HBAO effect generation
|
virtual |
set the occlusion texture from the osgChannel
set the viewport size
|
protectedvirtual |
create the program if needed
|
protectedvirtual |
cleanup the memory allocated on the GPU
|
protectedvirtual |
releases the HBAO render to textue and associated fbo
|
protected |
not virtual since it is called by the constructor. Used to syncronize the hbao settings with the shared state. Don't think of this as really const since it modifies a mutable paratemers. All required due to osg requirement that draw implementation is const.
|
protected |
brief create new texture views into the multiview arrays if nessacary
|
protected |
friended, to access constructor above
|
protected |
|
protected |
|
protected |
|
mutableprotected |
texture views used for multiview
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
the program
|
mutableprotected |
locations of various shader parameters
|
mutableprotected |
|
mutableprotected |
are the taps needed to be re-sent to the GPU
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |