21 #include <osg/observer_ptr>
22 #include <osg/GraphicsContext>
23 #include <osg/Texture>
26 #include <GFSDK/GFSDK_SSAO.h>
38 class DtGlRenderTexture;
113 virtual void drawImplementation(osg::RenderInfo& renderInfo)
const override;
116 virtual void reloadShaders();
131 virtual void setOcclusionTexture(
osg::Texture* inputTex);
134 virtual void setViewSize(
int width,
int height);
139 virtual void createProgramIfNecessary(
void)
const;
142 virtual void cleanupGpuMemory(
void);
145 virtual void releaseHbaoRenderTexture();
151 void updateHbaoSettings()
const;
154 void createTextureViewsIfNecessary(osg::State* state)
const;
Diagonal crossing liens.
Definition: DtTacticalGraphicUtilities.h:93
float sharpnessProfileBackgroundViewDepth
Definition: DtHbaoDrawable.h:66
DtSignalConnectionManager myMutableConnections
Definition: DtHbaoDrawable.h:186
float depthThresholdSharpness
Definition: DtHbaoDrawable.h:81
GFSDK_SSAO_GLFunctions myMutableGlFunctions
Definition: DtHbaoDrawable.h:182
float exponent
Definition: DtHbaoDrawable.h:58
bool sharpnessProfileEnable
Definition: DtHbaoDrawable.h:63
osg::observer_ptr< const osg::GraphicsContext > myInitGraphicsContext
Definition: DtHbaoDrawable.h:178
A helper classes for creating a RTT target, optionally including depth buffer.
Definition: DtGlRenderToTexture.h:47
HbaoParameters myMutableParameters
Definition: DtHbaoDrawable.h:184
float depthThresholdMaxViewDepth
Definition: DtHbaoDrawable.h:80
bool myMutableShadersDirtyFlag
Definition: DtHbaoDrawable.h:188
float largeScaleAo
Definition: DtHbaoDrawable.h:69
unsigned int GLuint
Definition: DtGlTextureBufferObject.h:17
osg::ref_ptr< osg::Texture > myBaseTexture
Definition: DtHbaoDrawable.h:158
int blurRadius
Definition: DtHbaoDrawable.h:60
A convenience class to represent an OpenGL Shader Program.
Definition: DtGlProgram.h:65
bool myShadingRateIsSupported
Definition: DtHbaoDrawable.h:165
float smallScaleAo
Definition: DtHbaoDrawable.h:68
int depthStorage
Definition: DtHbaoDrawable.h:77
bool depthThresholdEnable
Definition: DtHbaoDrawable.h:79
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
osg::ref_ptr< osg::Texture > myDepthTexture
Definition: DtHbaoDrawable.h:159
bool myMutableTapsDirty
are the taps needed to be re-sent to the GPU
Definition: DtHbaoDrawable.h:176
class used to render HBAO during the post processor camera draw. Uses the NVIDIA GFSDK HBAO library t...
Definition: DtHbaoDrawable.h:89
Definition: DtPostProcessorDrawable.h:24
struct for holding all the hbao paramters used by this drawable. Some are modified by the qt gui in t...
Definition: DtHbaoDrawable.h:49
bool backgroundAoEnable
Definition: DtHbaoDrawable.h:73
DtVirtualBaseClassCreator< DtHbaoDrawable > DtHbaoDrawableCreator
Definition: DtHbaoDrawable.h:40
friend DtHbaoDrawableCreator
friended, to access constructor above
Definition: DtHbaoDrawable.h:109
osg::ref_ptr< osg::Texture > myOcclusionTex
Definition: DtHbaoDrawable.h:160
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
float foregroundAoDepth
Definition: DtHbaoDrawable.h:72
int viewWidth
Definition: DtHbaoDrawable.h:53
#define DT_DLL_VRVPOSTPROCESSOR
Definition: vrvPostProcessor.h:19
This file contains the declaration of the class DtPostProcessorDrawable which is used for rendering p...
float sharpnessProfileScale
Definition: DtHbaoDrawable.h:64
Contains DLL export macros.
float radius
Definition: DtHbaoDrawable.h:56
int myMutableVrvOcclusionTexLoc
Definition: DtHbaoDrawable.h:172
GLuint myDepthTextureId
texture views used for multiview
Definition: DtHbaoDrawable.h:163
bool foregroundAoEnable
Definition: DtHbaoDrawable.h:71
Base class to provide boost signal/slot management.
int viewHeight
Definition: DtHbaoDrawable.h:54
const char * creatorTypeName< DtHbaoDrawable >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtHbaoDrawable.h:45
float bias
Definition: DtHbaoDrawable.h:57
DtGlRenderTexture * myMutableHbaoTexture
Definition: DtHbaoDrawable.h:179
std::vector< GLuint > myDepthTexViews
Definition: DtHbaoDrawable.h:164
int depthClampMode
Definition: DtHbaoDrawable.h:78
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
DtGlProgram * myMutableHbaoProgram
the program
Definition: DtHbaoDrawable.h:168
float sharpnessProfileForegroundViewDepth
Definition: DtHbaoDrawable.h:65
float blurSharpness
Definition: DtHbaoDrawable.h:61
bool blurEnable
Definition: DtHbaoDrawable.h:59
int myMutableVrvSsaoTexLoc
locations of various shader parameters
Definition: DtHbaoDrawable.h:171
float backgroundAoDepth
Definition: DtHbaoDrawable.h:74
GFSDK_SSAO_Context_GL * myMutableSsaoContextGl
Definition: DtHbaoDrawable.h:181