diff options
Diffstat (limited to 'glprog.c')
-rw-r--r-- | glprog.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -107,7 +107,7 @@ static void detach_shaders(GLuint prog) static void load_shader(struct shader *s, const char *path) { GLuint prog; - GLint success; + GLint success, pos = 0; char log[LOGSIZE], *full, *src = NULL; size_t srclen = 0, fullsz; @@ -133,6 +133,8 @@ static void load_shader(struct shader *s, const char *path) } free(src); free(full); +#define SH_IN(_, name) gl_attr_bindloc(prog, pos++, #name); +#include "shaders/data.h" gl_prog_link(prog); gl_prog_param(prog, GL_LINK_STATUS, &success); if (!success) { @@ -150,6 +152,8 @@ static void load_shader(struct shader *s, const char *path) void glprog_init(void) { + GLint pos = 0; #define SH_PROG(name) load_shader(&prog.name, "shaders/" #name); +#define SH_IN(_, name) prog.attr.name = pos++; #include "shaders/data.h" } |