KarmaEngine
Game Engine for practical learning and research purposes
|
OpenGL's vertex array class. More...
#include <OpenGLVertexArray.h>
Public Member Functions | |
OpenGLVertexArray () | |
A constructor. | |
virtual | ~OpenGLVertexArray () |
Destructor to delete resources and clenup. | |
virtual void | Bind () const override |
Binds the vertex array object. | |
virtual void | UnBind () const override |
Unbinds the array. | |
virtual void | AddVertexBuffer (const std::shared_ptr< VertexBuffer > &vertexBuffer) override |
virtual void | SetIndexBuffer (const std::shared_ptr< IndexBuffer > &indexBuffer) override |
virtual void | SetShader (std::shared_ptr< Shader > shader) override |
virtual void | SetMesh (std::shared_ptr< Mesh > mesh) override |
Using OpenGL's API, the vertex buffer is processed for rendering. | |
virtual void | SetMaterial (std::shared_ptr< Material > material) override |
Sets the material cache for OpenGL's rendering. | |
virtual const std::vector< std::shared_ptr< VertexBuffer > > & | GetVertexBuffers () const override |
Getter for vertex buffer. | |
virtual const IndexBuffer * | GetIndexBuffer () const override |
Getter for index buffer. | |
virtual std::shared_ptr< Material > | GetMaterial () const override |
Getter for Material. | |
virtual void | UpdateProcessAndSetReadyForSubmission () const override |
OpenGL's way of processing Mesh + Material before submitting to GPU (or issuing draw call via RenderCommand::DrawIndexed) | |
![]() | |
virtual | ~VertexArray () |
A destructor. | |
Additional Inherited Members | |
![]() | |
static VertexArray * | Create () |
Create the VertexArray object based on the rendering API chosen by the programmer. | |
OpenGL's vertex array class.
Karma::OpenGLVertexArray::OpenGLVertexArray | ( | ) |
A constructor.
Generates vertex array buffer and binds the array
|
virtual |
Destructor to delete resources and clenup.
|
overridevirtual |
Implements Karma::VertexArray.
|
overridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
overridevirtual |
Implements Karma::VertexArray.
|
overridevirtual |
|
overridevirtual |
Using OpenGL's API, the vertex buffer is processed for rendering.
mesh | The container for vertex buffer loaded from .obj file |
Implements Karma::VertexArray.
|
inlineoverridevirtual |
Implements Karma::VertexArray.
|
overridevirtual |
|
overridevirtual |
OpenGL's way of processing Mesh + Material before submitting to GPU (or issuing draw call via RenderCommand::DrawIndexed)
Implements Karma::VertexArray.