介绍

选择物理设备后,我们还需要一个逻辑设备来作为和物理设备交互的接口。逻辑设备的创建过程类似于我们之前描述的Vulkan实例的创建过程。我们还需要指定使用的队列所属的队列族。对于同一个物理设备,我们可以根据需求的不同,创建多个逻辑设备。

首先,我们添加一个逻辑设备对象作为类成员:

VkDevice device;

接着,添加一个叫做createLogicalDevice的函数,在initVulkan函数中调用它。

void initVulkan() {
    createInstance();
    setupDebugCallback();
    pickPhysicalDevice();
    createLogicalDevice();
}

void createLogicalDevice() {

}