8#ifndef GALAXY_GRAPHICS_SPRITEBATCH_HPP_
9#define GALAXY_GRAPHICS_SPRITEBATCH_HPP_
50 void init(
const int max_quads);
thread_local const float vertices[]
Video.cpp galaxy.
Abstraction for OpenGL vertex array objects.
Batches together vertex data to reduce draw calls.
VertexArray & vao()
Get vertex array object.
int m_index
Current index.
void clear()
Clears out vertex buffer.
~VertexBatch()
Destructor.
int m_max_quads
Maximum quads allowed.
int push(std::span< Vertex > vertices)
Buffer some vertices into the spritebatch.
VertexBatch & operator=(const VertexBatch &)=delete
Copy assignment operator.
VertexBatch & operator=(VertexBatch &&)
Move assignment operator.
VertexBatch()
Constructor.
VertexBatch(const VertexBatch &)=delete
Copy constructor.
void sub_buffer(const unsigned int index, std::span< Vertex > vertices)
Sub-buffer vertex object.
VertexArray m_vao
Vertex data.
void init(const int max_quads)
Initialize vertex batch data.