VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtIndirectVaoManager Class Reference

'super' class for managing the per camera vaos for an indirect geometry internally uses a DtGlVaoManager per camera More...

Public Member Functions

virtual ~DtIndirectVaoManager ()
 dtor More...
 
virtual void initialize (const DtIndirectGeometry *indirectGeometry)
 set the geo for which this manager works on it needs to access the gpu culling and the registrar therefore we need to pass this in. More...
 
virtual unsigned int getOrCreateAndRecordVAO (osg::State *state, const osg::Camera *camera)
 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 More...
 
virtual void clearVAO (void)
 clear all the internal vaos More...
 
virtual void releaseGLObjects (osg::State *state)
 release gl objects More...
 
virtual void flushVaoManagers ()
 Check for VaoManagers associated with cameras that are no longer valid and remove them. More...
 

Public Attributes

friend DtIndirectVaoManagerCreator
 only creator can create More...
 

Protected Types

typedef std::map
< osg::observer_ptr< const
osg::Camera >, DtGlVaoManager * > 
CameraToVaoManagerMap
 

Protected Member Functions

 DtIndirectVaoManager (DtDe &de)
 only creator can create More...
 
virtual void recordVAO (unsigned int vao, const osg::Camera *camera)
 internal method to record a vao More...
 

Protected Attributes

DtDemyDe
 
const DtIndirectGeometrymyIndirectGeometry
 
CameraToVaoManagerMap myMutableVaoManagers
 

Private Member Functions

 DtIndirectVaoManager (const DtIndirectVaoManager &)=delete
 not allowed More...
 
DtIndirectVaoManageroperator= (const DtIndirectVaoManager &)=delete
 not allowed More...
 

Detailed Description

'super' class for managing the per camera vaos for an indirect geometry internally uses a DtGlVaoManager per camera

Member Typedef Documentation

typedef std::map<osg::observer_ptr<const osg::Camera>, DtGlVaoManager*> makVrv::DtIndirectVaoManager::CameraToVaoManagerMap
protected

Constructor & Destructor Documentation

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

dtor

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

only creator can create

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

not allowed

Member Function Documentation

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

not allowed

virtual void makVrv::DtIndirectVaoManager::initialize ( const DtIndirectGeometry indirectGeometry)
virtual

set the geo for which this manager works on it needs to access the gpu culling and the registrar therefore we need to pass this in.

virtual unsigned int makVrv::DtIndirectVaoManager::getOrCreateAndRecordVAO ( osg::State *  state,
const osg::Camera *  camera 
)
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

virtual void makVrv::DtIndirectVaoManager::clearVAO ( void  )
virtual

clear all the internal vaos

virtual void makVrv::DtIndirectVaoManager::releaseGLObjects ( osg::State *  state)
virtual

release gl objects

virtual void makVrv::DtIndirectVaoManager::flushVaoManagers ( )
virtual

Check for VaoManagers associated with cameras that are no longer valid and remove them.

virtual void makVrv::DtIndirectVaoManager::recordVAO ( unsigned int  vao,
const osg::Camera *  camera 
)
protectedvirtual

internal method to record a vao

Member Data Documentation

friend makVrv::DtIndirectVaoManager::DtIndirectVaoManagerCreator

only creator can create

DtDe& makVrv::DtIndirectVaoManager::myDe
protected
const DtIndirectGeometry* makVrv::DtIndirectVaoManager::myIndirectGeometry
protected
CameraToVaoManagerMap makVrv::DtIndirectVaoManager::myMutableVaoManagers
protected

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)