19 virtual void Bind()
const = 0;
20 virtual void UnBind()
const = 0;
23 virtual void AddVertexBuffer(
const std::shared_ptr<VertexBuffer>& vertexBuffer) = 0;
24 virtual void SetIndexBuffer(
const std::shared_ptr<IndexBuffer>& indexBuffer) = 0;
25 virtual const std::vector<std::shared_ptr<VertexBuffer>>& GetVertexBuffers()
const = 0;
26 virtual const IndexBuffer* GetIndexBuffer()
const = 0;
28 virtual void SetMesh(std::shared_ptr<Mesh> mesh) = 0;
31 virtual void SetShader(std::shared_ptr<Shader> shader) = 0;
33 virtual void SetMaterial(std::shared_ptr<Material> material) = 0;
35 virtual void UpdateProcessAndSetReadyForSubmission()
const = 0;
39 virtual std::shared_ptr<Material> GetMaterial()
const = 0;