Zen 0.3.0
Loading...
Searching...
No Matches
ZEN_OpenGLVertexArray.h
1#pragma once
2
3#include <zen/zen_pch.h>
4
5#include <zen/renderer/ZEN_VertexArray.h>
6
7namespace Zen {
8class OpenGLVertexArray : public VertexArray {
9 public:
10 OpenGLVertexArray();
11 virtual ~OpenGLVertexArray() override;
12
13 virtual void bind() const override;
14 virtual void unbind() const override;
15
16 virtual void
17 addVertexBuffer(const std::shared_ptr<VertexBuffer> &vertexBuffer) override;
18 virtual void
19 setIndexBuffer(const std::shared_ptr<IndexBuffer> &indexBuffer) override;
20
21 virtual const std::vector<std::shared_ptr<VertexBuffer>> &
22 getVertexBuffers() const {
23 return m_vertexBuffers;
24 }
25 virtual const std::shared_ptr<IndexBuffer> &getIndexBuffer() const {
26 return m_indexBuffer;
27 }
28
29 private:
30 uint32_t m_rendererID;
31
32 std::vector<std::shared_ptr<VertexBuffer>> m_vertexBuffers;
33 std::shared_ptr<IndexBuffer> m_indexBuffer;
34};
35}; // namespace Zen