1
0
Fork 0
mirror of https://github.com/gwm17/Specter.git synced 2025-08-23 19:48:50 -04:00
Specter/Navigator/src/Platform/OpenGL/OpenGLBuffer.h

40 lines
911 B
C++

#ifndef OPENGL_BUFFER_H
#define OPENGL_BUFFER_H
#include "Navigator/Renderer/Buffer.h"
namespace Navigator {
class NAV_API OpenGLVertexBuffer : public VertexBuffer
{
public:
OpenGLVertexBuffer(size_t size, float* arr);
~OpenGLVertexBuffer();
virtual void Bind() const override;
virtual void Unbind() const override;
virtual void SetLayout(const BufferLayout& layout) override { m_layout = layout; }
virtual const BufferLayout& GetLayout() const override { return m_layout; }
private:
uint32_t m_renderID;
BufferLayout m_layout;
};
class NAV_API OpenGLIndexBuffer : public IndexBuffer
{
public:
OpenGLIndexBuffer(uint32_t count, uint32_t* arr);
~OpenGLIndexBuffer();
virtual void Bind() const override;
virtual void Unbind() const override;
virtual uint32_t GetCount() const override { return m_count; }
private:
uint32_t m_renderID;
uint32_t m_count;
};
}
#endif