艾巴生活网

您现在的位置是:主页>科技 >内容

科技

支持vulkan的显卡 一文解读Vulkan图形系统究竟是什么?

2023-08-29 23:32:02科技帅气的蚂蚁
什么是Vulkan图形系统?Vulkan是用于图形和计算硬件的API(应用程序编程接口)。这个API由许多命令组成,允许程序员指定着色器程序,计算内核

支持vulkan的显卡 一文解读Vulkan图形系统究竟是什么?

什么是Vulkan图形系统?

Vulkan是用于图形和计算硬件的API(应用程序编程接口)。这个API由许多命令组成,允许程序员指定着色器程序,计算内核,对象和操作,以产生高质量的图像,尤其是3D对象的彩色图像。

从程序员看Vulkan 的视角

对于程序员来说,Vulkan是一个命令集合,允许内核或着色器以及由着色器执行的外部Vulkan特征控制使用着色器程序或着色器和数据。一般来说,数据是指二维或三维的几何对象和纹理图像,着色器和内核控制数据处理,几何对象的栅格化,栅格化产生的光影片段,最后将几何对象渲染到帧缓冲区中。

一个典型的Vulkan程序从调用一个系统函数打开一个窗口或者准备一个设备供程序绘制和显示开始。然后,调用命令打开队列并将命令缓冲区提交给它。命令缓冲区包含一系列将由底层硬件执行的命令。应用程序可以分配设备内存,关联内存和资源,并从命令缓冲区引用这些资源。draw命令可以调用应用程序的着色器程序,但使用资源中的数据并生成图像。为了显示结果图像,一些与平台相关的命令需要将结果图像传送到显示设备或窗口。

实施者视角下的Vulkan

对于实现者来说,Vulkan是一组命令,它允许构建一个命令缓冲区并提交给设备。现代设备加快了几乎所有Vulkan操作的速度,将数据和帧缓冲区存储在高速内存中,并在专用GPU上执行着色器。实施者的任务是在主机端提供软件库,它实现Vulkan API并将每个Vulkan命令映射到图形硬件,以利用物理设备的功能。

从我们的角度看Vulkan

我们把Vulkan看成一个流水线,有一个可编程的阶段,可以通过画图操作调用,还有一个固定的阶段,由状态驱动。我们期望这个模型产生一个规范来满足程序员和Vulkan实现者的需求。但是,它没有提供如何实现它的模型。Vulkan实现必须产生与这些特定方法一致的结果,但它可以执行比指定方法更有效的计算方法。