#ifndef OPENGL_UNIFORM_BUFFER_HPP
#define OPENGL_UNIFORM_BUFFER_HPP

#include "open_engine/renderer/uniform_buffer.hpp"
#include <cstdint>

namespace OpenEngine {

    class OpenGLUniformBuffer : public UniformBuffer
    {
        public:
            OpenGLUniformBuffer(uint32_t size, uint32_t binding);
            virtual ~OpenGLUniformBuffer();

            virtual void SetData(const void* data, uint32_t size,
                    uint32_t offset = 0) override;

        private:
            uint32_t id = 0;
    };

}

#endif // OPENGL_UNIFORM_BUFFER_HPP
