41 std::tuple<uint32_t, std::optional<vk::Semaphore> >
acquireImage()
override;
43 void presentImage(uint32_t imageIndex, vk::Semaphore & renderingFinnished)
override;
45 void presentImage(uint32_t imageIndex, vk::Fence & renderingFinnishedFence)
override;
61 vk::SurfaceFormatKHR chooseSwapSurfaceFormat(
const std::vector<vk::SurfaceFormatKHR>& availableFormats);
63 vk::PresentModeKHR chooseSwapPresentMode(
const std::vector<vk::PresentModeKHR>& availablePresentModes);
65 vk::Extent2D chooseSwapExtent(
const vk::SurfaceCapabilitiesKHR& capabilities);
67 void createSwapchainImageView();
69 void createAcquireSemaphores();
72 uint32_t currentFrame = 0;
74 std::vector<vk::Image> swapChainImages;
76 vk::SwapchainKHR swapChain =
nullptr;
78 std::vector<vk::Semaphore> imageAvailableSemaphores;
Contains the class that encapsulate the notion of Swapchain: SwapchainAbstract.
Encapsulate the notion of Swapchain.
Class that encapsulate a vkSwapchainHHR object and the methods linked to it.
vk::Image getSwapchainImage(int index) override
vk::Image getCurrentImage() override
void presentImage(uint32_t imageIndex, vk::Semaphore &renderingFinnished) override
int getAttachmentSize() override
std::tuple< uint32_t, std::optional< vk::Semaphore > > acquireImage() override
vk::ImageView getSwapchainImageView(int elem) override
Class that manages the classes related to Vulkan code and act as a wrapper around them.
Abstraction of the way of the result is displayed (screen or HMD).
file that contains the common include for the Vulkan part