VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtGpuArena Class Reference
Inheritance diagram for makVrv::DtGpuArena:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtGpuArena ()
 
virtual void operator() (osg::Object *obj) override
 
virtual void addOneTimeInitOp (DtIndirectGeometry *indirectGeometry)
 
virtual void addOneTimeInitOpForNextFrame (DtIndirectGeometry *indirectGeometry)
 
virtual void addPersistentOp (DtGpuOperation *op)
 
virtual void removePersistentOp (DtGpuOperation *op)
 
virtual size_t statsBufferUpdatesRemaining () const
 
virtual size_t statsOneTimeOpsRemaining () const
 

Public Attributes

friend DtGpuArenaCreator
 

Protected Member Functions

 DtGpuArena (DtDe &de)
 
virtual void update ()
 
virtual void slot_timeBudgetUpdated (int milliseconds)
 
virtual void processOneTimeInitOperations ()
 
virtual void waitForGpu ()
 

Protected Attributes

DtDemyDe
 
DtThreadCameraStreamDataManagermyTcsDataManager
 
const std::string myName
 
std::vector< osg::observer_ptr
< DtIndirectGeometry > > 
myNextFrameOneTimeInitOps
 
std::mutex myOneTimeInitOpsMutex
 
std::deque< osg::observer_ptr
< DtIndirectGeometry > > 
myOneTimeInitOps
 
std::list< DtGpuOperation * > myPersistentOperations
 
DtSignalConnectionManager myConnections
 
DtOsgToGlContextTrackermyOsgToGlContextTracker
 
DtIndirectGlTextureObjectManagermyIndirectGlTextureObjectManager
 
DtGlDeleteObjectManagermyGlDeleteObjectManager
 
DtGpuArenaUserDataCreatormyGpuArenaUserDataCreator
 
double myTimeBudget
 
unsigned int myLastUpdateFrameNumber
 
size_t myStatsBufferUpdatesRemaining
 
std::atomic< size_t > myStatsOneTimeOpsRemaining
 

Private Member Functions

 DtGpuArena ()=delete
 
DtGpuArenaoperator= (const DtGpuArena &rhs)=delete
 
 DtGpuArena (const DtGpuArena &rhs)=delete
 

Constructor & Destructor Documentation

virtual makVrv::DtGpuArena::~DtGpuArena ( )
virtual

destructor

makVrv::DtGpuArena::DtGpuArena ( DtDe de)
protected

constructor

makVrv::DtGpuArena::DtGpuArena ( )
privatedelete

not allowed

makVrv::DtGpuArena::DtGpuArena ( const DtGpuArena rhs)
privatedelete

not allowed

Member Function Documentation

DtGpuArena& makVrv::DtGpuArena::operator= ( const DtGpuArena rhs)
privatedelete

not allowed

virtual void makVrv::DtGpuArena::operator() ( osg::Object *  obj)
overridevirtual

osg override This function is called once per OpenGL context. It can be called from multiple threads simultaneously (e.g. if osg is in ThreadPerContext mode)

virtual void makVrv::DtGpuArena::addOneTimeInitOp ( DtIndirectGeometry indirectGeometry)
virtual

This one can be added from multiple threads.

virtual void makVrv::DtGpuArena::addOneTimeInitOpForNextFrame ( DtIndirectGeometry indirectGeometry)
virtual
virtual void makVrv::DtGpuArena::addPersistentOp ( DtGpuOperation op)
virtual

These operations run once per OpenGL context, per frame. This function is not thread safe.

virtual void makVrv::DtGpuArena::removePersistentOp ( DtGpuOperation op)
virtual

These operations run once per OpenGL context, per frame This function is not thread safe.

virtual size_t makVrv::DtGpuArena::statsBufferUpdatesRemaining ( ) const
virtual

Returns the number of buffer updates remaining for statistics.

virtual size_t makVrv::DtGpuArena::statsOneTimeOpsRemaining ( ) const
virtual

Returns the number of one time ops remaing for statistics.

virtual void makVrv::DtGpuArena::update ( )
protectedvirtual

overrides the pre-tick

virtual void makVrv::DtGpuArena::slot_timeBudgetUpdated ( int  milliseconds)
protectedvirtual

Update myTimeBudget. Default 1ms. Time allowed per frame for each indirect geometry to update buffers Used inDtGpuArena::operator()

virtual void makVrv::DtGpuArena::processOneTimeInitOperations ( )
protectedvirtual

Called once per frame to process one time init operations.

virtual void makVrv::DtGpuArena::waitForGpu ( )
protectedvirtual

Called internally to wait for the GPU to be ready for more commands.

Member Data Documentation

friend makVrv::DtGpuArena::DtGpuArenaCreator
DtDe& makVrv::DtGpuArena::myDe
protected
DtThreadCameraStreamDataManager& makVrv::DtGpuArena::myTcsDataManager
protected
const std::string makVrv::DtGpuArena::myName
protected
std::vector< osg::observer_ptr<DtIndirectGeometry> > makVrv::DtGpuArena::myNextFrameOneTimeInitOps
protected
std::mutex makVrv::DtGpuArena::myOneTimeInitOpsMutex
protected
std::deque< osg::observer_ptr<DtIndirectGeometry> > makVrv::DtGpuArena::myOneTimeInitOps
protected
std::list<DtGpuOperation*> makVrv::DtGpuArena::myPersistentOperations
protected
DtSignalConnectionManager makVrv::DtGpuArena::myConnections
protected
DtOsgToGlContextTracker& makVrv::DtGpuArena::myOsgToGlContextTracker
protected
DtIndirectGlTextureObjectManager& makVrv::DtGpuArena::myIndirectGlTextureObjectManager
protected
DtGlDeleteObjectManager& makVrv::DtGpuArena::myGlDeleteObjectManager
protected
DtGpuArenaUserDataCreator& makVrv::DtGpuArena::myGpuArenaUserDataCreator
protected
double makVrv::DtGpuArena::myTimeBudget
protected

Default 1ms.

unsigned int makVrv::DtGpuArena::myLastUpdateFrameNumber
protected
size_t makVrv::DtGpuArena::myStatsBufferUpdatesRemaining
protected
std::atomic<size_t> makVrv::DtGpuArena::myStatsOneTimeOpsRemaining
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)