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>
20public:
21 UniformBuffer(const Program &program, const std::string &name, int binding);
22 UniformBuffer(const UniformBuffer &) = delete;
24
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
Wrapper for OpenGL Uniform Buffer Object (a.k.a GL_UNIFORM_BUFFER)
Definition: UniformBuffer.hpp:19
Core functionality of the framework
Definition: config.hpp:7