![]() |
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>
Collaboration diagram for galaxy::VertexBuffer:Public Member Functions | |
| VertexBuffer () | |
| Constructor. | |
| VertexBuffer (VertexBuffer &&) noexcept | |
| Move constructor. | |
| VertexBuffer & | operator= (VertexBuffer &&) noexcept |
| 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 noexcept |
| Get the index count. | |
| void * | offset () noexcept |
| Gets index offset. | |
| unsigned int | id () const noexcept |
| 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 20 of file VertexBuffer.hpp.
| galaxy::VertexBuffer::VertexBuffer | ( | ) |
Constructor.
Definition at line 14 of file VertexBuffer.cpp.
|
noexcept |
Move constructor.
Definition at line 22 of file VertexBuffer.cpp.
| galaxy::VertexBuffer::~VertexBuffer | ( | ) |
Destructor.
Definition at line 45 of file VertexBuffer.cpp.
|
privatedelete |
Copy constructor.
|
noexcept |
Move assignment operator.
Definition at line 31 of file VertexBuffer.cpp.
| void galaxy::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 54 of file VertexBuffer.cpp.
Here is the caller graph for this function:| void galaxy::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 65 of file VertexBuffer.cpp.
| void galaxy::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 76 of file VertexBuffer.cpp.
Here is the caller graph for this function:| void galaxy::VertexBuffer::clear | ( | ) |
Clear buffer data.
Definition at line 81 of file VertexBuffer.cpp.
Here is the caller graph for this function:
|
nodiscardnoexcept |
Get the index count.
Definition at line 89 of file VertexBuffer.cpp.
Here is the caller graph for this function:
|
nodiscardnoexcept |
Gets index offset.
Definition at line 94 of file VertexBuffer.cpp.
Here is the caller graph for this function:
|
nodiscardnoexcept |
Get OpenGL handle.
Definition at line 99 of file VertexBuffer.cpp.
Here is the caller graph for this function:
|
privatedelete |
Copy assignment operator.
|
private |
ID returned by OpenGL when generating buffer.
Definition at line 110 of file VertexBuffer.hpp.
|
private |
Index buffer offset.
Definition at line 115 of file VertexBuffer.hpp.
|
private |
Index buffer count.
Definition at line 120 of file VertexBuffer.hpp.