KarmaEngine
Game Engine for practical learning and research purposes
Loading...
Searching...
No Matches
Karma::OpenGLVertexArray Class Reference

OpenGL's vertex array class. More...

#include <OpenGLVertexArray.h>

Inheritance diagram for Karma::OpenGLVertexArray:
Collaboration diagram for Karma::OpenGLVertexArray:

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 IndexBufferGetIndexBuffer () const override
 Getter for index buffer.
 
virtual std::shared_ptr< MaterialGetMaterial () 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)
 
- Public Member Functions inherited from Karma::VertexArray
virtual ~VertexArray ()
 A destructor.
 

Additional Inherited Members

- Static Public Member Functions inherited from Karma::VertexArray
static VertexArrayCreate ()
 Create the VertexArray object based on the rendering API chosen by the programmer.
 

Detailed Description

OpenGL's vertex array class.

Since
Karma 1.0.0

Constructor & Destructor Documentation

◆ OpenGLVertexArray()

Karma::OpenGLVertexArray::OpenGLVertexArray ( )

A constructor.

Generates vertex array buffer and binds the array

Since
Karma 1.0.0

◆ ~OpenGLVertexArray()

Karma::OpenGLVertexArray::~OpenGLVertexArray ( )
virtual

Destructor to delete resources and clenup.

Since
Karma 1.0.0

Member Function Documentation

◆ AddVertexBuffer()

void Karma::OpenGLVertexArray::AddVertexBuffer ( const std::shared_ptr< VertexBuffer > & vertexBuffer)
overridevirtual

Implements Karma::VertexArray.

◆ Bind()

void Karma::OpenGLVertexArray::Bind ( ) const
overridevirtual

Binds the vertex array object.

Since
Karma 1.0.0

Implements Karma::VertexArray.

◆ GetIndexBuffer()

virtual const IndexBuffer * Karma::OpenGLVertexArray::GetIndexBuffer ( ) const
inlineoverridevirtual

Getter for index buffer.

Since
Karma 1.0.0

Implements Karma::VertexArray.

◆ GetMaterial()

virtual std::shared_ptr< Material > Karma::OpenGLVertexArray::GetMaterial ( ) const
inlineoverridevirtual

Getter for Material.

Since
Karma 1.0.0

Implements Karma::VertexArray.

◆ GetVertexBuffers()

virtual const std::vector< std::shared_ptr< VertexBuffer > > & Karma::OpenGLVertexArray::GetVertexBuffers ( ) const
inlineoverridevirtual

Getter for vertex buffer.

Since
Karma 1.0.0

Implements Karma::VertexArray.

◆ SetIndexBuffer()

void Karma::OpenGLVertexArray::SetIndexBuffer ( const std::shared_ptr< IndexBuffer > & indexBuffer)
overridevirtual

Implements Karma::VertexArray.

◆ SetMaterial()

void Karma::OpenGLVertexArray::SetMaterial ( std::shared_ptr< Material > material)
overridevirtual

Sets the material cache for OpenGL's rendering.

Since
Karma 1.0.0

Implements Karma::VertexArray.

◆ SetMesh()

void Karma::OpenGLVertexArray::SetMesh ( std::shared_ptr< Mesh > mesh)
overridevirtual

Using OpenGL's API, the vertex buffer is processed for rendering.

Parameters
meshThe container for vertex buffer loaded from .obj file
Since
Karma 1.0.0

Implements Karma::VertexArray.

◆ SetShader()

virtual void Karma::OpenGLVertexArray::SetShader ( std::shared_ptr< Shader > shader)
inlineoverridevirtual

Implements Karma::VertexArray.

◆ UnBind()

void Karma::OpenGLVertexArray::UnBind ( ) const
overridevirtual

Unbinds the array.

Since
Karma 1.0.0

Implements Karma::VertexArray.

◆ UpdateProcessAndSetReadyForSubmission()

void Karma::OpenGLVertexArray::UpdateProcessAndSetReadyForSubmission ( ) const
overridevirtual

OpenGL's way of processing Mesh + Material before submitting to GPU (or issuing draw call via RenderCommand::DrawIndexed)

Since
Karma 1.0.0

Implements Karma::VertexArray.


The documentation for this class was generated from the following files: