1#ifndef VULKAN_SWAPCHAIN
2#define VULKAN_SWAPCHAIN
4#define GLFW_INCLUDE_VULKAN
14namespace Vulkan {
class Swapchain;
class PhysicalDevice;
class LogicalDevice;
class WindowSurface;
class Window;
class Image; }
46 const VkSwapchainKHR& operator+() const;
86 void saveSwapchainImages();
93 VkSwapchainKHR swapchain;
94 SwapchainOptions::Capabilities swapchainCapabilities;
95 SwapchainOptions::SurfaceFormat swapchainSurfaceFormat;
96 SwapchainOptions::PresentMode swapchainPresentMode;
98 std::vector<
Image> images;
An Image is an object representing what can be passed to the swapchain: the content of the image is w...
Definition: Image.h:19
A logical device is an abstraction of the physical GPU which we can mainly use to send commands.
Definition: LogicalDevice.h:15
Represents the GPU (or any other device) that will be used with Vulkan to perform computer graphics.
Definition: PhysicalDevice.h:17
Object which holds images to be presented to the WindowSurface.
Definition: Swapchain.h:19
static bool isSwapchainSupported(const PhysicalDevice &realGpu, const WindowSurface &windowSurface)
Checks whether there exist a swapchain for this physiscal GPU and windows surface.
Definition: Swapchain.cpp:100
Swapchain & operator=(const Swapchain &)=delete
~Swapchain()
Definition: Swapchain.cpp:40
std::pair< unsigned int, unsigned int > getResolution() const
Returns the width and height of the images in this swapchain.
Definition: Swapchain.cpp:95
const SwapchainOptions::Capabilities & getSwapchainCapabilities()
Definition: Swapchain.cpp:85
const SwapchainOptions::SurfaceFormat & getImageFormat()
Definition: Swapchain.cpp:81
Swapchain(const Swapchain &)=delete
const std::vector< Image > & getImages() const
Returns the images of this swapchain.
Definition: Swapchain.cpp:90
Swapchain(Swapchain &&) noexcept
Manages the creation and lifetime of an OS window.
Definition: Window.h:15
A window surface is the connection between Vulkan and the OS windows environment.
Definition: WindowSurface.h:13
Types of queue families.
Definition: Animations.h:17