VR-Forces Developer's Guide
 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

Classes

struct  DtVrvTritUboConstantLocations
 
struct  DtVrvTritUniformLocations
 

Public Member Functions

virtual ~DtTritonShaderUniformManager ()
 
virtual bool initShaderUniformHandles (GLint shader, int shaderType)
 
virtual void updateShadingUniforms (GLint shader, int shaderType, const DtTritonRenderingParameters &renderingParameters)
 
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)
 
virtual void updateOceanMaskingUniforms (GLint shader, int shaderType, unsigned int maskUnit, const DtVector4< double > &latLongMinMax)
 
virtual void updateUpdateMatricesForSensorFX (GLint shader, int shaderType, const osg::Matrixf &osgInverseViewMatrix, const osg::Matrixf &osgModelViewMatrix)
 
virtual void resetToValue (int shaderType, int val)
 
virtual void bindUbo ()
 
virtual void unbindUbo ()
 

Public Attributes

friend DtTritonShaderUniformManagerCreator
 

Protected Member Functions

 DtTritonShaderUniformManager (DtDe &de)
 

Protected Attributes

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

Private Member Functions

 DtTritonShaderUniformManager ()=delete
 
 DtTritonShaderUniformManager (const DtTritonShaderUniformManager &other)=delete
 
DtTritonShaderUniformManageroperator= (const DtTritonShaderUniformManager &other)=delete
 

Constructor & Destructor Documentation

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

destructor

makVrv::DtTritonShaderUniformManager::DtTritonShaderUniformManager ( DtDe de)
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 
)
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::updateShadingUniforms ( GLint  shader,
int  shaderType,
const DtTritonRenderingParameters renderingParameters 
)
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::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)

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

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

DtDe& makVrv::DtTritonShaderUniformManager::myDe
protected
std::set<unsigned int> makVrv::DtTritonShaderUniformManager::myProgramIds
protected
DtVrvTritUboConstantLocations makVrv::DtTritonShaderUniformManager::myTritUboConstantLocations
protected
std::array<DtVrvTritUniformLocations, NUM_TRITON_SHADER_TYPES> makVrv::DtTritonShaderUniformManager::myTritUniformLocations
protected
DtGlBuffer* makVrv::DtTritonShaderUniformManager::myGpuShaderUbo
protected
int makVrv::DtTritonShaderUniformManager::myGpuShaderUboBinding
protected

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

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)