|
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 Public Member Functions inherited from Karma::VertexBuffer | |
| 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 |