渲染过程和帧缓冲区
本章中,我们将介绍一下内容:
- 指定附件描述
- 指定子过程描述
- 指定子过程之间的依赖关系
- 创建渲染过程
- 创建一个帧缓冲区
- 为几何渲染和后处理准备渲染过程subpasses
- 使用颜色和深度附件准备渲染过程和帧缓冲
- 开始渲染过程
- 进入下一个子过程
- 结束渲染过程
- 销毁帧缓冲区
- 销毁渲染过程
介绍
在Vulkan中,绘图命令被组织成渲染过程。渲染过程是一组子视图,描述了如何使用图像资源(颜色,深度/模板和输入附件)。
存储在渲染过程中的上述数据只是一般描述或元数据。 渲染过程中涉及的实际资源是使用帧缓冲区(framebuffers)指定的。 通过它们,我们定义了哪些图像视图用于哪些渲染附件。
我们需要提前准备所有这些信息,然后才能发出(记录)渲染命令。有了这些知识,驱动程序可以大大优化绘图过程,限制渲染所需的内存量,甚至可以为某些附件使用非常快的缓存,从而提高性能。
在本章中,我们将学习如何将绘图操作组织成一组渲染过程和子视图,这些过程和子视图是使用Vulkan绘制任何内容所必需的。 我们还将学习如何准备渲染(绘图)过程中使用的渲染目标附件的描述以及如何创建帧缓冲区,这些帧缓冲区定义将用作这些附件的实际图像视图。