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 | Static Protected Attributes | Private Member Functions
makVrv::DtIndirectDofProgram Class Reference

singleton class that wraps indirect dof gpu shader.

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

Public Member Functions

virtual ~DtIndirectDofProgram ()
 
virtual void runProcessDofsComputeShader (const DtIndirectViewParameters &viewParameters, unsigned int maxNumInstances, float transitionPercentage)
 
virtual void deleteShaders ()
 
virtual void incrementNumUsers ()
 
virtual void decrementNumUsers ()
 
virtual
DtIndirectModelScalingAlgorithm 
scalingAlgorithm (void) const
 
virtual void setScalingAlgorithm (DtIndirectModelScalingAlgorithm scalingAlgorithm)
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static DtIndirectDofPrograminstance (DtDe &de)
 

Protected Member Functions

 DtIndirectDofProgram (DtDe &de)
 
virtual void initializeShadersIfNecessary (const DtIndirectViewParameters &viewParameters)
 

Protected Attributes

DtGlProgrammyDofProgram
 
DtVector3< intmyWorkGroupLocalSize
 
std::atomic< intmyNumUsers
 
DtDemyDe
 
DtIndirectModelScalingAlgorithm myScalingAlgorithm
 
DtGlBuffermyGpuShaderUbo
 
int myGpuShaderUboBinding
 
DtIndirectDofProgramConstants myDofProgramConstants
 

Static Protected Attributes

static const std::string theDofComputeShaderFilePath
 

Private Member Functions

 DtIndirectDofProgram ()=delete
 
 DtIndirectDofProgram (const DtIndirectDofProgram &)=delete
 
DtIndirectDofProgramoperator= (const DtIndirectDofProgram &)=delete
 

Constructor & Destructor Documentation

virtual makVrv::DtIndirectDofProgram::~DtIndirectDofProgram ( )
virtual
makVrv::DtIndirectDofProgram::DtIndirectDofProgram ( DtDe de)
protected
makVrv::DtIndirectDofProgram::DtIndirectDofProgram ( )
privatedelete

not allowed

makVrv::DtIndirectDofProgram::DtIndirectDofProgram ( const DtIndirectDofProgram )
privatedelete

not allowed

Member Function Documentation

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

singleton access to lod manager program

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

not allowed

virtual void makVrv::DtIndirectDofProgram::runProcessDofsComputeShader ( const DtIndirectViewParameters viewParameters,
unsigned int  maxNumInstances,
float  transitionPercentage 
)
virtual

run the dof compute shader

virtual void makVrv::DtIndirectDofProgram::deleteShaders ( )
virtual

cleanup the gpu shaders

virtual void makVrv::DtIndirectDofProgram::incrementNumUsers ( )
virtual

ref counting tracking

virtual void makVrv::DtIndirectDofProgram::decrementNumUsers ( )
virtual

ref counting tracking

virtual DtIndirectModelScalingAlgorithm makVrv::DtIndirectDofProgram::scalingAlgorithm ( void  ) const
virtual

The scaling algorithm.

virtual void makVrv::DtIndirectDofProgram::setScalingAlgorithm ( DtIndirectModelScalingAlgorithm  scalingAlgorithm)
virtual

Set the scaling algorithm.

virtual void makVrv::DtIndirectDofProgram::initializeShadersIfNecessary ( const DtIndirectViewParameters viewParameters)
protectedvirtual

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

Member Data Documentation

DtGlProgram* makVrv::DtIndirectDofProgram::myDofProgram
protected
DtVector3<int> makVrv::DtIndirectDofProgram::myWorkGroupLocalSize
protected
std::atomic<int> makVrv::DtIndirectDofProgram::myNumUsers
protected
DtDe& makVrv::DtIndirectDofProgram::myDe
protected
DtIndirectModelScalingAlgorithm makVrv::DtIndirectDofProgram::myScalingAlgorithm
protected
DtGlBuffer* makVrv::DtIndirectDofProgram::myGpuShaderUbo
protected
int makVrv::DtIndirectDofProgram::myGpuShaderUboBinding
protected
DtIndirectDofProgramConstants makVrv::DtIndirectDofProgram::myDofProgramConstants
protected
const std::string makVrv::DtIndirectDofProgram::theDofComputeShaderFilePath
staticprotected

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

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)