light/Engine/src/Platform/GraphicsAPI/OpenGL/glBuffers.hpp

56 lines
1,011 B
C++
Raw Normal View History

2022-03-08 21:19:19 +03:30
#pragma once
#include "Base/Base.hpp"
#include "Graphics/Buffers.hpp"
namespace Light {
//========== CONSTANT_BUFFER ==========//
class glConstantBuffer: public ConstantBuffer
{
private:
unsigned int m_BufferID;
unsigned int m_Index;
public:
glConstantBuffer(ConstantBufferIndex index, unsigned int size);
~glConstantBuffer();
void Bind() override;
void* Map() override;
void UnMap() override;
};
//========== VERTEX_BUFFER ==========//
class glVertexBuffer: public VertexBuffer
{
private:
unsigned int m_BufferID;
public:
glVertexBuffer(float* vertices, unsigned int stride, unsigned int count);
~glVertexBuffer();
void Bind() override;
void UnBind() override;
void* Map() override;
void UnMap() override;
};
//========== INDEX_BUFFER ==========//
class glIndexBuffer: public IndexBuffer
{
private:
unsigned int m_BufferID;
public:
glIndexBuffer(unsigned int* indices, unsigned int count);
~glIndexBuffer();
void Bind() override;
void UnBind() override;
};
} // namespace Light