Muto 0.0.1
Cross-Platform Application Template
GitHub Repo | Muto Updates | Muto's Author
Loading...
Searching...
No Matches
OpenGLBuffer.h
Go to the documentation of this file.
1#pragma once
2
3#include "Renderer/Buffer.h"
4
5
6namespace Muto {
7
9 {
10 public:
11 OpenGLVertexBuffer(uint32_t size);
12 OpenGLVertexBuffer(float* vertices, uint32_t size);
13 virtual ~OpenGLVertexBuffer();
14 virtual void Bind() const override;
15 virtual void Unbind() const override;
16
17 virtual void SetLayout(const BufferLayout& layout) override { m_Layout = layout; }
18 virtual const BufferLayout& GetLayout() const override { return m_Layout; }
19
20 virtual void SetData(const void* data, uint32_t size) override;
21 private:
22 uint32_t m_RendererID;
24 };
25
27 {
28 public:
29 OpenGLIndexBuffer(uint32_t* indices, uint32_t count);
30 virtual ~OpenGLIndexBuffer();
31 virtual void Bind() const override;
32 virtual void Unbind() const override;
33
34 virtual uint32_t GetCount() const override { return m_Count; }
35 private:
36 uint32_t m_RendererID;
37 uint32_t m_Count;
38 };
39
40}
#define MU_PROFILE_FUNCTION()
Definition Instrumentor.h:240
Represents the layout of a buffer, consisting of multiple BufferElements.
Definition Buffer.h:87
Abstract base class for an index buffer.
Definition Buffer.h:157
Definition OpenGLBuffer.h:27
virtual ~OpenGLIndexBuffer()
Definition OpenGLBuffer.cpp:72
virtual void Bind() const override
Definition OpenGLBuffer.cpp:79
virtual void Unbind() const override
Definition OpenGLBuffer.cpp:86
uint32_t m_RendererID
Definition OpenGLBuffer.h:36
uint32_t m_Count
Definition OpenGLBuffer.h:37
virtual uint32_t GetCount() const override
Definition OpenGLBuffer.h:34
OpenGLIndexBuffer(uint32_t *indices, uint32_t count)
Definition OpenGLBuffer.cpp:62
Definition OpenGLBuffer.h:9
BufferLayout m_Layout
Definition OpenGLBuffer.h:23
virtual void Unbind() const override
Definition OpenGLBuffer.cpp:44
virtual ~OpenGLVertexBuffer()
Definition OpenGLBuffer.cpp:30
virtual void SetLayout(const BufferLayout &layout) override
Definition OpenGLBuffer.h:17
OpenGLVertexBuffer(float *vertices, uint32_t size)
Definition OpenGLBuffer.cpp:21
OpenGLVertexBuffer(uint32_t size)
Definition OpenGLBuffer.cpp:12
uint32_t m_RendererID
Definition OpenGLBuffer.h:22
virtual void SetData(const void *data, uint32_t size) override
Definition OpenGLBuffer.cpp:51
virtual void Bind() const override
Definition OpenGLBuffer.cpp:37
virtual const BufferLayout & GetLayout() const override
Definition OpenGLBuffer.h:18
Abstract base class for a vertex buffer.
Definition Buffer.h:135
The main namespace for the Muto engine.
Definition Application.cpp:15