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

Abstract base class for a vertex buffer. More...

#include <Buffer.h>

Inheritance diagram for Muto::VertexBuffer:
Muto::OpenGLVertexBuffer

Public Member Functions

virtual void Bind () const =0
 
virtual const BufferLayout & GetLayout () const =0
 
virtual void SetData (const void *data, uint32_t size)=0
 
virtual void SetLayout (const BufferLayout &layout)=0
 
virtual void Unbind () const =0
 
virtual ~VertexBuffer ()
 

Static Public Member Functions

static Ref< VertexBuffer > Create (float *vertices, uint32_t size)
 
static Ref< VertexBuffer > Create (uint32_t size)
 

Detailed Description

Abstract base class for a vertex buffer.

Constructor & Destructor Documentation

◆ ~VertexBuffer()

virtual Muto::VertexBuffer::~VertexBuffer ( )
inlinevirtual
137{}

Member Function Documentation

◆ Bind()

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

Implemented in Muto::OpenGLVertexBuffer.

◆ Create() [1/2]

Ref< VertexBuffer > Muto::VertexBuffer::Create ( float *  vertices,
uint32_t  size 
)
static
23 {
24 switch (Renderer::GetAPI())
25 {
26 case RenderAPI::API::RAPI_None: MU_CORE_ASSERT(false, "RenderAPI::None is currently not supported!"); return nullptr;
28 }
29 MU_CORE_ASSERT(false, "Unknown RenderAPI!");
30 return nullptr;
31 }
#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.

◆ Create() [2/2]

Ref< VertexBuffer > Muto::VertexBuffer::Create ( uint32_t  size)
static
12 {
13 switch (Renderer::GetAPI())
14 {
15 case RenderAPI::API::RAPI_None: MU_CORE_ASSERT(false, "RenderAPI::None is currently not supported!"); return nullptr;
17 }
18 MU_CORE_ASSERT(false, "Unknown RenderAPI!");
19 return nullptr;
20 }

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

◆ GetLayout()

virtual const BufferLayout & Muto::VertexBuffer::GetLayout ( ) const
pure virtual

Implemented in Muto::OpenGLVertexBuffer.

◆ SetData()

virtual void Muto::VertexBuffer::SetData ( const void *  data,
uint32_t  size 
)
pure virtual

Implemented in Muto::OpenGLVertexBuffer.

◆ SetLayout()

virtual void Muto::VertexBuffer::SetLayout ( const BufferLayout &  layout)
pure virtual

Implemented in Muto::OpenGLVertexBuffer.

◆ Unbind()

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

Implemented in Muto::OpenGLVertexBuffer.


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