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.h | |
| parent | c1e7425cc3cb55dd0c9ddb15d00b6c2eb2faef0f (diff) | |
Cleanup: wrap glUniform* calls.
Diffstat (limited to 'src/wx/gl_util.h')
| -rw-r--r-- | src/wx/gl_util.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/wx/gl_util.h b/src/wx/gl_util.h index 3f311e200..49f05d53b 100644 --- a/src/wx/gl_util.h +++ b/src/wx/gl_util.h @@ -19,6 +19,10 @@ */ +#ifndef DCPOMATIC_GL_UTIL_H +#define DCPOMATIC_GL_UTIL_H + + namespace dcpomatic { namespace gl { @@ -26,6 +30,52 @@ namespace gl { extern void check_error(char const * last); +class Uniform +{ +public: + Uniform() = default; + Uniform(int program, char const* name); + + void setup(int program, char const* name); + +protected: + int _location = -1; +}; + + +class UniformVec4f : public Uniform +{ +public: + UniformVec4f() = default; + UniformVec4f(int program, char const* name); + + void set(float a, float b, float c, float d); +}; + + +class Uniform1i : public Uniform +{ +public: + Uniform1i() = default; + Uniform1i(int program, char const* name); + + void set(int v); +}; + + +class UniformMatrix4fv : public Uniform +{ +public: + UniformMatrix4fv() = default; + UniformMatrix4fv(int program, char const* name); + + void set(float const* matrix); +}; + + } } + +#endif + |
