- OpenGL顶点规范和绘图命令 Vertex Specification and Drawing Commands
- 图元类型 Primitive Types
- 当前顶点属性值 Current Vertex Attribute Values
- 顶点数组 Vertex Arrays
- 通用顶点属性的数组 Specifying Arrays for Generic Vertex Attributes
- 顶点属性除数 Vertex Attribute Divisors
- 使用顶点数组绘制命令 Drawing Commands Using Vertex Arrays
- 条件渲染 Conditional Rendering
在OpenGL中,绘制几何图元的过程涉及使用诸如DrawArrays
等命令指定与图元的顶点对应的一系列通用属性集。这些图元可以包括点、线、多边形和其他相关的几何形状。
以下是该过程的概述:
-
顶点规格化:
- 使用通用顶点属性指定顶点。
- 每个属性可以有一个、两个、三个或四个标量值。
- 这些属性用于定义顶点的属性,如位置、颜色和纹理坐标等。
-
顶点着色器处理:
- 在顶点着色器中可以从通用顶点属性中获取数据。
- 顶点着色器(在第11.1节定义)处理顶点并计算后续图形管道阶段需要的值。
- 在顶点着色器执行之前,顶点所需的状态包括其通用顶点属性。
-
顶点输出:
- 顶点着色器的执行会产生一个齐次顶点位置以及由顶点着色器显式写入的任何输出。
- 顶点着色器的输出有助于定义一个图元(点、线段或多边形)。
-
裁剪:
- 形成图元后,它会被裁剪到一个裁剪体积。
- 裁剪可能通过更改顶点坐标和顶点着色器的输出来修改图元。
- 对于线和多边形图元,裁剪可能会在图元中插入新的顶点。
-
光栅化:
- 存活下来经过裁剪阶段的图元的顶点具有相关的输出变量。
- 这些输出变量有助于光栅化过程,该过程确定将为图元生成哪些片段。
总的来说,该过程涉及为每个顶点指定属性,在顶点着色器中处理这些属性,形成图元,进行裁剪,最后在图形管道中进行光栅化,以生成用于后续处理的片段。