12 virtual void Bind()
const = 0;
15 virtual void AddVertexBuffer(
const std::shared_ptr<VertexBuffer>& vertexBuffer);
16 virtual void SetIndexBuffer(
const std::shared_ptr<IndexBuffer>& indexBuffer);
21 const std::vector<std::shared_ptr<VertexBuffer>>&
GetVertexBuffers()
const {
return m_vertexBuffers; }
22 const std::shared_ptr<IndexBuffer>
GetIndexBuffer()
const {
return m_indexBuffer; }
26 std::vector<std::shared_ptr<VertexBuffer>> m_vertexBuffers;
27 std::shared_ptr<IndexBuffer> m_indexBuffer;
virtual void Bind() const =0
const std::vector< std::shared_ptr< VertexBuffer > > & GetVertexBuffers() const
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
void SetSingleVertexBuffer(const std::shared_ptr< VertexBuffer > &vertexBuffer)
static VertexArray * Create()