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

#include <VertexArray.h>

Inheritance diagram for Elevate::VertexArray:
Elevate::OpenGLVertexArray

Public Member Functions

virtual ~VertexArray ()=default
 
virtual void Bind () const =0
 
virtual void Unbind () const =0
 
virtual void AddVertexBuffer (const std::shared_ptr< VertexBuffer > &vertexBuffer)
 
virtual void SetIndexBuffer (const std::shared_ptr< IndexBuffer > &indexBuffer)
 
virtual void ClearVertexBuffers ()
 
void SetSingleVertexBuffer (const std::shared_ptr< VertexBuffer > &vertexBuffer)
 
const std::vector< std::shared_ptr< VertexBuffer > > & GetVertexBuffers () const
 
const std::shared_ptr< IndexBufferGetIndexBuffer () const
 

Static Public Member Functions

static VertexArrayCreate ()
 

Detailed Description

Definition at line 7 of file VertexArray.h.

Constructor & Destructor Documentation

◆ ~VertexArray()

virtual Elevate::VertexArray::~VertexArray ( )
virtualdefault

Member Function Documentation

◆ AddVertexBuffer()

void Elevate::VertexArray::AddVertexBuffer ( const std::shared_ptr< VertexBuffer > &  vertexBuffer)
virtual

Reimplemented in Elevate::OpenGLVertexArray.

Definition at line 10 of file VertexArray.cpp.

11 {
12 if (vertexBuffer)
13 {
14 m_vertexBuffers.push_back(vertexBuffer);
15 }
16 }

◆ Bind()

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

Implemented in Elevate::OpenGLVertexArray.

◆ ClearVertexBuffers()

void Elevate::VertexArray::ClearVertexBuffers ( )
virtual

Definition at line 26 of file VertexArray.cpp.

27 {
28 m_vertexBuffers.clear();
29 }

◆ Create()

VertexArray * Elevate::VertexArray::Create ( )
static

Definition at line 37 of file VertexArray.cpp.

38 {
39 switch (Renderer::GetAPI())
40 {
41 case RendererAPI::GraphicAPI::None: return nullptr; break;
42 case RendererAPI::GraphicAPI::OpenGL: return new OpenGLVertexArray();
43 }
44
45 EE_CORE_ASSERT(false, "A supported RendererAPI needs to be supported!");
46 return nullptr;
47 }
static RendererAPI::GraphicAPI GetAPI()
Definition Renderer.h:24

◆ GetIndexBuffer()

const std::shared_ptr< IndexBuffer > Elevate::VertexArray::GetIndexBuffer ( ) const
inline

Definition at line 22 of file VertexArray.h.

22{ return m_indexBuffer; }

◆ GetVertexBuffers()

const std::vector< std::shared_ptr< VertexBuffer > > & Elevate::VertexArray::GetVertexBuffers ( ) const
inline

Definition at line 21 of file VertexArray.h.

21{ return m_vertexBuffers; }

◆ SetIndexBuffer()

void Elevate::VertexArray::SetIndexBuffer ( const std::shared_ptr< IndexBuffer > &  indexBuffer)
virtual

Reimplemented in Elevate::OpenGLVertexArray.

Definition at line 18 of file VertexArray.cpp.

19 {
20 if (indexBuffer)
21 {
22 m_indexBuffer = indexBuffer;
23 }
24 }

◆ SetSingleVertexBuffer()

void Elevate::VertexArray::SetSingleVertexBuffer ( const std::shared_ptr< VertexBuffer > &  vertexBuffer)

Definition at line 31 of file VertexArray.cpp.

32 {
34 AddVertexBuffer(vertexBuffer);
35 }
virtual void AddVertexBuffer(const std::shared_ptr< VertexBuffer > &vertexBuffer)
virtual void ClearVertexBuffers()

◆ Unbind()

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

Implemented in Elevate::OpenGLVertexArray.


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