VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Public Attributes | Protected Member Functions
makVrv::DtIndirectModelInfo Class Reference

Contains the per Model info which the indirect module needs It is owned by the Indirect geometry registrar.

Public Member Functions

 DtIndirectModelInfo (DtDe &de)
 
virtual ~DtIndirectModelInfo ()
 
 DtIndirectModelInfo (const DtIndirectModelInfo &)=delete
 
DtIndirectModelInfooperator= (const DtIndirectModelInfo &)=delete
 
virtual void unloadBuffers ()
 
virtual bool buffersLoaded () const
 
virtual void texturesSet (std::map< osg::ref_ptr< osg::Texture >, int > &texturesSet) const
 
virtual int addUser (const DtGpuCulling *user)
 
virtual int removeUser (const DtGpuCulling *user)
 
virtual void computeMaxTextureResolution (const DtIndirectLimitTextureStrategy &limitStrategy)
 

Public Attributes

std::string myModelName
 
std::string myModelDefName
 
int myModelID
 
bool myDownloaded
 
DtGeometrySpecVector myGeometrySpecifications
 
std::vector
< DtIndirectModelSubGeometry * > 
myVectorModelSubGeometries
 
DtIndirectMaterialVector myMaterials
 
VectorIndirectGeometryTexturesRefPtrs myTextures
 
DtPerGeomInstances myPerGeomInstancesTemplate
 
DtIndirectUvOffsetManager::AnnotationToUvOffsetMap myAnnotationToUvOffsetIdMap
 
DtIndirectUvOffsetManager::ScrollableUvOffsetIdsAndMultipliers myScrollableUvOffsetIdsAndMultipliers
 
DtIndirectSwitchManager::DequeNodeSwitchInfoPairsArray mySwitchPaths
 
DtIndirectLodManager::DequeIndirectLodInfoArray myLodStacks
 
DtIndirectDofManager::DequeNodeDofInfoPairs myDofPaths
 
int myNumLightSources
 
std::unordered_set< const
DtGpuCulling * > 
myUsers
 
DtDemyDe
 
DtVector2< intmyMaxTextureResolutionInXandY
 

Protected Member Functions

virtual bool isDefaultTexture (osg::ref_ptr< const osg::Texture > texture) const
 

Constructor & Destructor Documentation

makVrv::DtIndirectModelInfo::DtIndirectModelInfo ( DtDe de)

constructor

virtual makVrv::DtIndirectModelInfo::~DtIndirectModelInfo ( )
virtual

destructor

makVrv::DtIndirectModelInfo::DtIndirectModelInfo ( const DtIndirectModelInfo )
delete

not allowed

Member Function Documentation

DtIndirectModelInfo& makVrv::DtIndirectModelInfo::operator= ( const DtIndirectModelInfo )
delete

not allowed

virtual void makVrv::DtIndirectModelInfo::unloadBuffers ( )
virtual

unload the model information specifically, make gl buffers non-resident and add them to the delete manager

virtual bool makVrv::DtIndirectModelInfo::buffersLoaded ( ) const
virtual

are buffers loaded?

virtual void makVrv::DtIndirectModelInfo::texturesSet ( std::map< osg::ref_ptr< osg::Texture >, int > &  texturesSet) const
virtual

get the set of textures (diffuse + effect textures) that this model refers to

virtual int makVrv::DtIndirectModelInfo::addUser ( const DtGpuCulling user)
virtual

gpu culling is the only 'user' of the model info since it uses the bindless address of the buffers and textures of the model multiple gpu cullings (and hence indirect geometries) can refer to the same model info

virtual int makVrv::DtIndirectModelInfo::removeUser ( const DtGpuCulling user)
virtual

gpu culling is the only 'user' of the model info since it uses the bindless address of the buffers and textures of the model multiple gpu cullings (and hence indirect geometries) can refer to the same model info

virtual void makVrv::DtIndirectModelInfo::computeMaxTextureResolution ( const DtIndirectLimitTextureStrategy limitStrategy)
virtual

update the max texture resolution in x and y for all textures of a given model should be done when the model is finalized. Also, excludes the excluded textures from the max computation, per the specified strategy

virtual bool makVrv::DtIndirectModelInfo::isDefaultTexture ( osg::ref_ptr< const osg::Texture >  texture) const
protectedvirtual

whether a texture is the default white texture

Member Data Documentation

std::string makVrv::DtIndirectModelInfo::myModelName

the model name

std::string makVrv::DtIndirectModelInfo::myModelDefName
int makVrv::DtIndirectModelInfo::myModelID

the model id

bool makVrv::DtIndirectModelInfo::myDownloaded

is the model completely downloaded to the gpu

DtGeometrySpecVector makVrv::DtIndirectModelInfo::myGeometrySpecifications

the vector of all geometry specs

std::vector<DtIndirectModelSubGeometry*> makVrv::DtIndirectModelInfo::myVectorModelSubGeometries

the same size as the spec vector above 1 sub-geometry for each spec

DtIndirectMaterialVector makVrv::DtIndirectModelInfo::myMaterials

vector of the materials in this model

VectorIndirectGeometryTexturesRefPtrs makVrv::DtIndirectModelInfo::myTextures

vector of the textures in this model

DtPerGeomInstances makVrv::DtIndirectModelInfo::myPerGeomInstancesTemplate

vector of the per geom instances

DtIndirectUvOffsetManager::AnnotationToUvOffsetMap makVrv::DtIndirectModelInfo::myAnnotationToUvOffsetIdMap

annotation to uv offset map

DtIndirectUvOffsetManager::ScrollableUvOffsetIdsAndMultipliers makVrv::DtIndirectModelInfo::myScrollableUvOffsetIdsAndMultipliers

uv offset ids and multipliers

DtIndirectSwitchManager::DequeNodeSwitchInfoPairsArray makVrv::DtIndirectModelInfo::mySwitchPaths

switch paths

DtIndirectLodManager::DequeIndirectLodInfoArray makVrv::DtIndirectModelInfo::myLodStacks

lod paths

DtIndirectDofManager::DequeNodeDofInfoPairs makVrv::DtIndirectModelInfo::myDofPaths
int makVrv::DtIndirectModelInfo::myNumLightSources

the number of light sources

std::unordered_set<const DtGpuCulling*> makVrv::DtIndirectModelInfo::myUsers
DtDe& makVrv::DtIndirectModelInfo::myDe
DtVector2<int> makVrv::DtIndirectModelInfo::myMaxTextureResolutionInXandY

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

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)