32 class DtIndirectViewParameters;
36 class DtIndirectRunTimeSettings;
37 class DtIndirectCullProgramConstants;
38 class DtIndirectCullProgramBufferAddresses;
39 class DtSkyObjectManager;
40 class DtCullShaderConfig;
77 virtual void incrementNumUsers();
80 virtual void decrementNumUsers();
85 ,
const osg::FrameStamp* frameStamp
86 ,
const int lightSourceStateId
87 ,
const int geometrySpecificationsBufferSize
88 ,
const uint64_t geomSpecIndexToCommandIndexAddress
89 ,
const uint64_t gpuPerGeomInstancesAddress
90 ,
const osg::Camera* camera);
93 virtual void deleteShaders();
97 virtual void initializeIfNecessary(
void);
DtDe & myDe
Definition: DtIndirectCullProgram.h:123
Contains the DtCullShaderConfig class declaration.
std::atomic< int > myNumUsers
Definition: DtIndirectCullProgram.h:132
const DtCullShaderConfig myCullShaderConfig
Definition: DtIndirectCullProgram.h:119
Helper class to manage program constants of the cull program.
Definition: DtIndirectCullProgramConstants.h:17
int myGpuShaderUboBinding
buffer binding for the UBO of the cull program
Definition: DtIndirectCullProgram.h:111
#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:88
friend DtIndirectCullProgramCreator
Definition: DtIndirectCullProgram.h:61
DtVector3< int > myWorkGroupLocalSize
Definition: DtIndirectCullProgram.h:121
Definition: DtSkyObjectManager.h:30
Represents setting that are runtime tweakable/toggleable.
Definition: DtIndirectRunTimeSettings.h:24
A convenience class to represent an OpenGL Shader Program.
Definition: DtGlProgram.h:66
shader configuration storage class. Has 3 available options which are described in the constructor's ...
Definition: DtCullShaderConfig.h:21
const DtIndirectRunTimeSettings & myIndirectRunTimeSettings
Definition: DtIndirectCullProgram.h:125
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:23
const char * creatorTypeName< DtIndirectCullProgram >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtIndirectCullProgram.h:50
static const bool myTrackObjects
Definition: DtIndirectCullProgram.h:134
handles the running of the compute shader pass for indirect culling, LODing and switches ...
Definition: DtIndirectCullProgram.h:54
std::atomic< int > myCount
Definition: DtIndirectCullProgram.h:145
static const bool theDebugInstancesAppended
Definition: DtIndirectCullProgram.h:130
double myStartTime
Definition: DtIndirectCullProgram.h:116
DtGlBuffer * myGpuShaderUbo
buffer for the UBO of the cull program
Definition: DtIndirectCullProgram.h:108
DtIndirectCullProgramConstants * myProgramConstants
the constants associated with the cull program
Definition: DtIndirectCullProgram.h:105
A generic OpenGL buffer. This can be: -> a vertex buffer -> an index buffer -> a shader storage buffe...
Definition: DtGlBuffer.h:29
The class that is used to communicate the camera viewing parameters to the DtICullingAndLOD interface...
Definition: DtIndirectViewParameters.h:26
float myLastTimeFrame
Definition: DtIndirectCullProgram.h:117
Contains DLL export macros.
bool myMutableShadersFailedToCompile
indicate whether we have failed to compile
Definition: DtIndirectCullProgram.h:114
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 * myCullProgram
The program.
Definition: DtIndirectCullProgram.h:102
DtVirtualBaseClassCreator< DtIndirectCullProgram, const DtCullShaderConfig & > DtIndirectCullProgramCreator
creator
Definition: DtIndirectCullProgram.h:43
structure to count total number of DtIndirectGeometrys in the system
Definition: DtIndirectCullProgram.h:137
static TotalCounter theTotalCounter
Definition: DtIndirectCullProgram.h:147
DtSkyObjectManager & mySkyObjectManager
Definition: DtIndirectCullProgram.h:127