diff options
| author | Carl Hetherington <cth@carlh.net> | 2025-08-19 20:48:01 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2025-08-25 08:44:48 +0200 |
| commit | 5932d16a8a9e265ce13408128f4434c6912be292 (patch) | |
| tree | 612436d02bf2ea6cabccbbac822d682b26d85ba2 /src/wx/gl_util.cc | |
| parent | c1e7425cc3cb55dd0c9ddb15d00b6c2eb2faef0f (diff) | |
Cleanup: wrap glUniform* calls.
Diffstat (limited to 'src/wx/gl_util.cc')
| -rw-r--r-- | src/wx/gl_util.cc | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/wx/gl_util.cc b/src/wx/gl_util.cc index ea0673db5..c4b85068b 100644 --- a/src/wx/gl_util.cc +++ b/src/wx/gl_util.cc @@ -19,6 +19,10 @@ */ +#ifdef DCPOMATIC_WINDOWS +#include <GL/glew.h> +#endif + #include "gl_util.h" #include "lib/dcpomatic_assert.h" @@ -56,5 +60,67 @@ dcpomatic::gl::check_error(char const * last) } +Uniform::Uniform(int program, char const* name) +{ + setup(program, name); +} + + +void +Uniform::setup(int program, char const* name) +{ + _location = glGetUniformLocation(program, name); + check_error("glGetUniformLocation"); +} + + +UniformVec4f::UniformVec4f(int program, char const* name) + : Uniform(program, name) +{ + +} + + +void +UniformVec4f::set(float a, float b, float c, float d) +{ + DCPOMATIC_ASSERT(_location != -1); + glUniform4f(_location, a, b, c, d); + check_error("glUniform4f"); +} + + +Uniform1i::Uniform1i(int program, char const* name) + : Uniform(program, name) +{ + +} + + +void +Uniform1i::set(int v) +{ + DCPOMATIC_ASSERT(_location != -1); + glUniform1i(_location, v); + check_error("glUniform1i"); +} + + +UniformMatrix4fv::UniformMatrix4fv(int program, char const* name) + : Uniform(program, name) +{ + +} + + +void +UniformMatrix4fv::set(float const* matrix) +{ + DCPOMATIC_ASSERT(_location != -1); + glUniformMatrix4fv(_location, 1, GL_TRUE, matrix); + check_error("glUniformMatrix4fv"); +} + + #endif |
