CG-Project2
Loading...
Searching...
No Matches
UniformBuffer.hpp
1#pragma once
2
3#include "Buffer.hpp"
4
5#include <string>
6
7namespace ogl {
8 class UniformBuffer : public Buffer {
9 public:
10 virtual void onAttach();
11 virtual void onDetach();
12
13 virtual void bind() const;
14 virtual void unbind() const;
15
16 void setup(const unsigned int &size, const unsigned int &bindPoint, const unsigned int &offset, const unsigned int &rangeSize);
17 void fastSetup(const unsigned int &size, const unsigned int &bindPoint, const unsigned int &offset, const unsigned int &rangeSize);
18
19 void update(const unsigned int &offset, const unsigned int &size, void *data) const;
20 void fastUpdate(const unsigned int &offset, const unsigned int &size, void *data) const;
21
22 UniformBuffer() = delete;
23
24 UniformBuffer(const std::string &variable);
25
26 ~UniformBuffer();
27
28 private:
29 std::string m_variable{};
30 };
31} // namespace ogl