#pragma once #include #include #include #include class SwapChain { public: SwapChain(); ~SwapChain(); VkSwapchainKHR swapChain; VkFormat format; VkExtent2D extent; std::vector images; VkSurfaceFormatKHR chooseFormat(const std::vector& availableFormats); VkPresentModeKHR chooseMode(const std::vector& availableModes); VkExtent2D chooseExtent(const VkSurfaceCapabilitiesKHR& capabilities); void create(VkSurfaceKHR surface); void destroy(); };