diff options
Diffstat (limited to '')
| -rw-r--r-- | src/main.c | 28 |
1 files changed, 12 insertions, 16 deletions
@@ -1,43 +1,39 @@ +#include "engine.h" #include "log.h" #include "platform.h" -#include "renderer.h" int main(void) { struct vgltf_platform platform = {}; if (!vgltf_platform_init(&platform)) { - VGLTF_LOG_ERR("Couldn't initialize the platform layer"); + VGLTF_LOG_ERR("Platform initialization failed"); goto err; } - struct vgltf_renderer renderer = {}; - if (!vgltf_renderer_init(&renderer, &platform)) { - VGLTF_LOG_ERR("Couldn't initialize the renderer"); + struct vgltf_engine engine = {}; + if (!vgltf_engine_init(&engine, &platform)) { + VGLTF_LOG_ERR("Couldn't initialize the engine"); goto deinit_platform; } + VGLTF_LOG_INFO("Starting main loop"); while (true) { struct vgltf_event event; while (vgltf_platform_poll_event(&platform, &event)) { - if (event.type == VGLTF_EVENT_QUIT || - (event.type == VGLTF_EVENT_KEY_DOWN && - event.key.key == VGLTF_KEY_ESCAPE)) { + if (event.type == VGLTF_EVENT_QUIT || (event.type == VGLTF_EVENT_KEY_DOWN && + event.key.key == VGLTF_KEY_ESCAPE)) { goto out_main_loop; - } else if (event.type == VGLTF_EVENT_WINDOW_RESIZED) { - vgltf_renderer_on_window_resized( - &renderer, - (struct vgltf_window_size){.width = event.window_resized.width, - .height = event.window_resized.height}); } } - vgltf_renderer_triangle_pass(&renderer); + vgltf_engine_run_frame(&engine); } out_main_loop: - vgltf_renderer_deinit(&renderer); + VGLTF_LOG_INFO("Exiting main loop"); + vgltf_engine_deinit(&engine); vgltf_platform_deinit(&platform); return 0; deinit_platform: vgltf_platform_deinit(&platform); err: - return 1; + return -1; } |
