14.1 OpenGL图元装配和光栅化:在光栅化之前丢弃图元
在光栅化之前丢弃图元 Discarding Primitives Before Rasterization
在图形渲染管线中,几何图元(如点、线和三角形)若被发送至顶点流0
,则会被进一步处理;而发往其他任何顶点流的图元则会被丢弃。当几何着色器未启用时,默认所有顶点都视为送往流0
。
RASTERIZER_DISCARD
是一个可配置状态,用于选择性地在光栅化阶段前丢弃图元。通过调用Enable(GL_RASTERIZER_DISCARD)
来启用该功能时,在可选的变换反馈阶段之后但光栅化阶段之前,图元会立即被丢弃。反之,若禁用此功能(Disable(GL_RASTERIZER_DISCARD)
),图元将正常传送到光栅化阶段进行处理。
另外,一旦启用RASTERIZER_DISCARD,Clear和ClearBuffer*等清空帧缓冲区的操作也将失效,因为此时帧缓冲区不再接收来自管线的任何输出。