![]() |
galaxy 1.0.0
Real-Time C++23 Game Programming Framework. Built on data-driven design principles and agile software engineering.
|
Abstraction for OpenGL vertex buffer objects. More...
#include <VertexBuffer.hpp>
Public Member Functions | |
VertexBuffer () | |
Constructor. | |
VertexBuffer (VertexBuffer &&) | |
Move constructor. | |
VertexBuffer & | operator= (VertexBuffer &&) |
Move assignment operator. | |
~VertexBuffer () | |
Destructor. | |
void | buffer (std::span< Vertex > vertices, std::span< unsigned int > indicies) |
Create vertex buffer object. | |
void | buffer (const int vertex_count, std::span< unsigned int > indicies) |
Create vertex data without uploading. | |
void | sub_buffer (const unsigned int index, std::span< Vertex > vertices) |
Sub-buffer vertex object. | |
void | clear () |
Clear buffer data. | |
int | count () const |
Get the index count. | |
void * | offset () |
Gets index offset. | |
unsigned int | id () const |
Get OpenGL handle. | |
Private Member Functions | |
VertexBuffer (const VertexBuffer &)=delete | |
Copy constructor. | |
VertexBuffer & | operator= (const VertexBuffer &)=delete |
Copy assignment operator. | |
Private Attributes | |
unsigned int | m_id |
ID returned by OpenGL when generating buffer. | |
std::size_t | m_offset |
Index buffer offset. | |
int | m_count |
Index buffer count. | |
Abstraction for OpenGL vertex buffer objects.
Definition at line 22 of file VertexBuffer.hpp.
galaxy::graphics::VertexBuffer::VertexBuffer | ( | ) |
Constructor.
Definition at line 16 of file VertexBuffer.cpp.
galaxy::graphics::VertexBuffer::VertexBuffer | ( | VertexBuffer && | v | ) |
Move constructor.
Definition at line 24 of file VertexBuffer.cpp.
galaxy::graphics::VertexBuffer::~VertexBuffer | ( | ) |
Destructor.
Definition at line 47 of file VertexBuffer.cpp.
|
privatedelete |
Copy constructor.
VertexBuffer & galaxy::graphics::VertexBuffer::operator= | ( | VertexBuffer && | v | ) |
Move assignment operator.
Definition at line 33 of file VertexBuffer.cpp.
void galaxy::graphics::VertexBuffer::buffer | ( | std::span< Vertex > | vertices, |
std::span< unsigned int > | indicies ) |
Create vertex buffer object.
vertices | Vertices to assign. |
indicies | Indices for vertex buffer. |
Definition at line 55 of file VertexBuffer.cpp.
void galaxy::graphics::VertexBuffer::buffer | ( | const int | vertex_count, |
std::span< unsigned int > | indicies ) |
Create vertex data without uploading.
vertex_count | Size of vertices. |
indicies | Indices for vertex buffer. |
Definition at line 66 of file VertexBuffer.cpp.
void galaxy::graphics::VertexBuffer::sub_buffer | ( | const unsigned int | index, |
std::span< Vertex > | vertices ) |
Sub-buffer vertex object.
index | Offset to start at from initial vertices. 0 = first element. |
vertices | Vertices to assign. |
Definition at line 77 of file VertexBuffer.cpp.
void galaxy::graphics::VertexBuffer::clear | ( | ) |
Clear buffer data.
Definition at line 82 of file VertexBuffer.cpp.
|
nodiscard |
Get the index count.
Definition at line 90 of file VertexBuffer.cpp.
|
nodiscard |
Gets index offset.
Definition at line 95 of file VertexBuffer.cpp.
|
nodiscard |
Get OpenGL handle.
Definition at line 100 of file VertexBuffer.cpp.
|
privatedelete |
Copy assignment operator.
|
private |
ID returned by OpenGL when generating buffer.
Definition at line 112 of file VertexBuffer.hpp.
|
private |
Index buffer offset.
Definition at line 117 of file VertexBuffer.hpp.
|
private |
Index buffer count.
Definition at line 122 of file VertexBuffer.hpp.