我们在把图像展示到屏幕之前,需要先把它们渲染到缓冲区中,而交换链就是存放缓冲区的地方。交换链本质上是一个存放需要展示到屏幕的图像的队列。我们的应用程序要做的就是从这个队列中取出一个图像,然后在上面渲染,最后再返回给队列。这个队列是怎么工作的以及队列中的图像什么时候展示到屏幕上,它们都取决于交换链是怎么创建的,但是交换链一般的目的都是同步图像展示和屏幕刷新率
Vulkan 画三角形第五章:创建逻辑设备
选取了物理设备之后,我们需要创建一个逻辑设备来跟它进行交互。逻辑设备的创建过程跟实例的创建过程类似,我们需要描述要用到的特性。我们还需要根据之前查询好的队列族,指定需要创建的队列。我们甚至可以对于同一个物理设备创建多个逻辑设备来应对不同的需求
Vulkan 画三角形第三章:创建窗体表面
Vulkan 是一个跨平台的 API,它不能够直接与不同平台的窗体系统进行交互。为了在 Vulkan 与窗体系统之间建立连接来把渲染结果展示到屏幕上,我们需要使用一些 WSI 扩展。本文将会介绍 VK_KHR_surface
扩展。它暴露一个 VkSurfaceKHR
对象,这个对象代表一个我们可以把图像渲染上去的抽象表面