Practical Tools for Simple Design
Loading...
Searching...
No Matches
UniformBuffer.hpp
1#ifndef CORE_UNIFORM_BUFFER_HPP
2#define CORE_UNIFORM_BUFFER_HPP
3
4#include "pch.hpp" // IWYU pragma: export
5
6#include "Core/Program.hpp"
7
8namespace Core {
18template <typename T>
19class UniformBuffer {
20public:
21 UniformBuffer(const Program &program, const std::string &name, int binding);
22 UniformBuffer(const UniformBuffer &) = delete;
23 UniformBuffer(UniformBuffer &&other);
24
25 ~UniformBuffer();
26
27 UniformBuffer &operator=(const UniformBuffer &) = delete;
28 UniformBuffer &operator=(UniformBuffer &&other);
29
30 void SetData(int offset, const T &data);
31
32private:
33 GLuint m_Binding;
34 GLuint m_BufferId;
35};
36} // namespace Core
37
38#include "UniformBuffer.inl"
39
40#endif
Definition Program.hpp:13
Core functionality of the framework
Definition Context.hpp:10