#include "imgui.h" #include "imgui_impl_glfw.h" #include "imgui_impl_vulkan.h" #include "argparse/argparse.hpp" #include #include GLFWwindow *start_up(int width, int height) { return nullptr; } void main_loop(GLFWwindow *window) { } void shut_down(GLFWwindow *window) { } int main(int argc, char** argv) { argparse::ArgumentParser program("IrisRenderer"); program.add_argument("width") .help("display width of the window") .scan<'i', int>(); program.add_argument("height") .help("display height of the window") .scan<'i', int>(); try { program.parse_args(argc, argv); } catch (const std::exception& err) { std::cerr << err.what() << std::endl; std::cerr << program; return 1; } int window_width = program.get("width"); int window_height = program.get("height"); if (!glfwInit()) { const char* description = nullptr; glfwGetError(&description); if (description != nullptr) { std::cerr << "Error: " << description << std::endl; } else { std::cerr << "Failed to initialize GLFW" << std::endl; } glfwTerminate(); return -1; } auto window = start_up(window_width, window_height); if (window == nullptr) { return -2; } while (!glfwWindowShouldClose(window)) { main_loop(window); } shut_down(window); return 0; }