22 #ifndef INCLUDED_VERTEXBUFFERMANAGER 23 #define INCLUDED_VERTEXBUFFERMANAGER 59 bool IsValid()
const {
return m_Chunk !=
nullptr; }
60 explicit operator bool()
const {
return IsValid(); }
61 bool operator!()
const {
return !
static_cast<bool>(*this); }
92 const size_t vertexSize,
const size_t numberOfVertices,
Type
Definition: IBuffer.h:34
Definition: VertexBufferManager.h:34
void Shutdown()
Explicit shutdown of the vertex buffer subsystem; releases all currently-allocated buffers...
Definition: VertexBufferManager.cpp:111
Group
Definition: VertexBufferManager.h:37
CVertexBufferManager g_VBMan
Definition: VertexBufferManager.cpp:72
Definition: VertexBuffer.h:63
CVertexBuffer::VBChunk * m_Chunk
Definition: VertexBufferManager.h:76
bool operator!() const
Definition: VertexBufferManager.h:61
Definition: VertexBufferManager.h:46
uint32_t u32
Definition: types.h:39
Handle AllocateChunk(const size_t vertexSize, const size_t numberOfVertices, const Renderer::Backend::IBuffer::Type type, const bool dynamic, void *backingStore=nullptr, Group group=Group::DEFAULT)
Try to allocate a vertex buffer of the given size and type.
Definition: VertexBufferManager.cpp:122
CVertexBuffer::VBChunk * Get() const
Definition: VertexBufferManager.h:73
CVertexBuffer::VBChunk * operator->() const
Definition: VertexBufferManager.h:72
void Release(CVertexBuffer::VBChunk *chunk)
Returns the given chunk to its owning buffer.
Definition: VertexBufferManager.cpp:182
size_t GetBytesReserved() const
Definition: VertexBufferManager.cpp:191
friend void swap(Handle &lhs, Handle &rhs)
Definition: VertexBufferManager.h:64
~Handle()
Definition: VertexBufferManager.h:57
CVertexBuffer::VBChunk & operator*() const
Definition: VertexBufferManager.h:71
size_t GetBytesAllocated() const
Definition: VertexBufferManager.cpp:200
bool IsValid() const
Definition: VertexBufferManager.h:59
std::vector< std::unique_ptr< CVertexBuffer > > m_Buffers[static_cast< std::size_t >(Group::COUNT)]
List of all known vertex buffers.
Definition: VertexBufferManager.h:108