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

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

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, unsigned int cloudshadowTextureIndex, const osg::Matrixf &textureViewProjMatrix, unsigned int cloudshadowTextureUnit2, unsigned int cloudshadowTextureIndex2, 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 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...
 

Protected Member Functions

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

Protected Attributes

DtTritonDrawablemyTritonDrawable
 
DtDemyDe
 
std::set< unsigned intmyProgramIds
 
int myMutableViewPortSizeUniform [NUM_TRITON_SHADER_TYPES]
 
int myMutableColorRampTextureUniform [NUM_TRITON_SHADER_TYPES]
 
int myMutableModelViewMatrixUniform [NUM_TRITON_SHADER_TYPES]
 
int myMutableModelViewInverseTransposeMatrixUniform [NUM_TRITON_SHADER_TYPES]
 
int myMutableLightGridTileDimUniform [NUM_TRITON_SHADER_TYPES]
 
int myMutableLightGridMaxDimUniform [NUM_TRITON_SHADER_TYPES]
 
int myMutableCloudShadowTextureUniform [NUM_TRITON_SHADER_TYPES]
 
int myMutableCloudShadowTextureUniform2 [NUM_TRITON_SHADER_TYPES]
 
int myMutableCloudShadowTexGenUniform [NUM_TRITON_SHADER_TYPES]
 
int myMutableCloudShadowTexGenUniform2 [NUM_TRITON_SHADER_TYPES]
 
int myMutableCloudShadowActive [NUM_TRITON_SHADER_TYPES]
 
int myMutableOceanMaskTextureUnitUniform [NUM_TRITON_SHADER_TYPES]
 
int myMutableLatLongMinMax [NUM_TRITON_SHADER_TYPES]
 
int myMutableOsgViewMatrixInverse [NUM_TRITON_SHADER_TYPES]
 
int myMutableOsgModelViewMatrix [NUM_TRITON_SHADER_TYPES]
 

Private Member Functions

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

Friends

class DtTritonShaderUniformManagerCreator
 friend class so only the creator can create this class 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 ( DtTritonDrawable tritonDrawable,
DtDe de 
)
protected

constructor

makVrv::DtTritonShaderUniformManager::DtTritonShaderUniformManager ( )
private

Default Constructor not implemented.

makVrv::DtTritonShaderUniformManager::DtTritonShaderUniformManager ( const DtTritonShaderUniformManager other)
private

Copy Constructor not implemented – Copy Not Allowed.

Member Function Documentation

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

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,
unsigned int  cloudshadowTextureIndex,
const osg::Matrixf &  textureViewProjMatrix,
unsigned int  cloudshadowTextureUnit2,
unsigned int  cloudshadowTextureIndex2,
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::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

Friends And Related Function Documentation

friend class so only the creator can create this class

Member Data Documentation

DtTritonDrawable* makVrv::DtTritonShaderUniformManager::myTritonDrawable
protected
DtDe& makVrv::DtTritonShaderUniformManager::myDe
protected
std::set<unsigned int> makVrv::DtTritonShaderUniformManager::myProgramIds
protected
int makVrv::DtTritonShaderUniformManager::myMutableViewPortSizeUniform[NUM_TRITON_SHADER_TYPES]
mutableprotected
int makVrv::DtTritonShaderUniformManager::myMutableColorRampTextureUniform[NUM_TRITON_SHADER_TYPES]
mutableprotected
int makVrv::DtTritonShaderUniformManager::myMutableModelViewMatrixUniform[NUM_TRITON_SHADER_TYPES]
mutableprotected
int makVrv::DtTritonShaderUniformManager::myMutableModelViewInverseTransposeMatrixUniform[NUM_TRITON_SHADER_TYPES]
mutableprotected
int makVrv::DtTritonShaderUniformManager::myMutableLightGridTileDimUniform[NUM_TRITON_SHADER_TYPES]
mutableprotected
int makVrv::DtTritonShaderUniformManager::myMutableLightGridMaxDimUniform[NUM_TRITON_SHADER_TYPES]
mutableprotected
int makVrv::DtTritonShaderUniformManager::myMutableCloudShadowTextureUniform[NUM_TRITON_SHADER_TYPES]
mutableprotected
int makVrv::DtTritonShaderUniformManager::myMutableCloudShadowTextureUniform2[NUM_TRITON_SHADER_TYPES]
mutableprotected
int makVrv::DtTritonShaderUniformManager::myMutableCloudShadowTexGenUniform[NUM_TRITON_SHADER_TYPES]
mutableprotected
int makVrv::DtTritonShaderUniformManager::myMutableCloudShadowTexGenUniform2[NUM_TRITON_SHADER_TYPES]
mutableprotected
int makVrv::DtTritonShaderUniformManager::myMutableCloudShadowActive[NUM_TRITON_SHADER_TYPES]
mutableprotected
int makVrv::DtTritonShaderUniformManager::myMutableOceanMaskTextureUnitUniform[NUM_TRITON_SHADER_TYPES]
mutableprotected
int makVrv::DtTritonShaderUniformManager::myMutableLatLongMinMax[NUM_TRITON_SHADER_TYPES]
mutableprotected
int makVrv::DtTritonShaderUniformManager::myMutableOsgViewMatrixInverse[NUM_TRITON_SHADER_TYPES]
mutableprotected
int makVrv::DtTritonShaderUniformManager::myMutableOsgModelViewMatrix[NUM_TRITON_SHADER_TYPES]
mutableprotected

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)