VR-Forces 4.10 Class Documentation
 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. More...

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

Public Member Functions

 DtIndirectLodProgram (DtDe &de)
 ctor More...
 
virtual ~DtIndirectLodProgram ()
 dtor More...
 
virtual void runProcessLodsComputeShader (const DtIndirectViewParameters &viewParameters, unsigned int maxNumInstances, float transitionPercentage)
 run the lod compute shader More...
 
virtual void deleteShaders ()
 cleanup the gpu shaders More...
 
virtual void incrementNumUsers ()
 ref counting tracking More...
 
virtual void decrementNumUsers ()
 ref counting tracking More...
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 Do nothing constructor. More...
 
virtual ~DtVirtualBaseClass ()
 Virtual do nothing destructor. More...
 

Static Public Member Functions

static DtIndirectLodPrograminstance (DtDe &de)
 singleton access to lod manager program More...
 

Protected Member Functions

virtual void initializeShadersIfNecessary ()
 create the compute shader if they are not yet created or after reload shaders is called More...
 

Protected Attributes

DtGlProgrammyLodProgram
 
DtVector3< intmyWorkGroupLocalSize
 
tbb::atomic< intmyNumUsers
 
DtDemyDe
 
DtIndirectLodProgramConstants myProgramConstants
 
DtGlBuffermyGpuShaderUbo
 
int myGpuShaderUboBinding
 
bool myMutableShadersFailedToCompile
 indicate whether we have failed to compile More...
 

Private Member Functions

 DtIndirectLodProgram ()=delete
 not allowed More...
 
 DtIndirectLodProgram (const DtIndirectLodProgram &)=delete
 not allowed More...
 
DtIndirectLodProgramoperator= (const DtIndirectLodProgram &)=delete
 not allowed More...
 

Detailed Description

singleton class that wraps indirect lod gpu shader.

Constructor & Destructor Documentation

makVrv::DtIndirectLodProgram::DtIndirectLodProgram ( DtDe de)

ctor

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

dtor

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,
float  transitionPercentage 
)
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
tbb::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 Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)