summary refs log tree commit diff
path: root/src/shader.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/shader.h')
-rw-r--r--src/shader.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/shader.h b/src/shader.h
new file mode 100644
index 0000000..ee06930
--- /dev/null
+++ b/src/shader.h
@@ -0,0 +1,19 @@
+#ifndef SHADER_H
+#define SHADER_H
+
+#include <GL/glew.h>
+
+typedef struct {
+  GLuint program;
+} Shader;
+
+Shader *shader_create(const char *vertex_path, const char *fragment_path);
+void shader_use(Shader *shader);
+void shader_delete(Shader *shader);
+void shader_set_int(Shader *shader, const char *name, int value);
+void shader_set_float(Shader *shader, const char *name, float value);
+void shader_set_vec3(Shader *shader, const char *name, float x, float y,
+                     float z);
+void shader_set_mat4(Shader *shader, const char *name, const float *value);
+
+#endif