Zen 0.3.0
Loading...
Searching...
No Matches
ZEN_VertexArray.h
1#pragma once
2#include <zen/zen_pch.h>
3
4#include <zen/renderer/ZEN_Buffer.h>
5
6namespace Zen {
7 class VertexArray {
8 public:
9 virtual ~VertexArray() {}
10
11 virtual void bind() const = 0;
12 virtual void unbind() const = 0;
13
14 virtual void addVertexBuffer(const std::shared_ptr<VertexBuffer> &vertexBuffer) = 0;
15 virtual void setIndexBuffer(const std::shared_ptr<IndexBuffer> &indexBuffer) = 0;
16
17 virtual const std::vector<std::shared_ptr<VertexBuffer>> &getVertexBuffers() const = 0;
18 virtual const std::shared_ptr<IndexBuffer> &getIndexBuffer() const = 0;
19
20 static VertexArray *Create();
21 };
22}; // namespace Zen