VR-Forces 5.0.3 Developer's Guide
 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. diffuse texture is separate from the effect textures since it is found differently and used differently

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, int flags)
 
virtual bool hasDiffuseTexture (void) const
 
virtual bool hasEffectTexture (int type) const
 
virtual int getNumEffectTextures () const
 
virtual osg::Texture * diffuseTexture (void) const
 
virtual unsigned int diffuseTextureUnit () const
 
virtual unsigned int diffuseTextureBlendMode () const
 
virtual osg::Texture * effectTextureForType (int type) const
 
virtual int effectTextureUnitForType (int type) const
 
virtual const
DtIndirectEffectTexturesTemplate
effectTexturesTemplate (void) const
 
virtual void setDiffuseTexture (osg::Texture *texture)
 
virtual void setDiffuseTextureUnit (unsigned int unit)
 
virtual void setDiffuseTextureBlendMode (unsigned int mode)
 
virtual void setEffectTexture (int type, osg::Texture *texture)
 
virtual void setEffectTextureUnit (int type, unsigned int unit)
 
virtual void setConfigurableEffectSuffixes (const std::vector< std::string > &suffixes)
 
virtual const std::vector
< std::string > 
configurableEffectSuffixes (void) const
 
virtual void getEffectTextureUnits (VectorTextureUnits &textureUnits) const
 
virtual int flags (void) const
 

Protected Member Functions

virtual ~DtIndirectGeometryTextures ()
 
virtual osg::Texture * textureForIndex (int index) const
 
virtual int textureUnitForIndex (int index) const
 

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
 
const int myFlags
 

Private Member Functions

 DtIndirectGeometryTextures ()
 
 DtIndirectGeometryTextures (const DtIndirectGeometryTextures &other)
 
DtIndirectGeometryTexturesoperator= (const DtIndirectGeometryTextures &other)
 

Member Typedef Documentation

Member Enumeration Documentation

Enumerator
Blend 
Decal 

Constructor & Destructor Documentation

makVrv::DtIndirectGeometryTextures::DtIndirectGeometryTextures ( const DtIndirectEffectTexturesTemplate effectTexturesTemplate,
int  flags 
)

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 int makVrv::DtIndirectGeometryTextures::flags ( void  ) const
virtual

flags

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
const int makVrv::DtIndirectGeometryTextures::myFlags
protected

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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)