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 Types | Protected Member Functions | Protected Attributes | Friends
makVrv::DtIndirectTextureCollectionPolicy Class Referenceabstract

Abstract class to look in the stateset and collect textures specified via its template The effect texture visitor installs effect textures during loading Indirect rendering needs to know which effect textures these are (so it can install its indirect rendering based shaders, etc). More...

Inheritance diagram for makVrv::DtIndirectTextureCollectionPolicy:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtIndirectTextureCollectionPolicy ()
 destructor More...
 
virtual void collectTextures (DtIndirectGeometryTextures *texturePointers, const osg::StateSet *stateSet, const std::string &modelName) const =0
 inherited class must implement the found textures go into texturePointers pass in the model name to improve the error messages More...
 
virtual const
DtIndirectEffectTexturesTemplate
effectTexturesTemplate (void) const
 access the template More...
 
virtual std::string hashKey (const DtIndirectEffectTexturesTemplate &effectTexturesState) const
 utility for creating a hash key from a textures template More...
 
virtual const std::string & glslTextureDeclarationHashDefine (const DtIndirectEffectTexturesTemplate &effectTexturesState) const =0
 access the the texture declaration (effectively the texture declaration in the shader) The types of effect textures are different in the case of cdb vs point features vs byo Therefore, the corresponding texture structure declarations used by the indirect rendering shaders are different. More...
 
virtual void printHashDefineDetails (const DtIndirectEffectTexturesTemplate &effectTexturesState) const =0
 

Protected Types

typedef std::map< std::string,
std::string > 
MapEffectTexturesStateToHashDefines
 

Protected Member Functions

 DtIndirectTextureCollectionPolicy (DtDe &de)
 constructor More...
 

Protected Attributes

DtIndirectEffectTexturesTemplate myEffectTexturesTemplate
 
boost::mutex myMutex
 
MapEffectTexturesStateToHashDefines myMutableMapEffectTexturesStateToHashDefines
 
DtDemyDe
 

Friends

class DtIndirectTextureCollectionPolicyCreator
 cannot create directly, must use creator More...
 

Detailed Description

Abstract class to look in the stateset and collect textures specified via its template The effect texture visitor installs effect textures during loading Indirect rendering needs to know which effect textures these are (so it can install its indirect rendering based shaders, etc).

These are slightly different in case of point features, cdb, etc This abstract class allows you to handle these abstractly

Member Typedef Documentation

typedef std::map<std::string, std::string> makVrv::DtIndirectTextureCollectionPolicy::MapEffectTexturesStateToHashDefines
protected

Constructor & Destructor Documentation

makVrv::DtIndirectTextureCollectionPolicy::DtIndirectTextureCollectionPolicy ( DtDe de)
protected

constructor

virtual makVrv::DtIndirectTextureCollectionPolicy::~DtIndirectTextureCollectionPolicy ( )
virtual

destructor

Member Function Documentation

virtual void makVrv::DtIndirectTextureCollectionPolicy::collectTextures ( DtIndirectGeometryTextures texturePointers,
const osg::StateSet *  stateSet,
const std::string &  modelName 
) const
pure virtual

inherited class must implement the found textures go into texturePointers pass in the model name to improve the error messages

Implemented in makVrv::DtIndirectDefaultTextureCollectionPolicy, and makVrv::oe::CDB::DtCDBTextureCollectionPolicy.

virtual const DtIndirectEffectTexturesTemplate& makVrv::DtIndirectTextureCollectionPolicy::effectTexturesTemplate ( void  ) const
virtual

access the template

virtual const std::string& makVrv::DtIndirectTextureCollectionPolicy::glslTextureDeclarationHashDefine ( const DtIndirectEffectTexturesTemplate effectTexturesState) const
pure virtual

access the the texture declaration (effectively the texture declaration in the shader) The types of effect textures are different in the case of cdb vs point features vs byo Therefore, the corresponding texture structure declarations used by the indirect rendering shaders are different.

This function abstractly allows you to query the declarations in each policy type. This texture declaration is built off of the corresponding DtIndirectEffectTexturesTemplate which is different in each concrete policy type

Implemented in makVrv::DtIndirectDefaultTextureCollectionPolicy, and makVrv::oe::CDB::DtCDBTextureCollectionPolicy.

virtual void makVrv::DtIndirectTextureCollectionPolicy::printHashDefineDetails ( const DtIndirectEffectTexturesTemplate effectTexturesState) const
pure virtual
virtual std::string makVrv::DtIndirectTextureCollectionPolicy::hashKey ( const DtIndirectEffectTexturesTemplate effectTexturesState) const
virtual

utility for creating a hash key from a textures template

Friends And Related Function Documentation

cannot create directly, must use creator

Member Data Documentation

DtIndirectEffectTexturesTemplate makVrv::DtIndirectTextureCollectionPolicy::myEffectTexturesTemplate
protected
boost::mutex makVrv::DtIndirectTextureCollectionPolicy::myMutex
mutableprotected
MapEffectTexturesStateToHashDefines makVrv::DtIndirectTextureCollectionPolicy::myMutableMapEffectTexturesStateToHashDefines
mutableprotected
DtDe& makVrv::DtIndirectTextureCollectionPolicy::myDe
protected

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)