32 class DtIndirectViewParameters;
36 class DtTerrainPatchObjectManager;
37 class DtIndirectCullProgramConstants;
38 class DtIndirectCullProgramBufferAddresses;
39 class DtSkyObjectManager;
67 virtual void deleteShaders(
bool viaDestructor,
bool viaReload)
const;
70 virtual void clearCullProgram(
bool viaDestructor)
const;
73 virtual void releaseGLObjects(osg::State* state)
const;
81 ,
const osg::FrameStamp* frameStamp
82 ,
const int lightSourceStateId
83 ,
const int geometrySpecificationsBufferSize
84 ,
const GLuint64 geomSpecIndexToCommandIndexAddress
85 ,
const GLuint64 gpuPerGeomInstancesAddress
86 ,
const osg::Camera* camera);
151 static const std::string& theClassName();
DtDe & myDe
Definition: DtIndirectCullProgram.h:122
Contains the DtCullShaderConfig class declaration.
DtGlProgram * myCullProgram
Definition: DtIndirectCullProgram.h:95
Virtual base class.
Definition: DtVirtualBaseClass.h:19
Manager that provides direct access to the terrain patch objects in use in a display engine also hand...
Definition: DtTerrainPatchObjectManager.h:38
Helper class to manage program constants of the cull program.
Definition: DtIndirectCullProgramConstants.h:17
ReferencedCullProgram(DtGlProgram *program)
initializer constructor
Definition: DtIndirectCullProgram.h:93
int myGpuShaderUboBinding
buffer binding for the UBO of the cull program
Definition: DtIndirectCullProgram.h:110
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
This class is a component of the DtIndirectGeometry It inputs are: -> the instances registered with Dt...
Definition: DtGpuCulling.h:64
DtVector3< int > myWorkGroupLocalSize
Definition: DtIndirectCullProgram.h:120
Definition: DtSkyObjectManager.h:23
const DtTerrainPatchObjectManager & myTerrainPatchObjectManager
Definition: DtIndirectCullProgram.h:124
static std::map< std::string, ReferencedCullProgram * > theShaderCache
Definition: DtIndirectCullProgram.h:130
A convenience class to represent an OpenGL Shader Program.
Definition: DtGlProgram.h:65
shader configuration storage class.
Definition: DtCullShaderConfig.h:19
Contains makVrv::DtVirtualBaseClass class.
DtCullShaderConfig myCullShaderConfig
Definition: DtIndirectCullProgram.h:118
handles the running of the compute shader pass for indirect culling, LODing and switches ...
Definition: DtIndirectCullProgram.h:43
static const bool theDebugInstancesAppended
Definition: DtIndirectCullProgram.h:129
double myStartTime
Definition: DtIndirectCullProgram.h:115
DtGlBuffer * myGpuShaderUbo
buffer for the UBO of the cull program
Definition: DtIndirectCullProgram.h:107
struct used to cache the cull shaders and programs so they are not created by every instance of DtInd...
Definition: DtIndirectCullProgram.h:90
DtIndirectCullProgramConstants * myProgramConstants
the constants associated with the cull program
Definition: DtIndirectCullProgram.h:104
A generic OpenGL buffer.
Definition: DtGlBuffer.h:27
The class that is used to communicate the camera viewing parameters to the DtICullingAndLOD interface...
Definition: DtIndirectViewParameters.h:26
float myLastTimeFrame
Definition: DtIndirectCullProgram.h:116
Contains DLL export macros.
bool myMutableShadersFailedToCompile
indicate whether we have failed to compile
Definition: DtIndirectCullProgram.h:113
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtDe & myDe
Definition: DtIndirectCullProgram.h:153
int myRefcount
Definition: DtIndirectCullProgram.h:96
creator for DtIndirectCullPass
Definition: DtIndirectCullProgram.h:134
ReferencedCullProgram * myMutableReferencedCullProgram
mutable since they represent openGL objects which need to be cleaned up in constant functions...
Definition: DtIndirectCullProgram.h:101
DtSkyObjectManager & mySkyObjectManager
Definition: DtIndirectCullProgram.h:126