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

handles the running of the compute shader pass for indirect culling, LODing and switches More...

Classes

struct  CullShaders
 struct used to cache the cull shaders and programs so they are not created by every instance of DtIndirectCullPass More...
 

Public Member Functions

virtual ~DtIndirectCullPass ()
 
virtual void deleteShaders (bool viaDestructor) const
 Delete all the shaders used by the compute cull pass. More...
 
virtual void releaseGLObjects (osg::State *state) const
 release the GL objects needed by the comput cull pass More...
 
virtual void initializeIfNecessary (const DtGpuCullingAndLod &gpuCullingAndLod)
 initialize the compute shader state if needed More...
 
virtual void execute (const DtGpuCullingAndLod &gpuCullingAndLod, const DtIndirectViewParameters &viewParameters, const DtIndirectRenderingParameters &irParams, osg::FrameStamp *frameStamp)
 run the compute shader pass More...
 

Protected Member Functions

 DtIndirectCullPass (DtDe &de)
 Constructor. More...
 

Protected Attributes

GLuint myMutableCullProgram
 
GLuint myMutableCullShader
 
CullShadersmyMutableShaderStruct
 
double myStartTime
 
unsigned int myLastTimeFrame
 
int myMaxNumInstancesIndex
 
int myModelViewMatrixIndex
 
int myProjectionMatrixIndex
 
int myZoomMagnificationIndex
 
int myViewPortIndex
 
int myDistScaleIndex
 
int myFadeParametersIndex
 
DtVector3< intmyWorkGroupLocalSize
 
DtDemyDe
 

Static Protected Attributes

static const bool theDebugInstancesAppended
 
static std::map< std::string,
CullShaders * > 
theShaderCache
 

Private Member Functions

 DtIndirectCullPass ()
 Default Constructor not implemented – Must use DtDe constructor. More...
 
 DtIndirectCullPass (const DtIndirectCullPass &other)
 Copy Constructor not implemented – Copy Not Allowed. More...
 
DtIndirectCullPassoperator= (const DtIndirectCullPass &other)
 Assignment Operator Not implemented – Assignment Not Allowed. More...
 

Friends

class DtIndirectCullPassCreator
 

Detailed Description

handles the running of the compute shader pass for indirect culling, LODing and switches

Constructor & Destructor Documentation

makVrv::DtIndirectCullPass::DtIndirectCullPass ( DtDe de)
protected

Constructor.

virtual makVrv::DtIndirectCullPass::~DtIndirectCullPass ( )
virtual
makVrv::DtIndirectCullPass::DtIndirectCullPass ( )
private

Default Constructor not implemented – Must use DtDe constructor.

makVrv::DtIndirectCullPass::DtIndirectCullPass ( const DtIndirectCullPass other)
private

Copy Constructor not implemented – Copy Not Allowed.

Member Function Documentation

DtIndirectCullPass& makVrv::DtIndirectCullPass::operator= ( const DtIndirectCullPass other)
private

Assignment Operator Not implemented – Assignment Not Allowed.

virtual void makVrv::DtIndirectCullPass::deleteShaders ( bool  viaDestructor) const
virtual

Delete all the shaders used by the compute cull pass.

virtual void makVrv::DtIndirectCullPass::releaseGLObjects ( osg::State *  state) const
virtual

release the GL objects needed by the comput cull pass

virtual void makVrv::DtIndirectCullPass::initializeIfNecessary ( const DtGpuCullingAndLod gpuCullingAndLod)
virtual

initialize the compute shader state if needed

virtual void makVrv::DtIndirectCullPass::execute ( const DtGpuCullingAndLod gpuCullingAndLod,
const DtIndirectViewParameters viewParameters,
const DtIndirectRenderingParameters irParams,
osg::FrameStamp *  frameStamp 
)
virtual

run the compute shader pass

Friends And Related Function Documentation

friend class DtIndirectCullPassCreator
friend

Member Data Documentation

GLuint makVrv::DtIndirectCullPass::myMutableCullProgram
mutableprotected
GLuint makVrv::DtIndirectCullPass::myMutableCullShader
mutableprotected
CullShaders* makVrv::DtIndirectCullPass::myMutableShaderStruct
mutableprotected
double makVrv::DtIndirectCullPass::myStartTime
mutableprotected
unsigned int makVrv::DtIndirectCullPass::myLastTimeFrame
protected
int makVrv::DtIndirectCullPass::myMaxNumInstancesIndex
protected
int makVrv::DtIndirectCullPass::myModelViewMatrixIndex
protected
int makVrv::DtIndirectCullPass::myProjectionMatrixIndex
protected
int makVrv::DtIndirectCullPass::myZoomMagnificationIndex
protected
int makVrv::DtIndirectCullPass::myViewPortIndex
protected
int makVrv::DtIndirectCullPass::myDistScaleIndex
protected
int makVrv::DtIndirectCullPass::myFadeParametersIndex
protected
DtVector3<int> makVrv::DtIndirectCullPass::myWorkGroupLocalSize
protected
DtDe& makVrv::DtIndirectCullPass::myDe
protected
const bool makVrv::DtIndirectCullPass::theDebugInstancesAppended
staticprotected
std::map<std::string, CullShaders *> makVrv::DtIndirectCullPass::theShaderCache
staticprotected

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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)