描述集
在本章中,我们将介绍以下内容:
- 创建采样器
- 创建采样图像
- 创建组合图像采样器
- 创建存储图像
- 创建统一纹理(uniform texel)缓冲区
- 创建存储纹理缓冲区
- 创建统一(uniform)缓冲区
- 创建存储缓冲区
- 创建输入附件(input attachment)
- 创建描述符集布局
- 创建描述符池
- 分配描述符集
- 更新描述符集
- 绑定描述符集
- 使用纹理和统一缓冲区创建描述符
- 释放描述符集
- 重置描述符池
- 销毁描述符池
- 销毁描述符集布局
- 销毁采样器
介绍
在现代计算机图形学中,大多数图像数据(例如顶点,像素或片段)的渲染和处理都是使用可编程管线和着色器完成的,着色器要正常运行并生成适当的结果,需要访问其他数据源,如纹理、采样器、缓冲区或统一变量。在Vulkan中这些是通过描述符集提供的。
描述符是表示着色器资源的不透明数据结构。它们被组织成组或集合,其内容由描述符集布局指定。为了为着色器提供资源,我们将描述符集绑定到管线。可以一次绑定多个集合。要从着色器中访问资源,我们需要指定从哪个集合以及从集合中的哪个位置(称为绑定)获取给定资源。
在本章中我们将了解各种描述符类型。将看到如何准备资源(采样器,缓冲区和图像),以便可以在着色器中使用它们。我们还将介绍如何在应用程序和着色器之间设置接口以及如何在着色器中使用资源。