The Rendering Pipeline is the sequence of steps that OpenGL takes when rendering objects.
- Each vertex retrieved from the vertex arrays (as defined by the VAO) is acted upon by a Vertex Shader. Each vertex in the stream is processed in turn into an output vertex.
- Optional primitive tessellation stages.
- Optional Geometry Shader primitive processing. The output is a sequence of primitives.
Vertex Post-Processing, the outputs of the last stage are adjusted
or shipped
to different locations
.
- Transform Feedback happens here.
- Primitive Assembly
- Primitive Clipping, the perspective divide, and the viewport transform to window space.
Scan conversion and primitive parameter interpolation, which generates a number of Fragments.
A Fragment Shader processes each fragment. Each fragment generates a number of outputs.
Per-Sample_Processing, including but not limited to: