VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtIndirectLodProgram Class Reference

singleton class that wraps indirect lod gpu shader.

Inheritance diagram for makVrv::DtIndirectLodProgram:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtIndirectLodProgram ()
 
virtual void runProcessLodsComputeShader (const DtIndirectViewParameters &viewParameters, unsigned int maxNumInstances)
 
virtual void deleteShaders ()
 
virtual void incrementNumUsers ()
 
virtual void decrementNumUsers ()
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static DtIndirectLodPrograminstance (DtDe &de)
 

Protected Member Functions

 DtIndirectLodProgram (DtDe &de)
 
virtual void initializeShadersIfNecessary ()
 

Protected Attributes

DtGlProgrammyLodProgram
 
DtVector3< intmyWorkGroupLocalSize
 
std::atomic< intmyNumUsers
 
DtDemyDe
 
DtIndirectLodProgramConstants myProgramConstants
 
DtGlBuffermyGpuShaderUbo
 
int myGpuShaderUboBinding
 
bool myMutableShadersFailedToCompile
 

Private Member Functions

 DtIndirectLodProgram ()=delete
 
 DtIndirectLodProgram (const DtIndirectLodProgram &)=delete
 
DtIndirectLodProgramoperator= (const DtIndirectLodProgram &)=delete
 

Constructor & Destructor Documentation

virtual makVrv::DtIndirectLodProgram::~DtIndirectLodProgram ( )
virtual

dtor

makVrv::DtIndirectLodProgram::DtIndirectLodProgram ( DtDe de)
protected

ctor

makVrv::DtIndirectLodProgram::DtIndirectLodProgram ( )
privatedelete

not allowed

makVrv::DtIndirectLodProgram::DtIndirectLodProgram ( const DtIndirectLodProgram )
privatedelete

not allowed

Member Function Documentation

static DtIndirectLodProgram* makVrv::DtIndirectLodProgram::instance ( DtDe de)
static

singleton access to lod manager program

DtIndirectLodProgram& makVrv::DtIndirectLodProgram::operator= ( const DtIndirectLodProgram )
privatedelete

not allowed

virtual void makVrv::DtIndirectLodProgram::runProcessLodsComputeShader ( const DtIndirectViewParameters viewParameters,
unsigned int  maxNumInstances 
)
virtual

run the lod compute shader

virtual void makVrv::DtIndirectLodProgram::deleteShaders ( )
virtual

cleanup the gpu shaders

virtual void makVrv::DtIndirectLodProgram::incrementNumUsers ( )
virtual

ref counting tracking

virtual void makVrv::DtIndirectLodProgram::decrementNumUsers ( )
virtual

ref counting tracking

virtual void makVrv::DtIndirectLodProgram::initializeShadersIfNecessary ( )
protectedvirtual

create the compute shader if they are not yet created or after reload shaders is called

Member Data Documentation

DtGlProgram* makVrv::DtIndirectLodProgram::myLodProgram
protected
DtVector3<int> makVrv::DtIndirectLodProgram::myWorkGroupLocalSize
protected
std::atomic<int> makVrv::DtIndirectLodProgram::myNumUsers
protected
DtDe& makVrv::DtIndirectLodProgram::myDe
protected
DtIndirectLodProgramConstants makVrv::DtIndirectLodProgram::myProgramConstants
protected
DtGlBuffer* makVrv::DtIndirectLodProgram::myGpuShaderUbo
protected
int makVrv::DtIndirectLodProgram::myGpuShaderUboBinding
protected
bool makVrv::DtIndirectLodProgram::myMutableShadersFailedToCompile
mutableprotected

indicate whether we have failed to compile


The documentation for this class was generated from the following file:

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)