Muto 0.0.1
Cross-Platform Application Template
GitHub Repo | Muto Updates | Muto's Author
Loading...
Searching...
No Matches
OpenGLVertexArray.h
Go to the documentation of this file.
1#pragma once
2#include "Renderer/VertexArray.h"
3
4namespace Muto {
5
7 public:
10
11 void Bind() const override;
12 void Unbind() const override;
13
14 void AddVertexBuffer(const Ref<VertexBuffer>& vertexBuffer) override;
15 void SetIndexBuffer(const Ref<IndexBuffer>& indexBuffer) override;
16
17 const std::vector<Ref<VertexBuffer>>& GetVertexBuffers() override { return m_VertexBuffers; }
18 const Ref<IndexBuffer>& GetIndexBuffer() const override { return m_IndexBuffer; }
19
20 private:
21 uint32_t m_RendererID;
22 uint32_t m_VertexBufferIndex = 0;
25
26 };
27
28}
#define MU_CORE_ASSERT(x,...)
Definition Asserts.h:32
#define MU_PROFILE_SCOPE(name)
Definition Instrumentor.h:239
#define MU_PROFILE_FUNCTION()
Definition Instrumentor.h:240
Definition OpenGLVertexArray.h:6
const Ref< IndexBuffer > & GetIndexBuffer() const override
Definition OpenGLVertexArray.h:18
~OpenGLVertexArray()
Definition OpenGLVertexArray.cpp:37
const std::vector< Ref< VertexBuffer > > & GetVertexBuffers() override
Definition OpenGLVertexArray.h:17
Ref< IndexBuffer > m_IndexBuffer
Definition OpenGLVertexArray.h:24
OpenGLVertexArray()
Definition OpenGLVertexArray.cpp:30
void Bind() const override
Definition OpenGLVertexArray.cpp:44
std::vector< Ref< VertexBuffer > > m_VertexBuffers
Definition OpenGLVertexArray.h:23
uint32_t m_VertexBufferIndex
Definition OpenGLVertexArray.h:22
uint32_t m_RendererID
Definition OpenGLVertexArray.h:21
void AddVertexBuffer(const Ref< VertexBuffer > &vertexBuffer) override
Adds a vertex buffer to the vertex array.
Definition OpenGLVertexArray.cpp:58
void Unbind() const override
Definition OpenGLVertexArray.cpp:51
void SetIndexBuffer(const Ref< IndexBuffer > &indexBuffer) override
Sets the index buffer for the vertex array.
Definition OpenGLVertexArray.cpp:82
An abstraction for a vertex array object (VAO).
Definition VertexArray.h:15
The main namespace for the Muto engine.
Definition Application.cpp:15
static GLenum ShaderDataTypeToOpenGLBaseType(ShaderDataType type)
Definition OpenGLVertexArray.cpp:9
ShaderDataType
The different data types that can be used in shaders.
Definition Buffer.h:9