summaryrefslogtreecommitdiff
path: root/src/wx/gl_util.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-08-19 20:48:01 +0200
committerCarl Hetherington <cth@carlh.net>2025-08-25 08:44:48 +0200
commit5932d16a8a9e265ce13408128f4434c6912be292 (patch)
tree612436d02bf2ea6cabccbbac822d682b26d85ba2 /src/wx/gl_util.h
parentc1e7425cc3cb55dd0c9ddb15d00b6c2eb2faef0f (diff)
Cleanup: wrap glUniform* calls.
Diffstat (limited to 'src/wx/gl_util.h')
-rw-r--r--src/wx/gl_util.h50
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
+