目录
一:概述
Vulkan 的设计目标是:最大程度减少驱动对开发者行为的“猜测和干预”,把一切都交给开发者来决定。所以Vulkan没有默认帧缓冲区,需要我们自己创建交换链(swapchain);
Vulkan 中的 swapchain 是一组图像缓冲区(images),这些图像按顺序被绘制并最终显示到屏幕上。当我们使用 Vulkan 渲染时,不是直接画到屏幕上,而是画到这些 swapchain image 上,然后再“交换”到前台去显示。
二:交换链组成
首先得有一个数据结构,表示一个“可显示窗口”的平台抽象,比如 Windows 的 HWND、Linux 的 X11、Wayland 等。我们称之为渲染目标,vk::SurfaceKHR surface; surface 告诉 Vul