// // Created by Vicente Ferrari Smith on 12.02.26. // #ifndef V_INIT_H #define V_INIT_H #include #include #include #include inline VkInstance instance{}; inline VkPhysicalDevice physicalDevice{}; inline VkDevice device{}; inline VkQueue graphics_queue{}; inline uint32_t queueFamily{}; inline VkSurfaceKHR surface{}; inline VkDebugUtilsMessengerEXT debugMessenger{}; inline VmaAllocator allocator{}; inline constexpr uint32_t MAX_FRAMES_IN_FLIGHT = 2; inline constexpr uint32_t MAX_VERTICES_PER_BATCH = 65536; inline VkSwapchainKHR swapchain; inline VkExtent2D swapchain_extent; inline VkSurfaceFormatKHR swapchain_format{ VK_FORMAT_B8G8R8A8_UNORM, VK_COLOR_SPACE_SRGB_NONLINEAR_KHR }; inline std::vector renderFinished; inline std::vector images; inline std::vector imageViews; inline std::vector imageLayouts; void createSwapchain(GLFWwindow* window); int createInstance(GLFWwindow* window); void createSurface(GLFWwindow* window); void pickPhysicalDevice(); void createDevice(); #endif //V_INIT_H