KarmaEngine
Game Engine for practical learning and research purposes
|
OpenGL's vertex buffer class, used in agnostic Mesh instance. More...
#include <OpenGLBuffer.h>
Public Member Functions | |
OpenGLVertexBuffer (float *vertices, uint32_t size) | |
Constructor. | |
virtual | ~OpenGLVertexBuffer () |
Destructor. | |
virtual void | Bind () const override |
Binds the vertexbuffer. | |
virtual void | UnBind () const override |
UnBinds the vertexbuffer (cleanup) | |
virtual const BufferLayout & | GetLayout () const override |
Getter for the layout of the vertex buffer. | |
virtual void | SetLayout (const BufferLayout &layout) override |
Sets the layout of the vertexbuffer. | |
Additional Inherited Members | |
![]() | |
static VertexBuffer * | Create (float *vertices, uint32_t size) |
OpenGL's vertex buffer class, used in agnostic Mesh instance.
Karma::OpenGLVertexBuffer::OpenGLVertexBuffer | ( | float * | vertices, |
uint32_t | size ) |
Constructor.
vertices | float array of interleaved vertex data (including position, uv, color, normal, and tangent) based on the BufferLayout |
size | Size (in bytes) of the vertex buffer (number of mesh vertices * sum of each vertex attribute's size). For instance: float vertices[3 * 7] = {
-0.5f, -0.5f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f,
0.5f, -0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f,
0.0f, 0.5f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f
};
|
|
virtual |
Destructor.
Deletes the buffers and clears up OpenGL relevant resources
|
overridevirtual |
|
inlineoverridevirtual |
|
overridevirtual |
Sets the layout of the vertexbuffer.
layout | The reference to layout to be set |
Implements Karma::VertexBuffer.
|
overridevirtual |