图形管线基础
介绍
Vulkan 中的图形管线是一系列操作,将网格和纹理数据转换为渲染到屏幕上的像素。它由多个阶段组成,每个阶段执行特定的任务,例如顶点着色、光栅化和片段着色。在本章中,我们将介绍图形管线的基本概念,并设置必要的组件来渲染一个简单的三角形。
管线阶段
Vulkan 的图形管线可以分为以下几个主要阶段:
-
输入组装:从缓冲区中读取顶点数据并组装成几何图元(如三角形)。
-
顶点着色:对每个顶点执行顶点着色器,计算其在屏幕空间中的位置和其他属性。
-
曲面细分(可选):细分几何图元以增加细节。
-
几何着色(可选):对每个图元执行几何着色器,生成新的图元。
-
光栅化:将几何图元转换为屏幕上的像素片段。
-
片段着色:对每个片段执行片段着色器,计算其最终颜色。
-
颜色混合:将片段颜色与帧缓冲区中的现有颜色混合。
着色器模块
Vulkan 使用着色器模块来定义顶点和片段着色器的行为。着色器是用 GLSL(OpenGL 着色语言)编写的,并通过 Vulkan 的着色器编译器编译为 SPIR-V 字节码。我们将在下一章中详细介绍如何创建和使用着色器模块。