diff options
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -42,16 +42,18 @@ int main(int argc, char* argv[]) { onload(NULL); /*set up global camera*/ Camera cam; - camera_init(&cam); + camera_init(&cam, wnd); /* main loop */ uint prev = wog_tick(); uint dt = 0; + float _dt = 0; uint frame_count = 0; uint time_stamp = 0; wog_Event e; while (1) { + /*handle events*/ while (wog_pollEvent(wnd, &e)) { - camera_onevent(&cam, &e); + camera_onevent(&cam, &e, _dt); if (e.type == WOG_ECLOSE) { goto quit; } else { @@ -59,6 +61,7 @@ int main(int argc, char* argv[]) { } } + /*frame count*/ dt = wog_tick() - prev; prev += dt; time_stamp += dt; @@ -69,7 +72,10 @@ int main(int argc, char* argv[]) { frame_count = 0; } - onupdate(&dt); + /*update*/ + _dt = dt / 1000.f; + camera_onupdate(&cam, _dt); + onupdate(&_dt); /*set vp matrix*/ ssr_matrixmode(MATRIX_PROJECTION); @@ -80,6 +86,7 @@ int main(int argc, char* argv[]) { ssr_loadmatrix(&cam.view_matrix); ssr_matrixmode(MATRIX_MODEL); + /*draw*/ ondraw(NULL); ssr_present(); |