diff options
Diffstat (limited to 'model.c')
-rw-r--r-- | model.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -5,6 +5,7 @@ #include <assert.h> #include "eprintf.h" +#include "glprog.h" #include "linmath.h" #include "model.h" #include "nelem.h" @@ -30,12 +31,11 @@ void model_load(struct model *mdl, const struct fmd *fmd) gl_buf_data(GL_ELEMENT_ARRAY_BUFFER, fmd->ntris * sizeof *fmd->tris, fmd->tris, GL_STATIC_DRAW); v = &fmd->verts[0]; - gl_va_define(0, NELEM(v->pos), GL_FLOAT, GL_FALSE, sizeof *v, (void *)offsetof(struct vertex, pos)); - gl_va_enable(0); - gl_va_define(1, NELEM(v->norm), GL_FLOAT, GL_FALSE, sizeof *v, (void *)offsetof(struct vertex, norm)); - gl_va_enable(1); - gl_va_define(2, NELEM(v->uv), GL_FLOAT, GL_FALSE, sizeof *v, (void *)offsetof(struct vertex, uv)); - gl_va_enable(2); + +#define SH_IN(_0, name) \ + gl_va_define(prog.attr.name, NELEM(v->name), GL_FLOAT, GL_FALSE, sizeof *v, (void *)offsetof(struct vertex, name)); \ + gl_va_enable(prog.attr.name); +#include "shaders/data.h" // TODO: materials, use a shared material set |