X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=vrlugburz;a=blobdiff_plain;f=src%2Fgame.c;fp=src%2Fgame.c;h=8ee198908196e6883316a2f1916e27d59331e4d3;hp=42a95f9a3e4cbe4b417fef1fee5e4fe5ee5db8d6;hb=0a754b5aac897ffde09e93027aed78c95b81b99b;hpb=6066118fc6a58b379f52b9aaaf45200b136812b9 diff --git a/src/game.c b/src/game.c index 42a95f9..8ee1989 100644 --- a/src/game.c +++ b/src/game.c @@ -6,8 +6,9 @@ #include "scenefile.h" #include "sdr.h" +static void draw_level(void); + struct level lvl; -struct scenefile scn; int win_width, win_height; float win_aspect; @@ -41,11 +42,6 @@ int game_init(void) return -1; } - /* DBG */ - if(load_scenefile(&scn, "data/dwall1.obj") == -1) { - return -1; - } - return 0; } @@ -57,8 +53,6 @@ void game_shutdown(void) void game_display(void) { - struct mesh *mesh; - glClearColor(0.1, 0.1, 0.1, 1); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); @@ -68,24 +62,36 @@ void game_display(void) glLoadMatrixf(proj_matrix); cgm_midentity(view_matrix); - cgm_mpretranslate(view_matrix, 0, 1.5, -cam_dist); + cgm_mpretranslate(view_matrix, 0, -1.7, -cam_dist); cgm_mprerotate(view_matrix, cam_phi, 1, 0, 0); cgm_mprerotate(view_matrix, cam_theta, 0, 1, 0); glMatrixMode(GL_MODELVIEW); glLoadMatrixf(view_matrix); + draw_level(); + + game_swap_buffers(); + assert(glGetError() == GL_NO_ERROR); +} + +static void draw_level(void) +{ + int i, j, k; + struct cell *cell; + glUseProgram(sdr_foo); - mesh = scn.meshlist; - while(mesh) { - draw_mesh(mesh); - mesh = mesh->next; + cell = lvl.cells; + for(i=0; inum_mgrp; k++) { + draw_meshgroup(cell->mgrp + k); + } + cell++; + } } glUseProgram(0); - - game_swap_buffers(); - assert(glGetError() == GL_NO_ERROR); } void game_reshape(int x, int y)