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

class to hold osg Textures (diffuse map texture + effect textures) basically just a list of osg textures and the texture units that should be used by those textures. More...

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

Public Types

enum  IndirectTextureBlendModesSupported { Blend = 0, Decal = 1 }
 
typedef std::vector< unsigned intVectorTextureUnits
 
typedef std::vector
< osg::ref_ptr< osg::Texture > > 
VectorTextures
 

Public Member Functions

 DtIndirectGeometryTextures (const DtIndirectEffectTexturesTemplate *effectTexturesTemplate)
 Constructor. More...
 
virtual bool hasDiffuseTexture (void) const
 is the diffuse texture valid (the ref_ptr not zero) More...
 
virtual bool hasEffectTexture (int type) const
 is the effect texture of the specified type valid (the ref_ptr not zero) More...
 
virtual int getNumEffectTextures () const
 num effects textures More...
 
virtual osg::Texture * diffuseTexture (void) const
 access the diffuse texture More...
 
virtual unsigned int diffuseTextureUnit () const
 access the texture unit for this diffuse texture although there is no texture unit for reading the texture in bindless, we still need to know which texture coordinates to use More...
 
virtual unsigned int diffuseTextureBlendMode () const
 get the diffuse texture's blend mode (currently only blend and decal modes supported) More...
 
virtual osg::Texture * effectTextureForType (int type) const
 access texture, given the type More...
 
virtual int effectTextureUnitForType (int type) const
 access texture unit, given the type More...
 
virtual const
DtIndirectEffectTexturesTemplate
effectTexturesTemplate (void) const
 access the template More...
 
virtual void setDiffuseTexture (osg::Texture *texture)
 set the diffuse texture for this particular set of textures More...
 
virtual void setDiffuseTextureUnit (unsigned int unit)
 set the diffuse texture unit to use for this particular set of textures More...
 
virtual void setDiffuseTextureBlendMode (unsigned int mode)
 set the diffuse texture's blend mode (currently only blend and decal modes supported) More...
 
virtual void setEffectTexture (int type, osg::Texture *texture)
 set the effect texture for a particular effect texture type to use More...
 
virtual void setEffectTextureUnit (int type, unsigned int unit)
 set the effect texture unit for a particular effect texture type More...
 
virtual void setConfigurableEffectSuffixes (const std::vector< std::string > &suffixes)
 set the configurable effect texture suffixes that are to be used by this set of textures More...
 
virtual const std::vector
< std::string > 
configurableEffectSuffixes (void) const
 get the configurable effect texture suffixes that are to be used by this set of textures More...
 
virtual void getEffectTextureUnits (VectorTextureUnits &textureUnits) const
 get all the texture units to use for the effect textures More...
 

Protected Member Functions

virtual ~DtIndirectGeometryTextures ()
 destructor More...
 
virtual osg::Texture * textureForIndex (int index) const
 access texture, given the index More...
 
virtual int textureUnitForIndex (int index) const
 access the texture unit for the given effect texture index although there is no texture unit for reading the texture in bindless, we still need to know which texture coordinates to use More...
 

Protected Attributes

const
DtIndirectEffectTexturesTemplate
myEffectTexturesTemplate
 
osg::ref_ptr< osg::Texture > myDiffuseTexture
 
int myDiffuseTextureUnit
 
unsigned int myDiffuseTextureBlendMode
 
VectorTextures myEffectTextures
 
VectorTextureUnits myEffectTextureUnits
 
std::vector< std::string > myConfigurableEffectSuffixes
 

Private Member Functions

 DtIndirectGeometryTextures ()
 default constructor not implemented More...
 
 DtIndirectGeometryTextures (const DtIndirectGeometryTextures &other)
 Copy Constructor – not implemented. More...
 
DtIndirectGeometryTexturesoperator= (const DtIndirectGeometryTextures &other)
 Assignment Operator – not implemented. More...
 

Detailed Description

class to hold osg Textures (diffuse map texture + effect textures) basically just a list of osg textures and the texture units that should be used by those textures.

diffuse texture is separate from the effect textures since it is found differently and used differently

Member Typedef Documentation

Member Enumeration Documentation

Enumerator
Blend 
Decal 

Constructor & Destructor Documentation

makVrv::DtIndirectGeometryTextures::DtIndirectGeometryTextures ( const DtIndirectEffectTexturesTemplate effectTexturesTemplate)

Constructor.

makVrv::DtIndirectGeometryTextures::DtIndirectGeometryTextures ( )
private

default constructor not implemented

makVrv::DtIndirectGeometryTextures::DtIndirectGeometryTextures ( const DtIndirectGeometryTextures other)
private

Copy Constructor – not implemented.

virtual makVrv::DtIndirectGeometryTextures::~DtIndirectGeometryTextures ( )
protectedvirtual

destructor

Member Function Documentation

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

Assignment Operator – not implemented.

virtual bool makVrv::DtIndirectGeometryTextures::hasDiffuseTexture ( void  ) const
virtual

is the diffuse texture valid (the ref_ptr not zero)

virtual bool makVrv::DtIndirectGeometryTextures::hasEffectTexture ( int  type) const
virtual

is the effect texture of the specified type valid (the ref_ptr not zero)

virtual int makVrv::DtIndirectGeometryTextures::getNumEffectTextures ( ) const
virtual

num effects textures

virtual osg::Texture* makVrv::DtIndirectGeometryTextures::diffuseTexture ( void  ) const
virtual

access the diffuse texture

virtual unsigned int makVrv::DtIndirectGeometryTextures::diffuseTextureUnit ( ) const
virtual

access the texture unit for this diffuse texture although there is no texture unit for reading the texture in bindless, we still need to know which texture coordinates to use

virtual unsigned int makVrv::DtIndirectGeometryTextures::diffuseTextureBlendMode ( ) const
virtual

get the diffuse texture's blend mode (currently only blend and decal modes supported)

virtual osg::Texture* makVrv::DtIndirectGeometryTextures::effectTextureForType ( int  type) const
virtual

access texture, given the type

virtual int makVrv::DtIndirectGeometryTextures::effectTextureUnitForType ( int  type) const
virtual

access texture unit, given the type

virtual const DtIndirectEffectTexturesTemplate* makVrv::DtIndirectGeometryTextures::effectTexturesTemplate ( void  ) const
virtual

access the template

virtual void makVrv::DtIndirectGeometryTextures::setDiffuseTexture ( osg::Texture *  texture)
virtual

set the diffuse texture for this particular set of textures

virtual void makVrv::DtIndirectGeometryTextures::setDiffuseTextureUnit ( unsigned int  unit)
virtual

set the diffuse texture unit to use for this particular set of textures

virtual void makVrv::DtIndirectGeometryTextures::setDiffuseTextureBlendMode ( unsigned int  mode)
virtual

set the diffuse texture's blend mode (currently only blend and decal modes supported)

virtual void makVrv::DtIndirectGeometryTextures::setEffectTexture ( int  type,
osg::Texture *  texture 
)
virtual

set the effect texture for a particular effect texture type to use

virtual void makVrv::DtIndirectGeometryTextures::setEffectTextureUnit ( int  type,
unsigned int  unit 
)
virtual

set the effect texture unit for a particular effect texture type

virtual void makVrv::DtIndirectGeometryTextures::setConfigurableEffectSuffixes ( const std::vector< std::string > &  suffixes)
virtual

set the configurable effect texture suffixes that are to be used by this set of textures

virtual const std::vector<std::string> makVrv::DtIndirectGeometryTextures::configurableEffectSuffixes ( void  ) const
virtual

get the configurable effect texture suffixes that are to be used by this set of textures

virtual void makVrv::DtIndirectGeometryTextures::getEffectTextureUnits ( VectorTextureUnits textureUnits) const
virtual

get all the texture units to use for the effect textures

virtual osg::Texture* makVrv::DtIndirectGeometryTextures::textureForIndex ( int  index) const
protectedvirtual

access texture, given the index

virtual int makVrv::DtIndirectGeometryTextures::textureUnitForIndex ( int  index) const
protectedvirtual

access the texture unit for the given effect texture index although there is no texture unit for reading the texture in bindless, we still need to know which texture coordinates to use

Member Data Documentation

const DtIndirectEffectTexturesTemplate* makVrv::DtIndirectGeometryTextures::myEffectTexturesTemplate
protected
osg::ref_ptr<osg::Texture> makVrv::DtIndirectGeometryTextures::myDiffuseTexture
protected
int makVrv::DtIndirectGeometryTextures::myDiffuseTextureUnit
protected
unsigned int makVrv::DtIndirectGeometryTextures::myDiffuseTextureBlendMode
protected
VectorTextures makVrv::DtIndirectGeometryTextures::myEffectTextures
protected
VectorTextureUnits makVrv::DtIndirectGeometryTextures::myEffectTextureUnits
protected
std::vector<std::string> makVrv::DtIndirectGeometryTextures::myConfigurableEffectSuffixes
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)