#pragma once #include #include struct RenderDevice; struct Frame { VkCommandPool commandPool; VkCommandBuffer commandBuffer; VkSemaphore imageAcquiredSemaphore; VkSemaphore renderFinishedSemaphore; VkFence frameReadyToReuse; [[nodiscard]] bool isInit() const; Frame( VkCommandPool commandPool, VkCommandBuffer commandBuffer, VkSemaphore imageAcquiredSemaphore, VkSemaphore renderFinishedSemaphore, VkFence frameReadyToReuse ); void destroy( RenderDevice const& renderDevice ); Frame( Frame const& other ) = delete; Frame( Frame&& other ) noexcept = delete; Frame& operator=( Frame const& other ) = delete; Frame& operator=( Frame&& other ) noexcept = delete; ~Frame(); }; void Frame_Create( Frame* frame, VkDevice device, uint32_t directQueueFamilyIndex );