13 OpenGL顶点后处理
在可编程顶点处理之后,接下来对生成的图元执行以下固定功能操作:
-
变换反馈:该机制捕获顶点着色器的输出并将其写回到缓冲区中,使得一次渲染过程中的数据可以被后续渲染或模拟重用。
-
图元查询:用于统计和记录渲染过程中特定图元的数量或其他相关信息。
-
平面着色:在多边形的所有顶点上使用相同的颜色或属性值进行着色。
-
图元裁剪,包括客户端定义的半空间裁剪:将超出视口、深度范围或其他裁剪区域的图元部分剔除。
-
着色器输出裁剪:裁剪由着色器计算出的属性值,确保其符合裁剪空间的要求。
-
视角坐标下的透视除法:将裁剪坐标通过透视除法转换为归一化的设备坐标,实现近大远小的效果。
-
视口映射,包括深度范围缩放:将归一化的设备坐标转换到屏幕坐标系,并调整深度值的范围。
-
多边形面的前向/后向判定:确定多边形面是面向摄像机还是背向摄像机,以便于背面剔除等操作。
-
通用属性裁剪:进一步裁剪顶点的其他属性值,确保其满足硬件限制和渲染要求。
最后,根据第14章描述的内容,对经过上述处理后的图元进行光栅化。