From a091c00c00c1d5ae5e3da7ef31b98293c76d479f Mon Sep 17 00:00:00 2001 From: pants Date: Mon, 21 Sep 2026 14:16:59 -0700 Subject: init --- include/shader.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 include/shader.h (limited to 'include/shader.h') diff --git a/include/shader.h b/include/shader.h new file mode 100644 index 0000000..2fd2603 --- /dev/null +++ b/include/shader.h @@ -0,0 +1,23 @@ +#ifndef GSR_SHADER_H +#define GSR_SHADER_H + +#include + +typedef struct gsr_egl gsr_egl; + +typedef struct { + gsr_egl *egl; + unsigned int program_id; +} gsr_shader; + +/* |vertex_shader| or |fragment_shader| may be NULL */ +int gsr_shader_init(gsr_shader *self, gsr_egl *egl, const char *vertex_shader, const char *fragment_shader); +void gsr_shader_deinit(gsr_shader *self); + +int gsr_shader_bind_attribute_location(gsr_shader *self, const char *attribute, int location); +void gsr_shader_use(gsr_shader *self); +void gsr_shader_use_none(gsr_shader *self); + +void gsr_shader_enable_debug_output(bool enable); + +#endif /* GSR_SHADER_H */ -- cgit v1.2.3