added delta time calculation
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Tue, 13 Oct 2020 22:08:04 +0000 (17:08 -0500)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Tue, 13 Oct 2020 22:08:04 +0000 (17:08 -0500)
src/sim.c

index a5dc7083cb78d03326513191e1287136a983964d..1a35ade2c8f524962f646c6fdbce75bbef945750 100644 (file)
--- a/src/sim.c
+++ b/src/sim.c
@@ -62,20 +62,29 @@ void deinit_opengl() {
        glfwTerminate();
 }
 
-void update() {
+// NOTE: dt is expected to be in units of "per second".
+void update(double dt) {
 }
 
 void draw() {
-       glClearColor(1.0, 0.0, 1.0, 1.0);
+       glClearColor(0.1, 0.1, 0.1, 1.0);
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
        glfwSwapBuffers(window);
 }
 
 void loop() {
+       double last_time = glfwGetTime();
+       double curr_time = last_time;
+       double delta;
+
        while (!glfwWindowShouldClose(window)) {
                glfwPollEvents();
 
-               update();
+               curr_time = glfwGetTime();
+               delta = curr_time - last_time;
+               last_time = curr_time;
+
+               update(delta);
                draw();
        }
 }