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 | Protected Types | Protected Member Functions | Protected Attributes
makVrv::DtProgramUniformLocationMap Class Reference

Classes

struct  UniformInfo
 

Public Member Functions

 DtProgramUniformLocationMap (DtDe &de)
 
virtual ~DtProgramUniformLocationMap ()
 
 DtProgramUniformLocationMap ()=delete
 
 DtProgramUniformLocationMap (const DtProgramUniformLocationMap &rhs)=delete
 
DtProgramUniformLocationMapoperator= (const DtProgramUniformLocationMap &rhs)=delete
 
virtual void applyUniforms (const osg::StateSet *ss, int program)
 
virtual void clear (void)
 

Protected Types

typedef std::unordered_map
< unsigned int, UniformInfo
MapUniformIdToUniformInfo
 
typedef std::unordered_map
< int,
MapUniformIdToUniformInfo
MapProgramToMapUniformIdToUniformInfo
 

Protected Member Functions

virtual void apply (unsigned int program, const osg::Uniform *uniform, unsigned int location) const
 

Protected Attributes

DtDemyDe
 
MapProgramToMapUniformIdToUniformInfo myMap
 

Member Typedef Documentation

Constructor & Destructor Documentation

makVrv::DtProgramUniformLocationMap::DtProgramUniformLocationMap ( DtDe de)
virtual makVrv::DtProgramUniformLocationMap::~DtProgramUniformLocationMap ( )
virtual
makVrv::DtProgramUniformLocationMap::DtProgramUniformLocationMap ( )
delete

not allowed

makVrv::DtProgramUniformLocationMap::DtProgramUniformLocationMap ( const DtProgramUniformLocationMap rhs)
delete

not allowed

Member Function Documentation

DtProgramUniformLocationMap& makVrv::DtProgramUniformLocationMap::operator= ( const DtProgramUniformLocationMap rhs)
delete

not allowed

virtual void makVrv::DtProgramUniformLocationMap::applyUniforms ( const osg::StateSet *  ss,
int  program 
)
virtual

Loop over the uniforms of the stateset of the node and set them on the passed in shader.

virtual void makVrv::DtProgramUniformLocationMap::clear ( void  )
virtual

delete the entries of programs to cached uniform locations must call when cloud layers are deleted, atmosphere deleted, triton drawable cleaned up.

virtual void makVrv::DtProgramUniformLocationMap::apply ( unsigned int  program,
const osg::Uniform *  uniform,
unsigned int  location 
) const
protectedvirtual

internal

Member Data Documentation

DtDe& makVrv::DtProgramUniformLocationMap::myDe
protected
MapProgramToMapUniformIdToUniformInfo makVrv::DtProgramUniformLocationMap::myMap
protected

used to cache the shader uniform locations to avoid glGetUniformLocation calls Saves somewhere between 1-3ms and reduces variability of frame time with Triton and Silverlining Tried caching the uniform values as well but that did not seem to make a difference.


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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)