diff options
author | Tomasz Kramkowski <tk@the-tk.com> | 2018-05-04 20:00:07 +0100 |
---|---|---|
committer | Tomasz Kramkowski <tk@the-tk.com> | 2018-05-04 20:05:59 +0100 |
commit | b97f4f6e1083a939283505f3c324f70b6bf5341f (patch) | |
tree | fbd62c25ef2308616dd0503134ca84a444244307 /faqe.c | |
parent | d1d4c8678b313708b91ba0342db84d33c0bb0677 (diff) | |
download | faqe-b97f4f6e1083a939283505f3c324f70b6bf5341f.tar.gz faqe-b97f4f6e1083a939283505f3c324f70b6bf5341f.tar.xz faqe-b97f4f6e1083a939283505f3c324f70b6bf5341f.zip |
Move assets to an assets subdirectory and simplify model loading
Diffstat (limited to 'faqe.c')
-rw-r--r-- | faqe.c | 28 |
1 files changed, 17 insertions, 11 deletions
@@ -30,6 +30,20 @@ void viewport(GLuint proj, int width, int height) gl_uni_setm4fv(proj, 1, GL_FALSE, pers[0]); } +void loadmodel(struct model *mdl, char *name) +{ + FILE *f; + struct fmd fmd; + + f = fopen(name, "rb"); + if (f == NULL) + eprintf("Could not open '%s':", name); + fmd_load(&fmd, f); + fclose(f); + model_load(mdl, &fmd); + fmd_free(&fmd); +} + int main(int argc, char **argv) { bool running = true; @@ -39,9 +53,7 @@ int main(int argc, char **argv) struct { GLint model, view, proj, tex, light; } uni; - FILE *cube_file; - struct fmd cube_fmd; - struct model cube_model; + struct model mdl; struct camera cam = { .pos = { 0.0, 0.0, 3.0 }, .yaw = -PI/2 }; struct { bool w, a, s, d, spc, lct; @@ -74,13 +86,7 @@ int main(int argc, char **argv) gl_load((gl_loadfunc *)SDL_GL_GetProcAddress); - cube_file = fopen("cube.fmd", "rb"); - if (cube_file == NULL) - eprintf("Could not open 'cube.fmd':"); - fmd_load(&cube_fmd, cube_file); - model_load(&cube_model, &cube_fmd); - fmd_free(&cube_fmd); - fclose(cube_file); + loadmodel(&mdl, "assets/utah.fmd"); prog = glprog_load((struct shdrdat []){ { GL_VERTEX_SHADER, vert_glsl.data, vert_glsl.size }, @@ -178,7 +184,7 @@ int main(int argc, char **argv) gl_uni_setm4fv(uni.view, 1, GL_FALSE, view[0]); gl_uni_setm4fv(uni.model, 1, GL_FALSE, model[0]); gl_uni_set3fv(uni.light, 1, lipos); - model_render(&cube_model); + model_render(&mdl); gl_va_bind(0); SDL_GL_SwapWindow(win); |