aboutsummaryrefslogtreecommitdiffstats
path: root/model.c
diff options
context:
space:
mode:
Diffstat (limited to 'model.c')
-rw-r--r--model.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/model.c b/model.c
index 88931c0..1f07201 100644
--- a/model.c
+++ b/model.c
@@ -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