8#ifndef GALAXY_GRAPHICS_GL_INSTANCEBUFFER_HPP_
9#define GALAXY_GRAPHICS_GL_INSTANCEBUFFER_HPP_
13#include <glm/mat4x4.hpp>
50 void buffer(std::span<glm::mat4> transforms);
58 void sub_buffer(
const unsigned int index, std::span<glm::mat4> transforms);
79 unsigned int id()
const;
Abstraction for OpenGL vertex buffer objects.
~InstanceBuffer()
Destructor.
InstanceBuffer & operator=(const InstanceBuffer &)=delete
Copy assignment operator.
InstanceBuffer & operator=(InstanceBuffer &&)
Move assignment operator.
int m_amount
Number of instances.
unsigned int id() const
Get OpenGL handle.
void buffer(std::span< glm::mat4 > transforms)
Create instance buffer.
InstanceBuffer(const InstanceBuffer &)=delete
Copy constructor.
InstanceBuffer()
Constructor.
void clear()
Clear buffer data.
void sub_buffer(const unsigned int index, std::span< glm::mat4 > transforms)
Sub-buffer instances.
int amount() const
Get the amount of instances.
unsigned int m_id
ID returned by OpenGL when generating buffer.