Files
OpenEngine/open_engine/include/open_engine/renderer/vertex_array.hpp
2026-03-01 17:06:15 +01:00

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