VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectVaoManager.h
Go to the documentation of this file.
1 /*****************************************************************************
2 * Copyright (c) 2022 MAK Technologies, Inc.
3 * All rights reserved.
4 *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
15 
16 #include <osg/observer_ptr>
17 
18 #include <map>
19 
20 namespace osg
21 {
22  class State;
23  class GraphicsContext;
24 }
25 
26 namespace makVrv
27 {
28  class DtDe;
29  class DtIndirectGeometry;
30  class DtGlVaoManager;
31 
36  {
37  public:
39  static DtIndirectVaoManager& instance(DtDe& de);
40 
42  virtual ~DtIndirectVaoManager();
43  protected:
46 
47  private:
49  DtIndirectVaoManager() = delete;
54  public:
55 
61  virtual unsigned int getOrCreateAndRecordVAO(const osg::GraphicsContext* gc, bool rerecord = false);
62 
64  virtual void releaseGLObjects(const osg::GraphicsContext* gc);
65 
66  protected:
68  virtual void recordVAO(unsigned int vao);
69 
70  protected:
72 
74  };
75 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
virtual unsigned int getOrCreateAndRecordVAO(const osg::GraphicsContext *gc, bool rerecord=false)
method to create and &#39;record&#39; a vertex array object (VAO) using VAO enables us to combine multiple bu...
virtual ~DtIndirectVaoManager()
dtor
Contains makVrv::DtVirtualBaseClass class.
DtIndirectVaoManager & operator=(const DtIndirectVaoManager &)=delete
not allowed
DtIndirectVaoManager()=delete
not allowed
DtGlVaoManager * myVaoManager
Definition: DtIndirectVaoManager.h:73
&#39;super&#39; class for managing the per gc vao for all indirect geometries There is only one vao per gl co...
Definition: DtIndirectVaoManager.h:35
This class is used to manage an opengl vertex array object (VAO) dealing with multiple opengl context...
Definition: DtGlVaoManager.h:65
virtual void recordVAO(unsigned int vao)
internal method to record a vao
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:70
DtDe & myDe
Definition: DtIndirectVaoManager.h:71
virtual void releaseGLObjects(const osg::GraphicsContext *gc)
release gl objects
static DtIndirectVaoManager & instance(DtDe &de)
Access the singleton instance.

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)