VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtCoreGlBuffer.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 #pragma once
10 
11 #include <vrvCore/vrvCore.h>
12 
13 #include <string>
14 
20 
22 
23 namespace makVrv
24 {
25  class DtDe;
29  {
30  public:
31 
33  friend class DtCoreGlBufferCreator;
34 
36  virtual ~DtCoreGlBuffer();
37  protected:
38 
46  DtCoreGlBuffer(DtDe& de, const char* name, DtBufferType type, DtUsage usage, DtCpuAccess accessType, bool hasStagingBuffer);
47 
48  private:
50  DtCoreGlBuffer() = delete;
52  DtCoreGlBuffer(const DtCoreGlBuffer& other) = delete;
54  DtCoreGlBuffer& operator=(const DtCoreGlBuffer& other) = delete;
55 
56  protected:
58 
59  };
60 
63 
67  {
68  public:
71 
73  virtual ~DtCoreGlBufferCreator();
74  private:
78  DtCoreGlBufferCreator& operator=(const DtCoreGlBufferCreator& other);
79  public:
81  virtual DtGlBuffer* create(const char* name, DtBufferType type, DtUsage usage, DtCpuAccess accessType, bool hasStagingBuffer) const;
82 
85  static DtCoreGlBufferCreator& instance(DtDe& de);
86 
88  static const std::string& theClassName();
89 
95  const DtGlBufferMemoryTracker* tracker(void) const;
96 
97  protected:
99 
100  // we don't know what order the tracker will/should be deleted in relation
101  // to the buffers. It can happen out of order (depending on when the creator is deleted)
102  // So, just make this static for now
104  };
105 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
DtBufferType
An abstract buffer type (vertex buffer, index buffer, etc) Used, for example, to create DtGlBuffers o...
Definition: DtBufferType.h:15
creator for DtCoreGlBuffer
Definition: DtCoreGlBuffer.h:66
Buffer Usage enums.
DtUsage
Definition: DtUsage.h:13
Enumerations for cpu access required by textures/buffers.
Contains makVrv::DtGlBufferMemoryTracker class.
static DtGlBufferMemoryTracker theTracker
Definition: DtCoreGlBuffer.h:103
vrvCore&#39;s implementation of DtGlBuffer so it can be created by a creator
Definition: DtCoreGlBuffer.h:28
Contains makVrv::DtVirtualBaseClass class.
DtDe & myDe
Definition: DtCoreGlBuffer.h:57
DtGlBufferMemoryTracker class is used to track memory for buffers to which it is added as a listener...
Definition: DtGlBufferMemoryTracker.h:105
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Contains the DtGlBuffer class declaration.
DtDe & myDe
Definition: DtCoreGlBuffer.h:98
A generic OpenGL buffer. This can be: -&gt; a vertex buffer -&gt; an index buffer -&gt; a shader storage buffe...
Definition: DtGlBuffer.h:29
Buffer Type enums.
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
DtCpuAccess
Definition: DtCpuAccess.h:13
Contains DLL export macros.

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)