基本 OpenGL作

下图说明了 OpenGL 如何处理数据。 如图所示,命令从左侧输入,然后继续执行处理管道。 某些命令指定要绘制的几何对象,而另一些命令则控制对象在各种处理阶段的处理方式。

显示 OpenGL 数据处理管道阶段的关系图。

基本 OpenGL作中的处理阶段如下所示:

  • 显示列表 而不是让所有命令立即通过管道继续,你可以选择在显示列表中累积其中一些命令以供以后处理。

  • 计算器 计算器阶段的处理阶段通过计算输入值的多项式命令,为近似曲线和表面几何图形提供了一种有效的方法。

  • 每个顶点作和基元程序集 OpenGL 处理几何基元点、线段和多边形,这些点由顶点描述。 顶点经过转换和点亮,基元被剪裁到视区,以准备光栅化。

  • 光栅化 光栅化阶段使用点、线段或多边形的二维说明生成一系列帧缓冲区地址和关联值。 生成的每个片段将馈送到最后一个阶段(每个片段作)。

  • 每个片段作 这些作是在将数据存储为像素之前对数据执行的最终作。

    每个片段作包括基于传入和以前存储的 z 值(用于 z 缓冲)的条件性更新,以及将传入像素颜色与存储的颜色混合,以及对像素值进行掩码和其他逻辑作。

数据可以以像素而不是顶点的形式输入。 像素形式的数据(例如,可能描述用于纹理映射的图像)会跳过上述处理的第一个阶段,而是在像素作阶段中作为像素进行处理。 以下像素作是像素数据之一:

  • 存储为纹理内存,用于光栅化阶段。
  • 光栅化,生成的片段合并到帧缓冲区中,就像从几何数据生成一样。