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

class for managing the shader uniforms for triton, gets the shader ids and caches them between frames More...

Classes

struct  DtVrvTritUboConstantLocations
 
struct  DtVrvTritUniformLocations
 

Public Member Functions

virtual ~DtTritonShaderUniformManager ()
 destructor More...
 
virtual bool initShaderUniformHandles (GLint shader, int shaderType) const
 Initialize the shader uniform handles for all the uniforms for a particular shader. More...
 
virtual void updateCloudShadowUniforms (GLint shader, int shaderType, GLboolean bIsCloudShadowActive, unsigned int cloudshadowTextureUnit, const osg::Matrixf &textureViewProjMatrix, unsigned int cloudshadowTextureUnit2, const osg::Matrixf &textureViewProjMatrix2) const
 Using the cached shader handles pass the cloud shadow uniform values down to the shader Contains openGl calls so can only be used from the main render. More...
 
virtual void updateShadingUniforms (GLint shader, int shaderType)
 Update uniforms to do with the pbr style rendering of the ocean. More...
 
virtual void updateReverseZ (GLint shader, int shaderType, bool isReverseZ)
 
virtual void updateViewingUniforms (GLint shader, int shaderType, const Matrix4_32 &view_matrix_32, const Matrix4_32 &view_inverse_transpose_matrix_32)
 Using the cached shader handles pass the view matrix uniform values down to the shader Contains openGl calls so can only be used from the main render thread. More...
 
virtual void updateLightingUniforms (osg::State &state, const Vector2_uint32 &tileSize, const Vector2_uint32 &maxDims, int textureStartOffset, GLint shader, int shaderType)
 Using the cached shader handles pass the lighting uniform values down to the shader Contains openGl calls so can only be used from the main render thread. More...
 
virtual void updateOceanMaskingUniforms (GLint shader, int shaderType, unsigned int maskUnit, const DtVector4< double > &latLongMinMax)
 Using the cached shader handles pass the ocean masking uniform values down to the shader Contains openGl calls so can only be used from the main render thread. More...
 
virtual void updateUpdateMatricesForSensorFX (GLint shader, int shaderType, const osg::Matrixf &osgInverseViewMatrix, const osg::Matrixf &osgModelViewMatrix)
 update matrices for sensor fx (osg_ViewMatrixInverse, osg_ModelViewMatrix) More...
 
void resetToValue (int shaderType, int val) const
 resets the uniforms for a shader to val not virtual because it is used in constructor More...
 
virtual void bindUbo ()
 bind our common rendering parameters' ubo More...
 
virtual void unbindUbo ()
 un-bind our common rendering parameters' ubo More...
 

Public Attributes

friend DtTritonShaderUniformManagerCreator
 friend class so only the creator can create this class More...
 

Protected Member Functions

 DtTritonShaderUniformManager (DtDe &de, DtTritonDrawable *tritonDrawable)
 constructor More...
 

Protected Attributes

DtTritonDrawablemyTritonDrawable
 
DtDemyDe
 
std::set< unsigned intmyProgramIds
 
DtVrvTritUboConstantLocations myTritUboConstantLocations
 
std::array
< DtVrvTritUniformLocations,
NUM_TRITON_SHADER_TYPES
myTritUniformLocations
 
DtGlBuffermyGpuShaderUbo
 
int myGpuShaderUboBinding
 
DtBindingManagermyBindingManager
 

Private Member Functions

 DtTritonShaderUniformManager ()=delete
 Default Constructor not implemented. More...
 
 DtTritonShaderUniformManager (const DtTritonShaderUniformManager &other)=delete
 Copy Constructor not implemented – Copy Not Allowed. More...
 
DtTritonShaderUniformManageroperator= (const DtTritonShaderUniformManager &other)=delete
 Assignment Operator Not implemented – Assignment Not Allowed. More...
 

Detailed Description

class for managing the shader uniforms for triton, gets the shader ids and caches them between frames

Constructor & Destructor Documentation

virtual makVrv::DtTritonShaderUniformManager::~DtTritonShaderUniformManager ( )
virtual

destructor

makVrv::DtTritonShaderUniformManager::DtTritonShaderUniformManager ( DtDe de,
DtTritonDrawable tritonDrawable 
)
protected

constructor

makVrv::DtTritonShaderUniformManager::DtTritonShaderUniformManager ( )
privatedelete

Default Constructor not implemented.

makVrv::DtTritonShaderUniformManager::DtTritonShaderUniformManager ( const DtTritonShaderUniformManager other)
privatedelete

Copy Constructor not implemented – Copy Not Allowed.

Member Function Documentation

DtTritonShaderUniformManager& makVrv::DtTritonShaderUniformManager::operator= ( const DtTritonShaderUniformManager other)
privatedelete

Assignment Operator Not implemented – Assignment Not Allowed.

virtual bool makVrv::DtTritonShaderUniformManager::initShaderUniformHandles ( GLint  shader,
int  shaderType 
) const
virtual

Initialize the shader uniform handles for all the uniforms for a particular shader.

Contains openGl calls so can only be used from the main render thread

virtual void makVrv::DtTritonShaderUniformManager::updateCloudShadowUniforms ( GLint  shader,
int  shaderType,
GLboolean  bIsCloudShadowActive,
unsigned int  cloudshadowTextureUnit,
const osg::Matrixf &  textureViewProjMatrix,
unsigned int  cloudshadowTextureUnit2,
const osg::Matrixf &  textureViewProjMatrix2 
) const
virtual

Using the cached shader handles pass the cloud shadow uniform values down to the shader Contains openGl calls so can only be used from the main render.

virtual void makVrv::DtTritonShaderUniformManager::updateShadingUniforms ( GLint  shader,
int  shaderType 
)
virtual

Update uniforms to do with the pbr style rendering of the ocean.

virtual void makVrv::DtTritonShaderUniformManager::updateReverseZ ( GLint  shader,
int  shaderType,
bool  isReverseZ 
)
virtual
virtual void makVrv::DtTritonShaderUniformManager::updateViewingUniforms ( GLint  shader,
int  shaderType,
const Matrix4_32 view_matrix_32,
const Matrix4_32 view_inverse_transpose_matrix_32 
)
virtual

Using the cached shader handles pass the view matrix uniform values down to the shader Contains openGl calls so can only be used from the main render thread.

virtual void makVrv::DtTritonShaderUniformManager::updateLightingUniforms ( osg::State &  state,
const Vector2_uint32 tileSize,
const Vector2_uint32 maxDims,
int  textureStartOffset,
GLint  shader,
int  shaderType 
)
virtual

Using the cached shader handles pass the lighting uniform values down to the shader Contains openGl calls so can only be used from the main render thread.

virtual void makVrv::DtTritonShaderUniformManager::updateOceanMaskingUniforms ( GLint  shader,
int  shaderType,
unsigned int  maskUnit,
const DtVector4< double > &  latLongMinMax 
)
virtual

Using the cached shader handles pass the ocean masking uniform values down to the shader Contains openGl calls so can only be used from the main render thread.

virtual void makVrv::DtTritonShaderUniformManager::updateUpdateMatricesForSensorFX ( GLint  shader,
int  shaderType,
const osg::Matrixf &  osgInverseViewMatrix,
const osg::Matrixf &  osgModelViewMatrix 
)
virtual

update matrices for sensor fx (osg_ViewMatrixInverse, osg_ModelViewMatrix)

void makVrv::DtTritonShaderUniformManager::resetToValue ( int  shaderType,
int  val 
) const

resets the uniforms for a shader to val not virtual because it is used in constructor

virtual void makVrv::DtTritonShaderUniformManager::bindUbo ( )
virtual

bind our common rendering parameters' ubo

virtual void makVrv::DtTritonShaderUniformManager::unbindUbo ( )
virtual

un-bind our common rendering parameters' ubo

Member Data Documentation

friend makVrv::DtTritonShaderUniformManager::DtTritonShaderUniformManagerCreator

friend class so only the creator can create this class

DtTritonDrawable* makVrv::DtTritonShaderUniformManager::myTritonDrawable
protected
DtDe& makVrv::DtTritonShaderUniformManager::myDe
protected
std::set<unsigned int> makVrv::DtTritonShaderUniformManager::myProgramIds
protected
DtVrvTritUboConstantLocations makVrv::DtTritonShaderUniformManager::myTritUboConstantLocations
mutableprotected
std::array<DtVrvTritUniformLocations, NUM_TRITON_SHADER_TYPES> makVrv::DtTritonShaderUniformManager::myTritUniformLocations
mutableprotected
DtGlBuffer* makVrv::DtTritonShaderUniformManager::myGpuShaderUbo
mutableprotected
int makVrv::DtTritonShaderUniformManager::myGpuShaderUboBinding
mutableprotected
DtBindingManager& makVrv::DtTritonShaderUniformManager::myBindingManager
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)