#pragma once #include #include #include #include VK_NAMESPACE_BEGIN struct SwapchainImage { Texture2D * color =nullptr; Texture2D * depth =nullptr; Framebuffer * fbo =nullptr; public: ~SwapchainImage() { delete fbo; delete depth; delete color; } };//struct SwapchainImage struct Swapchain { public: VkDevice device =VK_NULL_HANDLE; VkExtent2D extent; VkSurfaceTransformFlagBitsKHR transform; VkSwapchainKHR swap_chain =VK_NULL_HANDLE; VkSurfaceFormatKHR surface_format; VkFormat depth_format; uint32_t image_count =0; SwapchainImage * sc_image =nullptr; public: virtual ~Swapchain(); };//struct Swapchain VK_NAMESPACE_END