Vulkan 功能组件

Vulkan 功能组件,本文简要介绍Vulkan中的各种功能组件,以及它们是如何用来构建一个Vulkan应用程序的。

Vulkan 功能组件

驱动

支持Vulkan的系统至少要包含一个CPU和一个GPU。独立的硬件供应商会根据自己的GPU架构为某个Vulkan标准提供完整的驱动实现。驱动相当于应用程序与设备本身之间的接口。它为应用程序提供了高级的功能接口,使其可以与设备进行通信。例如,它可以列举出系统中所有可用的设备、可用的每个队列以及队列的类型、可用的内存堆以及相关属性,等等。

应用程序

应用程序指的是用户编写的程序,可以调用Vulkan API来执行图形或者计算的工作。应用程序启动的时候需要先初始化硬件和软件,它可以检测驱动并调取所有的Vulkan API。其中展示层的初始化需要通过Vulkan的窗口系统集成API(Window System Integration,WSI)完成。WSI对于绘制图像到显示表面的渲染非常有用。应用程序负责创建资源并且把它们绑定到着色器阶段,这里用到了描述符(descriptor)。描述符可以辅助将创建后的资源绑定到底层的(基于某种图形或者计算类型的)流水线对象。最后,应用程序还要记录指令缓存并发送到队列中继续执行。

WSI

窗口系统集成库是由Khronos提供的一套功能扩展,可以将不同操作系统平台上的展示层统一起来,包括Linux、Windows和Android。

SPIR-V

SPIR-V提供了一套预编译的二进制数据格式,用来设置给Vulkan的着色器。不同的着色器源代码语言,包括GLSL和HLSL的各种变种,都可以通过编译器产生SPIR-V格式的数据。

LunarG SDK

LunarG提供了一套Vulkan SDK,其中带有多种不同的工具和资源,可以辅助Vulkan程序的开发。这些工具和资源包括Vulkan的加载器、验证层、跟踪和回放工具、SPIR-V工具、Vulkan的运行时安装程序、文档、示例和演示程序,详细的介绍和LunarG SDK可以参考酷客教程后面的文章或者网站:http://lunarg.com/vulkan-sdk。

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!