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