diff options
author | chai <chaifix@163.com> | 2020-02-24 10:28:41 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2020-02-24 10:28:41 +0800 |
commit | 538cb1cd010a3323ad61239a12a4134ef4dceca6 (patch) | |
tree | 0a2c492ce5d27c77da039aa5189b67aa3070aa20 /src/main.c | |
parent | b656c9415a8e7e3b5b7d8bf1f3c8a5444f830c79 (diff) |
*camera
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(); |