21 #include <osg/observer_ptr>
22 #include <osg/GraphicsContext>
23 #include <osg/Texture>
26 #include <GFSDK/GFSDK_SSAO.h>
38 class DtGlRenderTexture;
39 class DtNvidiaHbaoGlObject;
114 virtual void drawImplementation(osg::RenderInfo& renderInfo)
const override;
117 virtual void reloadShaders();
126 virtual void setDepthTexture(osg::Texture* texture);
129 virtual void setBaseTexture(osg::Texture* texture);
132 virtual void setOcclusionTexture(osg::Texture* inputTex);
135 virtual void setViewSize(
int width,
int height);
140 virtual void createProgramIfNecessary(
void)
const;
143 virtual void cleanupGpuMemory(
void);
146 virtual void releaseHbaoRenderTexture();
152 void updateHbaoSettings()
const;
155 void createTextureViewsIfNecessary(osg::State* state)
const;
182 mutable DtNvidiaHbaoGlObject* myNvidiaHbaoResources =
nullptr;
float sharpnessProfileBackgroundViewDepth
Definition: DtHbaoDrawable.h:67
DtSignalConnectionManager myMutableConnections
Definition: DtHbaoDrawable.h:186
float depthThresholdSharpness
Definition: DtHbaoDrawable.h:82
float exponent
Definition: DtHbaoDrawable.h:59
bool sharpnessProfileEnable
Definition: DtHbaoDrawable.h:64
osg::observer_ptr< const osg::GraphicsContext > myInitGraphicsContext
Definition: DtHbaoDrawable.h:179
A helper classes for creating a RTT target, optionally including depth buffer.
Definition: DtGlRenderToTexture.h:46
HbaoParameters myMutableParameters
Definition: DtHbaoDrawable.h:184
float depthThresholdMaxViewDepth
Definition: DtHbaoDrawable.h:81
bool myMutableShadersDirtyFlag
Definition: DtHbaoDrawable.h:188
float largeScaleAo
Definition: DtHbaoDrawable.h:70
unsigned int GLuint
Definition: DtGlTextureBufferObject.h:18
osg::ref_ptr< osg::Texture > myBaseTexture
Definition: DtHbaoDrawable.h:159
int blurRadius
Definition: DtHbaoDrawable.h:61
A convenience class to represent an OpenGL Shader Program.
Definition: DtGlProgram.h:66
bool myShadingRateIsSupported
Definition: DtHbaoDrawable.h:166
float smallScaleAo
Definition: DtHbaoDrawable.h:69
int depthStorage
Definition: DtHbaoDrawable.h:78
bool depthThresholdEnable
Definition: DtHbaoDrawable.h:80
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:23
osg::ref_ptr< osg::Texture > myDepthTexture
Definition: DtHbaoDrawable.h:160
bool myMutableTapsDirty
are the taps needed to be re-sent to the GPU
Definition: DtHbaoDrawable.h:177
class used to render HBAO during the post processor camera draw. Uses the NVIDIA GFSDK HBAO library t...
Definition: DtHbaoDrawable.h:90
Definition: DtPostProcessorDrawable.h:33
struct for holding all the hbao paramters used by this drawable. Some are modified by the qt gui in t...
Definition: DtHbaoDrawable.h:50
bool backgroundAoEnable
Definition: DtHbaoDrawable.h:74
DtVirtualBaseClassCreator< DtHbaoDrawable > DtHbaoDrawableCreator
Definition: DtHbaoDrawable.h:41
friend DtHbaoDrawableCreator
friended, to access constructor above
Definition: DtHbaoDrawable.h:110
osg::ref_ptr< osg::Texture > myOcclusionTex
Definition: DtHbaoDrawable.h:161
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
float foregroundAoDepth
Definition: DtHbaoDrawable.h:73
int viewWidth
Definition: DtHbaoDrawable.h:54
#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:65
Contains DLL export macros.
float radius
Definition: DtHbaoDrawable.h:57
int myMutableVrvOcclusionTexLoc
Definition: DtHbaoDrawable.h:173
GLuint myDepthTextureId
texture views used for multiview
Definition: DtHbaoDrawable.h:164
bool foregroundAoEnable
Definition: DtHbaoDrawable.h:72
Base class to provide boost signal/slot management.
int viewHeight
Definition: DtHbaoDrawable.h:55
const char * creatorTypeName< DtHbaoDrawable >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtHbaoDrawable.h:46
float bias
Definition: DtHbaoDrawable.h:58
DtGlRenderTexture * myMutableHbaoTexture
Definition: DtHbaoDrawable.h:180
std::vector< GLuint > myDepthTexViews
Definition: DtHbaoDrawable.h:165
int depthClampMode
Definition: DtHbaoDrawable.h:79
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
DtGlProgram * myMutableHbaoProgram
the program
Definition: DtHbaoDrawable.h:169
float sharpnessProfileForegroundViewDepth
Definition: DtHbaoDrawable.h:66
float blurSharpness
Definition: DtHbaoDrawable.h:62
bool blurEnable
Definition: DtHbaoDrawable.h:60
int myMutableVrvSsaoTexLoc
locations of various shader parameters
Definition: DtHbaoDrawable.h:172
float backgroundAoDepth
Definition: DtHbaoDrawable.h:75