![]() |
VR-Forces 4.10 Class Documentation
|
Manager class that handles texture objects and texture residency, as contexts get created and destroyed through the life time of the application. More...
Public Member Functions | |
| virtual | ~DtIndirectTextureResidencyManager () |
| virtual bool | inTextureToGCMap (const osg::GraphicsContext *graphicsContext, osg::Texture::TextureObject *textureObject) const |
| 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. More... | |
| virtual void | addTextureToGCMapIfNecessary (const osg::RenderInfo &renderInfo, osg::Texture::TextureObject *textureObject) const |
| Add a texture object to our list of texture objects by graphics context, only if needed. More... | |
| virtual void | makeTexturesResidentIfNeeded (const osg::RenderInfo &renderInfo) const |
| makes textures ready for bindless. More... | |
| virtual void | releaseGLObjects (osg::State *state) const |
| release internal gl data. More... | |
| virtual void | slot_windowToBeDestroyed (DtWindow *window) |
| handle window closing (context destroyed) More... | |
Public Attributes | |
| friend | DtIndirectTextureResidencyManagerCreator |
| only creator can create More... | |
Protected Types | |
| typedef std::set< unsigned int > | SetNonSharedContextIds |
| typedef std::map< unsigned int, SetNonSharedContextIds > | MapContextIdsToNonSharedContextIds |
| typedef std::set< osg::ref_ptr < osg::Texture::TextureObject > > | TexturesSet |
| typedef std::unordered_map < const osg::GraphicsContext *, TexturesSet > | MapNonSharedContextIdsToNewTexturesArray |
| typedef std::map< const osg::GraphicsContext *, TexturesSet > | MapGCToTexSet |
Protected Member Functions | |
| DtIndirectTextureResidencyManager (DtDe &de) | |
| virtual void | addTextureToGCMap (const osg::GraphicsContext *graphicsContext, osg::Texture::TextureObject *textureObject) const |
| internal. Add a texture object to our list of texture objects by graphics context More... | |
| virtual void | collectNewTexturesAcrosssNonSharedContextIds (const osg::GraphicsContext *graphicsContext, osg::Texture::TextureObject *textureObject) const |
| internal. collect any (new) textures we haven't seen yet for this graphics context (for non shared context ids) More... | |
| virtual void | makeNewTexturesAcrosssNonSharedContextIdsResident (const osg::GraphicsContext *graphicsContext) const |
| internal. collect any (new) textures we haven't seen yet for this graphics context (for non shared context ids), and make them resident More... | |
Protected Attributes | |
| MapContextIdsToNonSharedContextIds | myMutableMapContextIdsToNonSharedContextIds |
| OpenThreads::Mutex | myMutableTextureResidencyMutex |
| MapNonSharedContextIdsToNewTexturesArray | myMutableMapNonSharedContextIdsToNewTexturesSet |
| The next textures that have been seen in this context. More... | |
| MapGCToTexSet | myMutableMapGraphicsContextToTexturesSet |
| Which textures have we seen in what contexts. More... | |
| TexturesSet | myMutableAllSeenTextures |
| Texture ids for all textures that we have seen so far in all contexts. More... | |
| DtGLDeleteObjectManager & | myGlDeleteObjectManager |
| hold an instance to the delete manager More... | |
| DtSignalConnectionManager | myConnections |
| for handling window destroyed event More... | |
| DtDe & | myDe |
Private Member Functions | |
| DtIndirectTextureResidencyManager ()=delete | |
| not allowed More... | |
| DtIndirectTextureResidencyManager (DtIndirectTextureResidencyManager &)=delete | |
| not allowed More... | |
| DtIndirectTextureResidencyManager & | operator= (DtIndirectTextureResidencyManager &)=delete |
| not allowed More... | |
Manager class that handles texture objects and texture residency, as contexts get created and destroyed through the life time of the application.
|
protected |
|
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 |
handle window closing (context destroyed)
|
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 |