![]() |
VR-Forces 4.10 Class Documentation
|
handles the running of the compute shader pass for indirect culling, LODing and switches More...
Classes | |
| struct | ReferencedCullProgram |
| struct used to cache the cull shaders and programs so they are not created by every instance of DtIndirectCullPass More... | |
Public Member Functions | |
| virtual | ~DtIndirectCullProgram () |
| virtual void | deleteShaders (bool viaDestructor, bool viaReload) const |
| Delete all the shaders used by the compute cull pass. More... | |
| virtual void | clearCullProgram (bool viaDestructor) const |
| Clear the cull program and subtract 1 from the cull program reference count. More... | |
| virtual void | releaseGLObjects (osg::State *state) const |
| release the GL objects needed by the comput cull pass More... | |
| virtual void | initializeIfNecessary (const DtCullShaderConfig &cullShaderConfig) |
| initialize the compute shader state if needed More... | |
| virtual void | execute (const DtIndirectViewParameters &viewParameters, const DtGpuCulling &gpuCulling, const osg::FrameStamp *frameStamp, const int lightSourceStateId, const int geometrySpecificationsBufferSize, const GLuint64 geomSpecIndexToCommandIndexAddress, const GLuint64 gpuPerGeomInstancesAddress, const osg::Camera *camera) |
| run the compute shader pass More... | |
Protected Member Functions | |
| DtIndirectCullProgram (DtDe &de) | |
| Constructor. More... | |
Protected Attributes | |
| ReferencedCullProgram * | myMutableReferencedCullProgram |
| mutable since they represent openGL objects which need to be cleaned up in constant functions. More... | |
| DtIndirectCullProgramConstants * | myProgramConstants |
| the constants associated with the cull program More... | |
| DtGlBuffer * | myGpuShaderUbo |
| buffer for the UBO of the cull program More... | |
| int | myGpuShaderUboBinding |
| buffer binding for the UBO of the cull program More... | |
| bool | myMutableShadersFailedToCompile |
| indicate whether we have failed to compile More... | |
| double | myStartTime |
| float | myLastTimeFrame |
| DtCullShaderConfig | myCullShaderConfig |
| DtVector3< int > | myWorkGroupLocalSize |
| DtDe & | myDe |
| const DtTerrainPatchObjectManager & | myTerrainPatchObjectManager |
| DtSkyObjectManager & | mySkyObjectManager |
Static Protected Attributes | |
| static const bool | theDebugInstancesAppended |
| static std::map< std::string, ReferencedCullProgram * > | theShaderCache |
Private Member Functions | |
| DtIndirectCullProgram () | |
| Default Constructor not implemented – Must use DtDe constructor. More... | |
| DtIndirectCullProgram (const DtIndirectCullProgram &other) | |
| Copy Constructor not implemented – Copy Not Allowed. More... | |
| DtIndirectCullProgram & | operator= (const DtIndirectCullProgram &other) |
| Assignment Operator Not implemented – Assignment Not Allowed. More... | |
Friends | |
| class | DtIndirectCullPassCreator |
handles the running of the compute shader pass for indirect culling, LODing and switches
|
protected |
Constructor.
|
virtual |
|
private |
Default Constructor not implemented – Must use DtDe constructor.
|
private |
Copy Constructor not implemented – Copy Not Allowed.
|
private |
Assignment Operator Not implemented – Assignment Not Allowed.
|
virtual |
Delete all the shaders used by the compute cull pass.
|
virtual |
Clear the cull program and subtract 1 from the cull program reference count.
|
virtual |
release the GL objects needed by the comput cull pass
|
virtual |
initialize the compute shader state if needed
|
virtual |
run the compute shader pass
|
friend |
|
mutableprotected |
mutable since they represent openGL objects which need to be cleaned up in constant functions.
|
protected |
the constants associated with the cull program
|
protected |
buffer for the UBO of the cull program
|
protected |
buffer binding for the UBO of the cull program
|
mutableprotected |
indicate whether we have failed to compile
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |