Commit: a21c5f2b54962555719b33ec62cbee1b5c486ef8
Parent: 75e230d9bf89f16182a24b180d4f84bd23552927
Author: Randy Palamar
Date: Sat, 22 Jun 2024 15:11:15 -0600
keep track of dt
Diffstat:
2 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/main.c b/main.c
@@ -238,10 +238,15 @@ main(void)
init_window(&term);
+ f32 last_time = 0;
while (!glfwWindowShouldClose(term.gl.window)) {
do_debug(&term.gl);
check_shaders(&term.gl, memory);
+ f32 current_time = (f32)glfwGetTime();
+ term.gl.dt = current_time - last_time;
+ last_time = current_time;
+
glfwPollEvents();
do_terminal(&term, memory);
glfwSwapBuffers(term.gl.window);
diff --git a/vtgl.c b/vtgl.c
@@ -101,7 +101,32 @@ do_terminal(Term *t, Arena a)
clear_colour();
+ v2 r2size = {.x = 100, .y = 100};
+ static v2 r2pos = {.x = 50, .y = 300};
+ static v2 r2dir = {.x = 1, .y = -1 };
+
+ r2pos.x += r2dir.x * t->gl.dt * 100;
+ r2pos.y += r2dir.y * t->gl.dt * 140;
+ if (r2pos.x + r2size.x > (f32)t->gl.window_size.w) {
+ r2pos.x = (f32)t->gl.window_size.w - r2size.x;
+ r2dir.x *= -1;
+ }
+ if (r2pos.x < 0) {
+ r2pos.x = 0;
+ r2dir.x *= -1;
+ }
+
+ if (r2pos.y + r2size.y > (f32)t->gl.window_size.h) {
+ r2pos.y = (f32)t->gl.window_size.h - r2size.y;
+ r2dir.y *= -1;
+ }
+
+ if (r2pos.y < 0) {
+ r2pos.y = 0;
+ r2dir.y *= -1;
+ }
+
draw_rectangle(&t->gl, (v2){.x = 20, .y = 20}, (v2){.x = 200, .y = 100}, 0x7f0000ff, 0);
- draw_rectangle(&t->gl, (v2){.x = 50, .y = 300}, (v2){.x = 100, .y = 100}, 0x007f00ff, 0);
+ draw_rectangle(&t->gl, r2pos, r2size, 0x007f00ff, 0);
draw_rectangle(&t->gl, (v2){.x = 100, .y = 600}, (v2){.x = 50, .y = 100}, 0x00007fff, 0);
}