diff options
Diffstat (limited to 'src/RenderBackend/OpenGL/Uniform.cpp')
-rw-r--r-- | src/RenderBackend/OpenGL/Uniform.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/RenderBackend/OpenGL/Uniform.cpp b/src/RenderBackend/OpenGL/Uniform.cpp new file mode 100644 index 0000000..67cf3c6 --- /dev/null +++ b/src/RenderBackend/OpenGL/Uniform.cpp @@ -0,0 +1,24 @@ +#include "../../../include/RenderBackend/OpenGL/Uniform.hpp" +#include "../../../include/RenderBackend/OpenGL/opengl.hpp" + +namespace amalgine { + Uniform::~Uniform() {} + + void Uniform::set(const vec3f &value) { + use(); + glUniform3f(uniform_id, value.x, value.y, value.z); + } + + void Uniform::set(const glm::mat4 &value) { + use(); + glUniformMatrix4fv(uniform_id, 1, GL_FALSE, glm::value_ptr(value)); + } + + Uniform::Uniform(i32 uniform_id, u32 shader_program_id) : uniform_id(uniform_id), program_id(shader_program_id) { + + } + + void Uniform::use() { + glUseProgram(program_id); + } +}
\ No newline at end of file |