19 #include <tbb/atomic.h>
24 class DtOsgShaderFilesCache;
25 class DtIndirectViewParameters;
52 virtual void reset(
void)
override;
95 unsigned int maxNumInstances,
float transitionPercentage);
98 virtual void deleteShaders();
101 virtual void incrementNumUsers();
104 virtual void decrementNumUsers();
108 virtual void initializeShadersIfNecessary();
DtGlProgram * myLodProgram
Definition: DtIndirectLodProgram.h:111
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
static const char * LodManagerDistScaleUniformName
Definition: DtIndirectLodProgram.h:66
int myGpuShaderUboBinding
Definition: DtIndirectLodProgram.h:122
static const char * LodManagerModelViewMatrixUniformName
Definition: DtIndirectLodProgram.h:64
DtIndirectLodProgramConstants & operator=(const DtIndirectLodProgramConstants &rhs)=delete
not allowed
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtVector3< int > myWorkGroupLocalSize
Definition: DtIndirectLodProgram.h:113
DtDe & myDe
Definition: DtIndirectLodProgram.h:117
interface class for managing program constants
Definition: DtProgramConstants.h:70
int myMaxNumInstancesIndex
Definition: DtIndirectLodProgram.h:56
static const char * LodManagerMaxNumInstancesUniformName
Definition: DtIndirectLodProgram.h:63
DtGlBuffer * myGpuShaderUbo
Definition: DtIndirectLodProgram.h:121
int myDistScaleIndex
Definition: DtIndirectLodProgram.h:59
helper class to manage, set, reset the program constants in the lod processor program ...
Definition: DtIndirectLodProgram.h:30
A convenience class to represent an OpenGL Shader Program.
Definition: DtGlProgram.h:65
DtIndirectLodProgramConstants myProgramConstants
Definition: DtIndirectLodProgram.h:119
Contains makVrv::DtVirtualBaseClass class.
virtual void init(const DtGlProgram *program) override
initialize
singleton class that wraps indirect lod gpu shader.
Definition: DtIndirectLodProgram.h:72
tbb::atomic< int > myNumUsers
Definition: DtIndirectLodProgram.h:115
int myZoomMagnificationIndex
Definition: DtIndirectLodProgram.h:58
DtIndirectLodProgramConstants()
Contains makVrv::DtProgramConstants class.
bool myMutableShadersFailedToCompile
indicate whether we have failed to compile
Definition: DtIndirectLodProgram.h:125
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
static const char * LodManagerLodTransitionPercentageUniformName
Definition: DtIndirectLodProgram.h:67
virtual ~DtIndirectLodProgramConstants()
DTOR.
Contains DLL export macros.
virtual void reset(void) override
reset to invalid value
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
int myLodTransitionPercentageIndex
Definition: DtIndirectLodProgram.h:60
int myModelViewMatrixIndex
Definition: DtIndirectLodProgram.h:57
static const char * LodManagerZoomMagOrthoDistanceOrthoCullUniformName
Definition: DtIndirectLodProgram.h:65