Muto 0.0.1
Cross-Platform Application Template
GitHub Repo | Muto Updates | Muto's Author
Loading...
Searching...
No Matches
Muto::VertexArray Class Referenceabstract

An abstraction for a vertex array object (VAO). More...

#include <VertexArray.h>

Inheritance diagram for Muto::VertexArray:
Muto::OpenGLVertexArray

Public Member Functions

virtual void AddVertexBuffer (const Ref< VertexBuffer > &vertexBuffer)=0
 Adds a vertex buffer to the vertex array.
 
virtual void Bind () const =0
 
virtual const Ref< IndexBuffer > & GetIndexBuffer () const =0
 
virtual const std::vector< Ref< VertexBuffer > > & GetVertexBuffers ()=0
 
virtual void SetIndexBuffer (const Ref< IndexBuffer > &indexBuffer)=0
 Sets the index buffer for the vertex array.
 
virtual void Unbind () const =0
 
virtual ~VertexArray ()
 

Static Public Member Functions

static Ref< VertexArray > Create ()
 

Detailed Description

An abstraction for a vertex array object (VAO).

Constructor & Destructor Documentation

◆ ~VertexArray()

virtual Muto::VertexArray::~VertexArray ( )
inlinevirtual
17{}

Member Function Documentation

◆ AddVertexBuffer()

virtual void Muto::VertexArray::AddVertexBuffer ( const Ref< VertexBuffer > &  vertexBuffer)
pure virtual

Adds a vertex buffer to the vertex array.

Implemented in Muto::OpenGLVertexArray.

◆ Bind()

virtual void Muto::VertexArray::Bind ( ) const
pure virtual

Implemented in Muto::OpenGLVertexArray.

◆ Create()

Ref< VertexArray > Muto::VertexArray::Create ( )
static
8 {
9 switch (Renderer::GetAPI())
10 {
11 case RenderAPI::API::RAPI_None: MU_CORE_ASSERT(false, "RenderAPI::None is currently not supported!"); return nullptr;
13 }
14 MU_CORE_ASSERT(false, "Unknown RenderAPI!");
15 return nullptr;
16 }
#define MU_CORE_ASSERT(x,...)
Definition Asserts.h:32
static RenderAPI::API GetAPI()
Retrieves the current rendering API.
Definition Renderer.h:44
constexpr Scope< T > CreateScope(Args &&... args)
Creates a Scope (unique_ptr) for the given type and constructor arguments.
Definition Defines_Macros.h:51

References Muto::Renderer::GetAPI(), Muto::RenderAPI::RAPI_None, and Muto::RenderAPI::RAPI_OpenGL.

◆ GetIndexBuffer()

virtual const Ref< IndexBuffer > & Muto::VertexArray::GetIndexBuffer ( ) const
pure virtual

Implemented in Muto::OpenGLVertexArray.

◆ GetVertexBuffers()

virtual const std::vector< Ref< VertexBuffer > > & Muto::VertexArray::GetVertexBuffers ( )
pure virtual

Implemented in Muto::OpenGLVertexArray.

◆ SetIndexBuffer()

virtual void Muto::VertexArray::SetIndexBuffer ( const Ref< IndexBuffer > &  indexBuffer)
pure virtual

Sets the index buffer for the vertex array.

Implemented in Muto::OpenGLVertexArray.

◆ Unbind()

virtual void Muto::VertexArray::Unbind ( ) const
pure virtual

Implemented in Muto::OpenGLVertexArray.


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