22 #include <osg/StateAttribute>
23 #include <osg/OperationThread>
42 class DtGpuArenaUserData;
43 class DtThreadCameraStreamDataManager;
44 class DtIndirectGeometry;
46 class DtOsgToGlContextTracker;
47 class DtIndirectGlTextureObjectManager;
48 class DtGlDeleteObjectManager;
49 class DtSkyObjectManager;
86 virtual void operator () (osg::Object* obj)
override;
101 virtual size_t statsBufferUpdatesRemaining()
const;
104 virtual size_t statsOneTimeOpsRemaining()
const;
108 virtual void update();
113 virtual void slot_timeBudgetUpdated(
int milliseconds );
116 virtual void processOneTimeInitOperations();
119 virtual void waitForGpu();
std::atomic< size_t > myStatsOneTimeOpsRemaining
Definition: DtGpuArena.h:150
Manager for DtThreadCameraStreamData Holds them as cameras come in. Deletes them as cameras go out (v...
Definition: DtThreadCameraStreamDataManager.h:86
This class tracks gl contexts as they are created/destroyed per window creation/destruction. It is also what clients should hook to via signal_contextAboutToBeDestroyed for context destruction cleanup.
Definition: DtOsgToGlContextTracker.h:28
std::mutex myOneTimeInitOpsMutex
Definition: DtGpuArena.h:130
Encapsulate an operation that needs to happen on the gpu This can be anything (transfer, compute, drawing, etc) It is called from DtGpuArena/DtGpuArenaUserData.
Definition: DtGpuOperation.h:20
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
This manager manages the lifetime of the actual gl texture objects (gl unsigned ints) in the indirect...
Definition: DtIndirectGlTextureObjectManager.h:60
DtThreadCameraStreamDataManager & myTcsDataManager
Definition: DtGpuArena.h:124
Contains the DtGpuArenaUserData class declaration.
DtGpuArenaUserDataCreator & myGpuArenaUserDataCreator
Definition: DtGpuArena.h:143
Contains the DtGpuOperation class declaration.
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:23
size_t myStatsBufferUpdatesRemaining
Definition: DtGpuArena.h:149
std::vector< osg::observer_ptr< DtIndirectGeometry > > myNextFrameOneTimeInitOps
Definition: DtGpuArena.h:128
DtDe & myDe
Definition: DtGpuArena.h:122
\ ::, which allows us to hook into our indirect engine to render using indirect rendering...
Definition: DtIndirectGeometry.h:120
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtGlDeleteObjectManager & myGlDeleteObjectManager
Definition: DtGpuArena.h:141
std::deque< osg::observer_ptr< DtIndirectGeometry > > myOneTimeInitOps
Definition: DtGpuArena.h:131
Definition: DtGpuArena.h:62
std::list< DtGpuOperation * > myPersistentOperations
Definition: DtGpuArena.h:133
DtIndirectGlTextureObjectManager & myIndirectGlTextureObjectManager
Definition: DtGpuArena.h:139
Base class to provide boost signal/slot management.
Vaos are OpenGL context specific. They need to be deleted in the context they are created in...
Definition: DtGlDeleteObjectManager.h:58
const char * creatorTypeName< DtGpuArena >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtGpuArena.h:58
DtSignalConnectionManager myConnections
Definition: DtGpuArena.h:135
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:76
double myTimeBudget
Default 1ms.
Definition: DtGpuArena.h:146
friend DtGpuArenaCreator
Definition: DtGpuArena.h:65
DtVirtualBaseClassCreator< DtGpuArena > DtGpuArenaCreator
creator
Definition: DtGpuArena.h:51
const std::string myName
Definition: DtGpuArena.h:126
unsigned int myLastUpdateFrameNumber
Definition: DtGpuArena.h:148
DtOsgToGlContextTracker & myOsgToGlContextTracker
Definition: DtGpuArena.h:137
Contains the DtKeyedData class declaration.