9 virtual void Bind()
const = 0;
12 virtual void AddVertexBuffer(
const std::shared_ptr<VertexBuffer>& vertexBuffer) = 0;
13 virtual void AddIndexBuffer(
const std::shared_ptr<IndexBuffer>& indexBuffer) = 0;
15 [[nodiscard]]
virtual const std::vector<std::shared_ptr<VertexBuffer>>&
GetVertexBuffers()
const = 0;
16 [[nodiscard]]
virtual const std::shared_ptr<IndexBuffer>&
GetIndexBuffer()
const = 0;
18 [[nodiscard]]
static std::shared_ptr<VertexArray>
Create();
virtual void AddVertexBuffer(const std::shared_ptr< VertexBuffer > &vertexBuffer)=0
virtual void AddIndexBuffer(const std::shared_ptr< IndexBuffer > &indexBuffer)=0
virtual void Bind() const =0
virtual const std::shared_ptr< IndexBuffer > & GetIndexBuffer() const =0
virtual const std::vector< std::shared_ptr< VertexBuffer > > & GetVertexBuffers() const =0
virtual void Unbind() const =0
virtual ~VertexArray()=default
static std::shared_ptr< VertexArray > Create()
Almost everything connected to graphics is in this namespace.