5#include "../IBuffers.h"
7#include "../Statistics.h"
19 const VertexFormat*
const* vertexFormats =
nullptr,
const uint32_t* vertexBufferStrides =
nullptr,
const uint32_t* vertexBufferOffsets =
nullptr,
44 enum struct BufferType {
52 std::atomic<size_t> bytes = 0;
53 std::atomic<uint32_t> count = 0;
54 } bufferStats[size_t(BufferType::Count)];
Contains all Cogs related functionality.
EBindFlags
Bind flags enumeration.
virtual VertexArrayObjectHandle loadVertexArrayObject(const EffectHandle effectHandle, const VertexBufferHandle *vertexBufferHandles, const size_t vertexBufferCount, const VertexFormat *const *vertexFormats=nullptr, const uint32_t *vertexBufferStrides=nullptr, const uint32_t *vertexBufferOffsets=nullptr, const IndexBufferHandle indexBufferHandle=IndexBufferHandle::NoHandle, uint32_t indexBufferStride=0) override
void recordBufferRelease(BufferHandle handle, BindFlags::EBindFlags bindFlags, size_t bytes)
void recordBufferCreate(BufferHandle handle, BindFlags::EBindFlags bindFlags, size_t bytes)
void updateResourceStatistics(ResourceStatistics &stats) const
virtual void releaseVertexArrayObject(VertexArrayObjectHandle) override
static const Handle_t NoHandle
Represents a handle to nothing.
Provides buffer management functionality.
Vertex element structure used to describe a single data element in a vertex for the input assembler.