VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtIndirectVaoManager Class Reference

'super' class for managing the per gc vao for all indirect geometries There is only one vao per gl conxext, since because of bindless, it is not buffer specific but just encapsulates a state

Inheritance diagram for makVrv::DtIndirectVaoManager:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtIndirectVaoManager ()
 
virtual unsigned int getOrCreateAndRecordVAO (const osg::GraphicsContext *gc, bool rerecord=false)
 
virtual void releaseGLObjects (const osg::GraphicsContext *gc)
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static DtIndirectVaoManagerinstance (DtDe &de)
 

Protected Member Functions

 DtIndirectVaoManager (DtDe &de)
 
virtual void recordVAO (unsigned int vao)
 

Protected Attributes

DtDemyDe
 
DtGlVaoManagermyVaoManager
 

Private Member Functions

 DtIndirectVaoManager ()=delete
 
 DtIndirectVaoManager (const DtIndirectVaoManager &)=delete
 
DtIndirectVaoManageroperator= (const DtIndirectVaoManager &)=delete
 

Constructor & Destructor Documentation

virtual makVrv::DtIndirectVaoManager::~DtIndirectVaoManager ( )
virtual

dtor

makVrv::DtIndirectVaoManager::DtIndirectVaoManager ( DtDe de)
protected

only creator can create

makVrv::DtIndirectVaoManager::DtIndirectVaoManager ( )
privatedelete

not allowed

makVrv::DtIndirectVaoManager::DtIndirectVaoManager ( const DtIndirectVaoManager )
privatedelete

not allowed

Member Function Documentation

static DtIndirectVaoManager& makVrv::DtIndirectVaoManager::instance ( DtDe de)
static

Access the singleton instance.

DtIndirectVaoManager& makVrv::DtIndirectVaoManager::operator= ( const DtIndirectVaoManager )
privatedelete

not allowed

virtual unsigned int makVrv::DtIndirectVaoManager::getOrCreateAndRecordVAO ( const osg::GraphicsContext *  gc,
bool  rerecord = false 
)
virtual

method to create and 'record' a vertex array object (VAO) using VAO enables us to combine multiple buffer binds into a single 'command' via 'recording' the VAO

Parameters
rerecordindicates whether the vao should be re-recorded even if present in our internal map (perhaps because the buffer addresses, etc changed)
virtual void makVrv::DtIndirectVaoManager::releaseGLObjects ( const osg::GraphicsContext *  gc)
virtual

release gl objects

virtual void makVrv::DtIndirectVaoManager::recordVAO ( unsigned int  vao)
protectedvirtual

internal method to record a vao

Member Data Documentation

DtDe& makVrv::DtIndirectVaoManager::myDe
protected
DtGlVaoManager* makVrv::DtIndirectVaoManager::myVaoManager
protected

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

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)