图像演示
在本章中我们将介绍以下内容:
创建启用了WSI扩展的Vulkan实例
创建表示表面
选择支持给定表面呈现的队列族
创建启用了WSI扩展的逻辑设备
选择期望的呈现模式
获得呈现表面的功能
选择一些交换链图像
选择交换链图像的大小
选择交换链图像的所需使用场景
选择交换链图像的转换
选择交换链图像的格式
创建交换链
获取交换链图像的句柄
使用R8G8B8A8格式和邮箱呈现模式创建交换链
获取交换链图像
呈现一个图像
销毁交换链
销毁呈现表面
介绍
诸如Vulkan之类的API可用于许多不同的目的,例如数学和物理计算,图像或视频流处理以及数据可视化。但Vulkan的主要设计目的是用于最常见的高效渲染2D和3D图形。当我们的应用程序生成图像时,通常希望在屏幕上显示它。
起初,Vulkan API的核心不允许在应用程序窗口中显示生成的图像,这似乎令人惊讶。这是因为Vulkan是一个可移植的跨平台API,由于各平台具有截然不同的架构和标准,因此在不同操作系统中在屏幕上呈现图像没有通用标准。
这就是为Vulkan API引入一组扩展的原因,它允许我们在应用程序窗口中显示生成的图像。这些扩展通常称为窗口系统集成(WSI)。 Vulkan可用的每个操作系统都有自己的一组扩展,它们将Vulkan与特定操作系统专用的窗口系统集成在一起。
最重要的扩展是允许我们创建交换链的扩展。交换链是可以向用户呈现(显示)的图像阵列。在本章中,我们将准备在屏幕上绘制图像 - 设置图像参数,如格式,大小等。我们还将查看确定图像显示方式的各种可用呈现模式,即定义是启用还是禁用垂直同步。最后,我们将看到如何呈现图像 - 在应用程序窗口中显示它们。