![]() |
VR-Forces 5.0.3 Developer's Guide
|
Manager class that handles texture objects and texture residency, as contexts get created and destroyed through the life time of the application.
Public Member Functions | |
| virtual | ~DtIndirectTextureResidencyManager () |
| virtual bool | inTextureToGCMap (const osg::GraphicsContext *graphicsContext, unsigned int textureObject) const |
| virtual bool | addTextureToGCMapIfNecessary (const osg::GraphicsContext *graphicsContext, unsigned int textureObject) const |
| virtual void | makeTexturesResidentIfNeeded (const osg::GraphicsContext *graphicsContext) const |
| virtual void | releaseGLObjects (osg::State *state) const |
| virtual void | releaseGLObjects (const std::set< unsigned int > &textureObjectSetToUnload) const |
| virtual void | slot_windowToBeDestroyed (DtWindow *window) |
| virtual bool | isInAnotherContext (unsigned int textureId, const osg::GraphicsContext *graphicsContext) const |
Public Attributes | |
| friend | DtIndirectTextureResidencyManagerCreator |
Protected Types | |
| typedef std::set< unsigned int > | SetNonSharedContextIds |
| typedef std::map< unsigned int, SetNonSharedContextIds > | MapContextIdsToNonSharedContextIds |
| typedef std::set< unsigned int > | TexturesSet |
| typedef std::unordered_map < const osg::GraphicsContext *, TexturesSet > | MapContextIdsToTexturesSet |
Protected Member Functions | |
| DtIndirectTextureResidencyManager (DtDe &de) | |
| virtual void | addTextureToGCMap (const osg::GraphicsContext *graphicsContext, unsigned int textureObject) const |
| virtual void | collectNewTexturesAcrosssNonSharedContextIds (const osg::GraphicsContext *graphicsContext, unsigned int textureObject) const |
| virtual void | makeNewTexturesAcrosssNonSharedContextIdsResident (const osg::GraphicsContext *graphicsContext) const |
Private Member Functions | |
| DtIndirectTextureResidencyManager ()=delete | |
| DtIndirectTextureResidencyManager (DtIndirectTextureResidencyManager &)=delete | |
| DtIndirectTextureResidencyManager & | operator= (DtIndirectTextureResidencyManager &)=delete |
|
protected |
|
protected |
|
protected |
|
protected |
|
virtual |
|
protected |
|
privatedelete |
not allowed
|
privatedelete |
not allowed
|
privatedelete |
not allowed
|
virtual |
Check if we have already added a texture object to our list of textures object by graphics context if we have already added then return true.
|
virtual |
Add a texture object to our list of texture objects by graphics context, only if needed.
|
virtual |
makes textures ready for bindless.
|
virtual |
release internal gl data.
|
virtual |
unload given textures (e.g. that the models refer to) (called only for a texture processor for the gt models (for the layer/entity grid) for gs the textures get deleted via the deletion of the texture processor using the releaseGLObjects(osg::State* state) variant above
|
virtual |
handle window closing (context destroyed)
|
virtual |
Checks to see if the given texture id is used in any other context besides the given one.
|
protectedvirtual |
internal. Add a texture object to our list of texture objects by graphics context
|
protectedvirtual |
internal. collect any (new) textures we haven't seen yet for this graphics context (for non shared context ids)
|
protectedvirtual |
internal. collect any (new) textures we haven't seen yet for this graphics context (for non shared context ids), and make them resident
| friend makVrv::DtIndirectTextureResidencyManager::DtIndirectTextureResidencyManagerCreator |
only creator can create
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
The next textures that have been seen in this context.
|
mutableprotected |
Which textures have we seen in what contexts.
|
mutableprotected |
Texture ids for all textures that we have seen so far in all contexts.
|
protected |
hold an instance to the delete manager
|
protected |
for handling window destroyed event
|
protected |
|
protected |