summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-02-24 10:28:41 +0800
committerchai <chaifix@163.com>2020-02-24 10:28:41 +0800
commit538cb1cd010a3323ad61239a12a4134ef4dceca6 (patch)
tree0a2c492ce5d27c77da039aa5189b67aa3070aa20 /src/main.c
parentb656c9415a8e7e3b5b7d8bf1f3c8a5444f830c79 (diff)
*camera
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/main.c b/src/main.c
index 404b2d1..edc31bb 100644
--- a/src/main.c
+++ b/src/main.c
@@ -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();