Elevate Engine 1
Loading...
Searching...
No Matches
Elevate::VertexBuffer Class Referenceabstract

#include <Buffer.h>

Inheritance diagram for Elevate::VertexBuffer:
Elevate::OpenGLVertexBuffer

Public Member Functions

 VertexBuffer (const void *vertices, uint32_t size)
 
virtual ~VertexBuffer ()=default
 
virtual void SetLayout (const BufferLayout &layout)=0
 
virtual const BufferLayoutGetLayout () const =0
 
virtual void SetData (const void *newData, uint32_t size)=0
 
virtual void Resize (uint32_t size)=0
 
virtual void Bind () const =0
 
virtual void Unbind () const =0
 
uint32_t GetSize ()
 

Static Public Member Functions

static VertexBufferCreate (const void *vertices, const uint32_t size)
 

Protected Member Functions

void SetSize (uint32_t newSize)
 

Detailed Description

Definition at line 74 of file Buffer.h.

Constructor & Destructor Documentation

◆ VertexBuffer()

Elevate::VertexBuffer::VertexBuffer ( const void *  vertices,
uint32_t  size 
)
inline

Definition at line 77 of file Buffer.h.

78 : m_data(vertices), m_size(size) { }

◆ ~VertexBuffer()

virtual Elevate::VertexBuffer::~VertexBuffer ( )
virtualdefault

Member Function Documentation

◆ Bind()

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

Implemented in Elevate::OpenGLVertexBuffer.

◆ Create()

VertexBuffer * Elevate::VertexBuffer::Create ( const void *  vertices,
const uint32_t  size 
)
static

Definition at line 11 of file Buffer.cpp.

12 {
13 switch (Renderer::GetAPI())
14 {
15 case RendererAPI::GraphicAPI::None: return nullptr; break;
16 case RendererAPI::GraphicAPI::OpenGL: return new OpenGLVertexBuffer(vertices, size);
17 }
18
19 EE_CORE_ASSERT(false, "A supported RendererAPI needs to be supported!");
20 return nullptr;
21 }
static RendererAPI::GraphicAPI GetAPI()
Definition Renderer.h:24

◆ GetLayout()

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

Implemented in Elevate::OpenGLVertexBuffer.

◆ GetSize()

uint32_t Elevate::VertexBuffer::GetSize ( )
inline

Definition at line 93 of file Buffer.h.

93{ return m_size; }

◆ Resize()

virtual void Elevate::VertexBuffer::Resize ( uint32_t  size)
pure virtual

Implemented in Elevate::OpenGLVertexBuffer.

◆ SetData()

virtual void Elevate::VertexBuffer::SetData ( const void *  newData,
uint32_t  size 
)
pure virtual

Implemented in Elevate::OpenGLVertexBuffer.

◆ SetLayout()

virtual void Elevate::VertexBuffer::SetLayout ( const BufferLayout layout)
pure virtual

Implemented in Elevate::OpenGLVertexBuffer.

◆ SetSize()

void Elevate::VertexBuffer::SetSize ( uint32_t  newSize)
inlineprotected

Definition at line 95 of file Buffer.h.

95{ m_size = newSize; }

◆ Unbind()

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

Implemented in Elevate::OpenGLVertexBuffer.


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