#pragma once #include struct QueueFamilyIndices { std::optional graphicsFamily; std::optional presentFamily; bool complete() { return graphicsFamily.has_value() && presentFamily.has_value(); } }; struct SwapChainSupportDetails { VkSurfaceCapabilitiesKHR capabilities; std::vector formats; std::vector presentModes; };