窗口表面
Vulkan是一个平台无关的API,它不能直接和窗口系统交互。为了将Vulkan渲染的图像显示在窗口上,我们需要使用WSI(Window System Integration)扩展。在本章节,我们首先介绍VK_KHR_surface扩展,它通过VkSurfaceKHR对象抽象出可供Vulkan渲染的表面。在本教程,我们使用GLFW来获取VkSurfaceKHR对象。
VK_KHR_surface是一个实例级别的扩展,它已经被包含在使用glfwGetRequiredInstanceExtensions函数获取的扩展列表中,所以,我们不需要自己请求这一扩展。WSI扩展同样也被包含在glfwGetRequiredInstanceExtensions函数获取的扩展列表中,也不需要我们自己请求。
由于窗口表面对物理设备的选择有一定影响,它的创建只能在Vulkan实例创建之后进行。