16#ifndef AEONGAMES_OPENGLMEMORYPOOLBUFFER_HPP
17#define AEONGAMES_OPENGLMEMORYPOOLBUFFER_HPP
22#include <initializer_list>
23#include "OpenGLFunctions.hpp"
24#include "OpenGLBuffer.hpp"
25#include "aeongames/MemoryPoolBuffer.hpp"
Provides access to a region within a memory pool buffer.
Abstract interface for GPU/memory buffer operations.
Abstract interface for a pool-based buffer allocator.
OpenGL GPU buffer wrapper implementing the Buffer interface.
void Reset() final
Reset the pool, freeing all previous allocations.
void Initialize(GLsizei aStackSize)
Initialize the pool buffer with the given size.
const Buffer & GetBuffer() const final
Get a reference to the underlying Buffer.
BufferAccessor Allocate(size_t aSize) final
Allocate a sub-region from the memory pool.
void Finalize()
Release pool buffer resources.
OpenGLMemoryPoolBuffer(const OpenGLRenderer &aOpenGLRenderer, GLsizei aStackSize)
Construct with a renderer and initial pool size.
OpenGL rendering backend implementing the Renderer interface.
<- This is here just for the literals