16 #include <osg/observer_ptr>
27 class DtIndirectGeometry;
81 virtual void recordVAO(
unsigned int vao,
const osg::Camera* camera);
const DtIndirectGeometry * myIndirectGeometry
Definition: DtIndirectVaoManager.h:85
virtual void recordVAO(unsigned int vao, const osg::Camera *camera)
internal method to record a vao
virtual void releaseGLObjects(osg::State *state)
release gl objects
virtual void clearVAO(void)
clear all the internal vaos
friend DtIndirectVaoManagerCreator
only creator can create
Definition: DtIndirectVaoManager.h:46
virtual ~DtIndirectVaoManager()
dtor
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
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 bu...
\ ::, which allows us to hook into our indirect engine to render using indirect rendering...
Definition: DtIndirectGeometry.h:102
DtVirtualBaseClassCreator< DtIndirectVaoManager > DtIndirectVaoManagerCreator
creator
Definition: DtIndirectVaoManager.h:31
DtIndirectVaoManager & operator=(const DtIndirectVaoManager &)=delete
not allowed
'super' class for managing the per camera vaos for an indirect geometry internally uses a DtGlVaoMana...
Definition: DtIndirectVaoManager.h:42
DtIndirectVaoManager(DtDe &de)
only creator can create
This class is used to manage an opengl vertex array object (VAO) dealing with multiple opengl context...
Definition: DtGlVaoManager.h:49
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 ther...
std::map< osg::observer_ptr< const osg::Camera >, DtGlVaoManager * > CameraToVaoManagerMap
Definition: DtIndirectVaoManager.h:88
const char * creatorTypeName< DtIndirectVaoManager >(void)
template specialization for the creator
Definition: DtIndirectVaoManager.h:38
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
CameraToVaoManagerMap myMutableVaoManagers
Definition: DtIndirectVaoManager.h:89
DtDe & myDe
Definition: DtIndirectVaoManager.h:84
virtual void flushVaoManagers()
Check for VaoManagers associated with cameras that are no longer valid and remove them...