#pragma once #include namespace lt { class glConstantBuffer: public ConstantBuffer { public: glConstantBuffer(ConstantBufferIndex index, unsigned int size); ~glConstantBuffer() override; void bind() override; auto map() -> void * override; void un_map() override; private: unsigned int m_buffer_id; unsigned int m_index; }; class glVertexBuffer: public VertexBuffer { public: glVertexBuffer(float *vertices, unsigned int stride, unsigned int count); ~glVertexBuffer() override; void bind() override; void un_bind() override; auto map() -> void * override; void un_map() override; private: unsigned int m_buffer_id; }; class glIndexBuffer: public IndexBuffer { public: glIndexBuffer(unsigned int *indices, unsigned int count); ~glIndexBuffer() override; void bind() override; void un_bind() override; private: unsigned int m_buffer_id; }; } // namespace lt