Elevate Engine 1
Loading...
Searching...
No Matches
VertexArray.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
5namespace Elevate
6{
8 {
9 public:
10 virtual ~VertexArray() = default;
11
12 virtual void Bind() const = 0;
13 virtual void Unbind() const = 0;
14
15 virtual void AddVertexBuffer(const std::shared_ptr<VertexBuffer>& vertexBuffer);
16 virtual void SetIndexBuffer(const std::shared_ptr<IndexBuffer>& indexBuffer);
17
18 virtual void ClearVertexBuffers();
19 void SetSingleVertexBuffer(const std::shared_ptr<VertexBuffer>& vertexBuffer);
20
21 const std::vector<std::shared_ptr<VertexBuffer>>& GetVertexBuffers() const { return m_vertexBuffers; }
22 const std::shared_ptr<IndexBuffer> GetIndexBuffer() const { return m_indexBuffer; }
23
24 static VertexArray* Create();
25 private:
26 std::vector<std::shared_ptr<VertexBuffer>> m_vertexBuffers;
27 std::shared_ptr<IndexBuffer> m_indexBuffer;
28 };
29}
virtual void Bind() const =0
const std::vector< std::shared_ptr< VertexBuffer > > & GetVertexBuffers() const
Definition VertexArray.h:21
virtual void AddVertexBuffer(const std::shared_ptr< VertexBuffer > &vertexBuffer)
virtual void SetIndexBuffer(const std::shared_ptr< IndexBuffer > &indexBuffer)
virtual void Unbind() const =0
virtual ~VertexArray()=default
virtual void ClearVertexBuffers()
const std::shared_ptr< IndexBuffer > GetIndexBuffer() const
Definition VertexArray.h:22
void SetSingleVertexBuffer(const std::shared_ptr< VertexBuffer > &vertexBuffer)
static VertexArray * Create()