你将在本章中学到:
l 如何在屏幕上展现你的应用程序的结果
l 如何决定系统的显示设备
l 如何改变显示模式并和原生的窗口系统交流
Vulkan主要是一个图形API,它的大多数功能专注于生成和处理图片。绝大多数Vulkan应用程序被设计来给用户展现结果的。这就是常被称为“展现”的过程。然而,因为Vulkan所运行的平台各异,展示并不是它核心API,但被移交给一套拓展。本章讨论如何开启并使用这些拓展来获取屏幕上的图像。
5.1 展现相关的拓展
Vulkan里展示并不是核心API的一部分。实际上,一个Vulkan实现或许根本不支持展现。理由如下:
l 并不是所有的Vulkan应用程序都需要向用户展示图像。比如,计算集中型应用程序,也许会产生非可视化的数据或者产生只需要存储到磁盘而不是实时显示的图像。
l 展现通常是通过操作系统的窗口系统,或者其他特定的库处理的,它们在不同平台上的差别很大。
由于上述原因,展现是通过一套被称为WSI拓展(Window System Integration systems)处理的。Vulkan中拓展在使用前必须显式地开启,且每一个平台需要的拓展或许会有点不同,如一些函数会接受平台特定的参数。在你可以执行任何展现相关的操作前,你需要使用第一章描述的机制来开启合适的展现相关的拓展。
在Vulkan中展现是由一套拓展处理的。在所有通过拓展以图形化形式输出给用户的平台上的功能都是类似的,且每个平台相关的功能都通过一些更小的、平台相关的拓展来支持。