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
8
namespace
Core
{
18
template
<
typename
T>
19
class
UniformBuffer {
20
public
:
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
32
private
:
33
GLuint m_Binding;
34
GLuint m_BufferId;
35
};
36
}
// namespace Core
37
38
#include "UniformBuffer.inl"
39
40
#endif
Core::Program
Definition
Program.hpp:13
Core
Core functionality of the framework
Definition
Context.hpp:10
include
Core
UniformBuffer.hpp
Generated by
1.14.0