
Vulkan创建图像
创建图像 图像是含有一、二或三个维度的数据,这些数据还含有额外的mipmap纹理映射等级和层级。图像数据(纹素)的每个元素含有一个或多个样本。 图像含有很多用途,可以将图像作为复制操作的数据源;也可以通过描述符集合将图像与管线绑定,将它们作...
创建图像 图像是含有一、二或三个维度的数据,这些数据还含有额外的mipmap纹理映射等级和层级。图像数据(纹素)的每个元素含有一个或多个样本。 图像含有很多用途,可以将图像作为复制操作的数据源;也可以通过描述符集合将图像与管线绑定,将它们作...
创建缓冲区视图 当想要将一个缓冲区作为统一纹素缓冲区或纹素存储缓冲区时,需要创建缓冲区视图。 具体处理过程 (1)获取用于创建缓冲区的逻辑设备的句柄,将该句柄存储在一个VkDevice类型的变量中,将该变量命名为logical_device...
设置缓冲区内存屏障 缓冲区拥有各种用途:我们可以将数据写入缓冲区,也可以从缓冲区复制数据;通过描述符集合可以将缓冲区与通道绑定,并在着色器中将缓冲区作为数据源,还可以将数据存储到着色器中的缓冲区。 我们必须向驱动程序通报这些缓冲区用法,不仅...
Vulkan创建缓冲区 缓冲区是最简单的资源,因为它们代表仅通过线性形式存储在内存中的数据,就像C/C++中的数组。  缓冲区有各式各样的用途,在通道中通过描述符可以将后备数据存储空间设置为统一缓冲区(uniform buffer)、存储...
Vulkan销毁命令池 当不需要使用通过指定命令池分配的所有命令缓冲区,而且也不需要使用该命令池时,可以通过安全方式销毁该命令池。 具体处理过程 (1)获取逻辑设备的句柄,将该句柄存储在一个VkDevice类型的变量中,将该变量命名为log...
Vulkan释放命令缓冲区 如果不再需要使用某些命令缓冲区,而且这些命令缓冲区也没有正在等待被设备执行,就可以释放它们。 具体处理过程 (1)获取逻辑设备的句柄,将该句柄赋予一个VkDevice类型的变量,将该变量命名为logical_de...
Vulkan销毁信号 信号可以反复多次被使用,因此在应用程序运行时通常不需要删除它们。但是当不再需要使用某个信号,而且可以确定该信号没有正在被设备使用时(包括没有暂停等待操作和暂停发出操作),可以销毁该信号。 具体处理过程 (1)获取逻辑设...
Vulkan销毁栅栏 栅栏可以反复多次使用,但当我们不再需要使用栅栏时(通常是在关闭应用程序前),应该销毁它们。 具体处理过程 (1)获取逻辑设备的句柄,将该句柄存储在一个VkDevice类型的变量中,将该变量命名为logical_devi...
**Vulkan等待所有命令处理完 **有时需要使应用程序等待,直到提交给逻辑设备中所有队列的所有作业都被处理完后为止。这种等待操作的目的,通常是在关闭应用程序前销毁所有已创建和分配的资源。 具体处理过程 (1)获取已创建逻辑设备的句柄,将...
Vulkan等待队列的命令处理完毕 当想要使应用程序与已提交给指定队列的作业同步时,不必总使用栅栏。可以使应用程序在提交给指定队列的所有任务都被处理完之前等待。 具体处理过程 (1)获取用于提交任务的队列的句柄,将该句柄存储在一个VkQue...