艾巴生活网

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

科技

vulkan模式是什么 一文解读Vulkan图形系统究竟是什么?

2024-03-14 21:17:01科技帅气的蚂蚁
什么是Vulkan图形系统?Vulkan是用于图形和计算硬件的API(应用程序编程接口)。这个API由许多命令组成,这些命令允许程序员指定着色器程序、

vulkan模式是什么 一文解读Vulkan图形系统究竟是什么?

什么是Vulkan图形系统?

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

从程序员的角度看Vulkan

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

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

实施者视角下的Vulkan

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

我们眼中的Vulkan

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