17 #include <boost/thread/mutex.hpp>
20 #include <unordered_map>
21 #include <unordered_set>
26 class DtMeifConverter;
27 class DtIndirectDefaultTexturesContainer;
28 class DtIndirectLimitTextureStrategy;
29 class DtIndirectTextureLimitAdjustedMipMap;
31 class DtIndirectTextureResidencyManager;
32 class DtIndirectTexturePrototype;
33 class DtIndirectImagePrototype;
34 class DtIndirectGlTextureObject;
35 class DtIndirectImagePrototypeManager;
90 virtual bool has(
unsigned int textureId)
const;
102 virtual unsigned int outOfMemoryTextureId(
void)
const;
107 virtual DtVector2<int> seenImageSize(
const std::string& imageFileAbsolutePath)
const;
110 virtual void run(
unsigned int frameNumber);
113 virtual std::unordered_set<DtIndirectGlTextureObject*>& texturesSet(
void);
119 virtual void printStatsWhenNoWindows(
void);
130 ,
bool& aboveCutoff)
const;
146 virtual bool textureWillPutMemoryAboveCutoff(
int sizeOfTextureInBytes)
const;
std::unordered_map< DtIndirectGlTextureObject *, const DtIndirectTexturePrototype * > myTextureObjectToPrototype
Definition: DtIndirectGlTextureObjectManager.h:158
Definition: DtIndirectGlTextureObjectManager.h:39
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Encapsulate an OpenGL texture object that is created/used in indirect rendering.
Definition: DtIndirectGlTextureObject.h:36
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Class responsible for converting images into MAK encrypted image files.
Definition: DtMeifConverter.h:25
DtIndirectGlTextureObject * myIndirectGlTextureObject
Definition: DtIndirectGlTextureObjectManager.h:45
This manager manages the lifetime of the actual gl texture objects (gl unsigned ints) in the indirect...
Definition: DtIndirectGlTextureObjectManager.h:60
Manager class that handles texture objects and texture handle residency, as contexts get created and ...
Definition: DtIndirectTextureResidencyManager.h:108
std::unordered_map< unsigned int, DtIndirectGlTextureObject * > myIdToGlTextures
another map for fast look up
Definition: DtIndirectGlTextureObjectManager.h:161
bool myCreated
Definition: DtIndirectGlTextureObjectManager.h:47
boost::mutex myMutex
Definition: DtIndirectGlTextureObjectManager.h:166
Definition: DtIndirectGlTextureObjectManager.h:39
std::unordered_set< DtIndirectGlTextureObject * > mySetIndirectGlTextureObjects
another set for fast look up
Definition: DtIndirectGlTextureObjectManager.h:164
std::unordered_map< std::string, DtVector2< int > > mySeenImages
Definition: DtIndirectGlTextureObjectManager.h:177
DtIndirectImagePrototypeManager & myImagePrototypeManager
Definition: DtIndirectGlTextureObjectManager.h:186
Contains makVrv::DtVirtualBaseClass class.
Definition: DtIndirectGlTextureObjectManager.h:42
DtIndirectLimitTextureStrategy & myTerrainLimitTextureStrategy
Definition: DtIndirectGlTextureObjectManager.h:180
std::unordered_map< const DtIndirectTexturePrototype *, DtIndirectGlTextureObject * > myTexturePrototypeToObject
of vrv texture to the indirect gl texture object
Definition: DtIndirectGlTextureObjectManager.h:157
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtSignalConnectionManager myConnections
Definition: DtIndirectGlTextureObjectManager.h:154
DtIndirectImagePrototypeManager creates/manages/deletes DtIndirectImagePrototypes.
Definition: DtIndirectImagePrototypeManager.h:51
loads and contains various core default textures used by the indirect system
Definition: DtIndirectDefaultTexturesContainer.h:30
DtIndirectGlTextureObjectStatus myLoadStatus
Definition: DtIndirectGlTextureObjectManager.h:46
DtIndirectLimitTextureStrategy * myNoLimitStrategy
Definition: DtIndirectGlTextureObjectManager.h:179
The indirect system uses this in conjunction with the system wide limits (for entity/terrain) to clam...
Definition: DtIndirectLimitTextureStrategy.h:65
DtIndirectTextureResidencyManager * myIndirectTextureResidencyManager
Definition: DtIndirectGlTextureObjectManager.h:184
This class is specifically used by the indirect system It's separate so that it doesn't interfere wit...
Definition: DtIndirectLog.h:30
static const std::string theClassName
Definition: DtIndirectGlTextureObjectManager.h:175
Base class to provide boost signal/slot management.
DtIndirectDefaultTexturesContainer & myDefaultTexturesContainer
cache to avoid repeated look ups via DtIndirectDefaultTexturesContainer::instance(myDe) ...
Definition: DtIndirectGlTextureObjectManager.h:173
Definition: DtIndirectGlTextureObjectManager.h:39
Definition: DtIndirectGlTextureObjectManager.h:39
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
VRV/Indirect uses its own texture paradigm: DtIndirectTexturePrototype, which is a 'template' for mak...
Definition: DtIndirectTexturePrototype.h:53
DtMeifConverter * myImageCompressor
Definition: DtIndirectGlTextureObjectManager.h:168
DtIndirectLog & myIndirectLog
Definition: DtIndirectGlTextureObjectManager.h:182
DtIndirectImagePrototype represents an image template.
Definition: DtIndirectImagePrototype.h:36
DtIndirectGlTextureObjectStatus
Definition: DtIndirectGlTextureObjectManager.h:37
DtDe & myDe
Definition: DtIndirectGlTextureObjectManager.h:152
int myOutOfMemoryTextureId
Definition: DtIndirectGlTextureObjectManager.h:170