VR-Forces 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
makVrv::DtIndirectGeometryTextures Class Reference

This class represents the list of DtIndirectTexturePrototypes belonging to a particular sub-geometry.

A model is made up of one or more sub-geometries.

Each of these have a set of texture prototypes associated with it.

These texture prototypes are the diffuse and effect textures used to render these sub-geometries.

These texture prototypes (represented by DtIndirectTexturePrototypes) can be shared by multiple sub-geometries in the same model and also across models.

DtIndirectTexturePrototypes are handled by DtIndirectTexturePrototypeManager

Objects of this class hold these pointers (representing unique texture templates/prototypes across the system)

Public Types

enum  IndirectTextureBlendModesSupported { Blend = 0, Decal = 1 }
 
typedef std::vector< unsigned intVectorTextureUnits
 

Public Member Functions

 DtIndirectGeometryTextures ()
 
 DtIndirectGeometryTextures (const DtIndirectGeometryTextures &rhs)
 
DtIndirectGeometryTexturesoperator= (const DtIndirectGeometryTextures &rhs)
 
 DtIndirectGeometryTextures (const DtIndirectEffectTexturesTemplate *effectTexturesTemplate, int textureLimitStrategy)
 
virtual ~DtIndirectGeometryTextures ()
 
virtual bool hasDiffuseTexture (void) const
 
virtual bool hasEffectTexture (int type) const
 
virtual int getNumEffectTextures () const
 
virtual const
DtIndirectTexturePrototype
diffuseTexture (void) const
 
virtual unsigned int diffuseTextureUnit () const
 
virtual unsigned int diffuseTextureBlendMode () const
 
virtual const
DtIndirectTexturePrototype
effectTextureForType (int type) const
 
virtual int effectTextureUnitForType (int type) const
 
virtual const
DtIndirectEffectTexturesTemplate
effectTexturesTemplate (void) const
 
virtual void setDiffuseTexture (const DtIndirectTexturePrototype *texture)
 
virtual void setDiffuseTextureUnit (unsigned int unit)
 
virtual void setDiffuseTextureBlendMode (unsigned int mode)
 
virtual void setEffectTexture (int type, DtIndirectTexturePrototype *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 textureLimitStrategy (void) const
 

Protected Member Functions

virtual const
DtIndirectTexturePrototype
textureForIndex (int index) const
 
virtual int textureUnitForIndex (int index) const
 

Protected Attributes

const
DtIndirectEffectTexturesTemplate
myEffectTexturesTemplate = nullptr
 
const DtIndirectTexturePrototypemyDiffuseTexture = nullptr
 
int myDiffuseTextureUnit = 0
 
unsigned int myDiffuseTextureBlendMode = 0
 
std::vector< const
DtIndirectTexturePrototype * > 
myEffectTextures
 
VectorTextureUnits myEffectTextureUnits
 
std::vector< std::string > myConfigurableEffectSuffixes
 
int myTextureLimitStrategy = 0
 

Member Typedef Documentation

Member Enumeration Documentation

Enumerator
Blend 
Decal 

Constructor & Destructor Documentation

makVrv::DtIndirectGeometryTextures::DtIndirectGeometryTextures ( )
makVrv::DtIndirectGeometryTextures::DtIndirectGeometryTextures ( const DtIndirectGeometryTextures rhs)
makVrv::DtIndirectGeometryTextures::DtIndirectGeometryTextures ( const DtIndirectEffectTexturesTemplate effectTexturesTemplate,
int  textureLimitStrategy 
)

Constructor.

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

destructor

Member Function Documentation

DtIndirectGeometryTextures& makVrv::DtIndirectGeometryTextures::operator= ( const DtIndirectGeometryTextures rhs)
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 const DtIndirectTexturePrototype* 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 const DtIndirectTexturePrototype* 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 ( const DtIndirectTexturePrototype 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,
DtIndirectTexturePrototype 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::textureLimitStrategy ( void  ) const
virtual

flags

virtual const DtIndirectTexturePrototype* 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 = nullptr
protected
const DtIndirectTexturePrototype* makVrv::DtIndirectGeometryTextures::myDiffuseTexture = nullptr
protected
int makVrv::DtIndirectGeometryTextures::myDiffuseTextureUnit = 0
protected
unsigned int makVrv::DtIndirectGeometryTextures::myDiffuseTextureBlendMode = 0
protected
std::vector<const DtIndirectTexturePrototype*> makVrv::DtIndirectGeometryTextures::myEffectTextures
protected
VectorTextureUnits makVrv::DtIndirectGeometryTextures::myEffectTextureUnits
protected
std::vector<std::string> makVrv::DtIndirectGeometryTextures::myConfigurableEffectSuffixes
protected
int makVrv::DtIndirectGeometryTextures::myTextureLimitStrategy = 0
protected

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)