gearlib/examples/test.c
2024-05-05 17:59:02 +12:00

45 lines
1.1 KiB
C

#include <gearlib.h>
int main() {
Window window = create_window(800, 600, "test");
glfwSwapInterval(0); // fps unlock
enable_debugging();
setup_textures();
Camera* camera = create_camera(vec2(0.0f, 0.0f));
UniformBuffer* camera_buffer = create_uniform_buffer(sizeof(CameraMatrices));
Texture cat = load_texture("assets/cat.png");
double time = glfwGetTime();
while (!glfwWindowShouldClose(window)) {
process_input(window);
update_camera(camera, window);
set_uniform_data(camera_buffer, camera->m);
glClearColor(vec4_spread(BLACK));
glClear(GL_COLOR_BUFFER_BIT);
for(int i = 0; i < 32; i++) {
draw_texture(cat, vec2(rand() % 600, rand() % 600), vec2(500.0f, 500.0f), WHITE);
}
flush();
double end_time = glfwGetTime();
double frame_time = end_time - time;
time = end_time;
double fps = 1.0 / frame_time;
printf("frame_time: %lf fps: %lf\n", frame_time, fps);
glfwSwapBuffers(window);
glfwPollEvents();
}
glfwDestroyWindow(window);
glfwTerminate();
return 0;
}