blob: 288c9b8a83da3eaedde7a3d9e39d3ffa88b00227 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#pragma once
#include "../../Result.hpp"
#include "../../types.hpp"
#include "../../utils.hpp"
#include "../../Vec.hpp"
#include <glm/gtc/type_ptr.hpp>
namespace amalgine {
class Uniform {
DISABLE_COPY(Uniform)
friend class ShaderProgram;
friend class Result<Uniform>;
public:
Uniform(Uniform&&) = default;
~Uniform();
void set(const vec3f &value);
void set(const glm::mat4 &value);
private:
Uniform(){}
Uniform(i32 uniform_id, u32 shader_program_id);
void use();
private:
i32 uniform_id;
u32 program_id;
};
}
|