diff options
Diffstat (limited to 'include/RenderBackend/OpenGL/Uniform.hpp')
-rw-r--r-- | include/RenderBackend/OpenGL/Uniform.hpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/include/RenderBackend/OpenGL/Uniform.hpp b/include/RenderBackend/OpenGL/Uniform.hpp new file mode 100644 index 0000000..288c9b8 --- /dev/null +++ b/include/RenderBackend/OpenGL/Uniform.hpp @@ -0,0 +1,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; + }; +} |