09 · Geometry Shader 几何着色器 · 在完整渲染管线中的位置
CPU / Draw数据准备 · Draw Call
→
Vertex InputVAO · VBO · Attribute
→
Vertex Shader逐顶点处理
→
Primitive Assembly组装 point / line / triangle
→
Geometry Shader可选 · 按图元处理
→
Rasterization图元 → fragments
→
Fragment Shader颜色 / 深度 / 采样
→
Per-SampleDepth · Stencil · Blending
→
Framebuffer颜色 / 深度附件

完整图元进入 Geometry Shader,再生成新的图元

Primitive Assembly 已经把顶点组成 point / line / triangle。Geometry Shader 一次处理一个完整图元,可以输出 0 个、1 个或多个新图元,再交给 Rasterization。

Input TriangleGeometry Shadergl_in[]EmitVertex()EndPrimitive()New Primitives
重点位置:Primitive Assembly → Geometry Shader → Rasterization