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::DtIndirectDofProgram Class Reference

singleton class that wraps indirect dof gpu shader. More...

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

Public Member Functions

 DtIndirectDofProgram (DtDe &de)
 
virtual ~DtIndirectDofProgram ()
 
virtual void runProcessDofsComputeShader (const DtIndirectViewParameters &viewParameters, unsigned int maxNumInstances, float transitionPercentage)
 run the dof 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...
 
virtual
DtIndirectModelScalingAlgorithm 
scalingAlgorithm (void) const
 The scaling algorithm. More...
 
virtual void setScalingAlgorithm (DtIndirectModelScalingAlgorithm scalingAlgorithm)
 Set the scaling algorithm. 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 DtIndirectDofPrograminstance (DtDe &de)
 singleton access to lod manager program More...
 

Protected Member Functions

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

Protected Attributes

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

Private Member Functions

 DtIndirectDofProgram ()=delete
 not allowed More...
 
 DtIndirectDofProgram (const DtIndirectDofProgram &)=delete
 not allowed More...
 
DtIndirectDofProgramoperator= (const DtIndirectDofProgram &)=delete
 not allowed More...
 

Detailed Description

singleton class that wraps indirect dof gpu shader.

Constructor & Destructor Documentation

makVrv::DtIndirectDofProgram::DtIndirectDofProgram ( DtDe de)
virtual makVrv::DtIndirectDofProgram::~DtIndirectDofProgram ( )
virtual
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
tbb::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

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)