29 lines
778 B
C++
29 lines
778 B
C++
#ifndef VERTEX_ARRAY_HPP
|
|
#define VERTEX_ARRAY_HPP
|
|
|
|
#include "open_engine/renderer/buffer.hpp"
|
|
#include "open_engine/ref_scope.hpp"
|
|
|
|
#include <vector>
|
|
|
|
namespace OpenEngine {
|
|
class VertexArray
|
|
{
|
|
public:
|
|
virtual ~VertexArray() = default;
|
|
|
|
virtual void Bind() const = 0;
|
|
virtual void UnBind() const = 0;
|
|
|
|
virtual void AddVertexBuffer(const Ref<VertexBuffer>& vertex_buffer) = 0;
|
|
virtual void SetIndexBuffer(const Ref<IndexBuffer>& index_buffer) = 0;
|
|
|
|
virtual const std::vector<Ref<VertexBuffer>>& GetVertexBuffers() const = 0;
|
|
virtual const Ref<IndexBuffer>& GetIndexBuffer() const = 0;
|
|
|
|
static Ref<VertexArray> Create();
|
|
};
|
|
}
|
|
|
|
#endif // VERTEX_ARRAY_HPP
|