#ifndef VK_H #define VK_H #include #include #include "PhysicalDevice.h" class Vulkan { public: void init(GLFWwindow* window); // инициализация void destroy(); // завершение работы private: VkInstance instance; // Экземпляр Vulkan PhysicalDevice physicalDevice; // Физическое устройство VkDevice logicalDevice; // логическое устройство VkQueue graphicalQueue; // очередь для работы с графикой VkSurfaceKHR surface; // Поверхность окна // Структура для хранения флагов struct { const bool VALIDATION = true; // Использование слоев проверки } states; void createInstance(); // Создание экземпяра Vulkan void selectPhysicalDevice(std::vector &deviceExtensions); // Выбор физического устройства void createLogicalDevice(std::vector &deviceExtensions); // Создание логического устройства void createWindowSurface(GLFWwindow* window); // Создание поверхности окна }; #endif // VK_H