16 #include <OpenThreads/Thread>
17 #include <OpenThreads/Block>
19 #include <osg/OperationThread>
20 #include <osg/Texture>
21 #include <osg/observer_ptr>
22 #include <osg/GraphicsContext>
26 class GraphicsContext;
56 virtual void addHandleToDelete(
unsigned int handle);
59 virtual void addTextureIdToDelete(
const osg::GraphicsContext* gContext, osg::Texture::TextureObject* to);
62 virtual void addVertexArrayObjectToDelete(
const osg::GraphicsContext* gContext,
unsigned int vaoId);
65 virtual void addFrameBufferObjectToDelete(
const osg::GraphicsContext* gContext,
unsigned int fboId);
67 virtual void addFrameBufferObjectToDelete(osg::observer_ptr<const osg::GraphicsContext>& gContext,
unsigned int fboId);
70 virtual void flush(
const osg::GraphicsContext* gc,
unsigned int contextId);
73 virtual void flushInvalidGcs(
void);
75 virtual void slot_displayToBeDestroyed(
const std::string& displayName,
DtDe *de);
78 virtual void clearData();
93 virtual void deleteBuffers(
void);
94 virtual void deleteTextures(
const osg::GraphicsContext* gc,
unsigned int contextId);
95 virtual void deleteVAOs(
const osg::GraphicsContext* gc,
unsigned int contextId);
96 virtual void deleteFBOs(
const osg::GraphicsContext* gc,
unsigned int contextId);
98 virtual void flushVAOsForInvalidGcs(
void);
99 virtual void flushFBOsForInvalidGcs(
void);
128 virtual void operator () (osg::Object * sv);
Manager to delete GLBuffer in the main thread.
Definition: DtGlDeleteObjectManager.h:33
Virtual base class.
Definition: DtVirtualBaseClass.h:22
DtDe & myDe
Definition: DtGlDeleteObjectManager.h:116
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
std::map< osg::observer_ptr< const osg::GraphicsContext >, TexturesArray * > MapGCToTexArray
Definition: DtGlDeleteObjectManager.h:38
DtLockedBufferedQueue< unsigned int > FBOArray
Definition: DtGlDeleteObjectManager.h:44
Contains makVrv::DtDe class.
MapGCToTexArray myGraphicsContextToTexturesArray
For keeping texture id's per context.
Definition: DtGlDeleteObjectManager.h:105
DtLockedBufferedQueue< unsigned int > VAOArray
Definition: DtGlDeleteObjectManager.h:40
Contains makVrv::DtLockedBufferedQueue class.
std::map< osg::observer_ptr< const osg::GraphicsContext >, VAOArray * > MapContextsToVAOArray
Definition: DtGlDeleteObjectManager.h:42
MapContextsToVAOArray myGraphicsContextToVAOArray
For keeping vertex array object id's per context.
Definition: DtGlDeleteObjectManager.h:108
A locked buffered queue which allows multiple writers and a single reader.
Definition: DtLockedBufferedQueue.h:27
DtSignalConnectionManager myConnections
Any signals to process.
Definition: DtGlDeleteObjectManager.h:114
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
Contains the DtGlBuffer class declaration.
std::map< osg::observer_ptr< const osg::GraphicsContext >, FBOArray * > MapContextsToFBOArray
Definition: DtGlDeleteObjectManager.h:46
DtLockedBufferedQueue< unsigned int > myGlBufferToDeleteList
list of handle to delete
Definition: DtGlDeleteObjectManager.h:102
DtGLDeleteObjectManager & myManager
Reference to the DtGLDeleteObjectManager.
Definition: DtGlDeleteObjectManager.h:133
Base class to provide boost signal/slot management.
DtLockedBufferedQueue< osg::ref_ptr< osg::Texture::TextureObject > > TexturesArray
Definition: DtGlDeleteObjectManager.h:36
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
MapContextsToFBOArray myGraphicsContextToFBOArray
For keeping vertex array object id's per context.
Definition: DtGlDeleteObjectManager.h:111
Job to delete the queued GLBuffer on each frame.
Definition: DtGlDeleteObjectManager.h:121