Programmable pipeline Programmable pipeline The API of OpenGL API Primitive processing Processes a single vertex and returns a Clip-Space-Coordinate Vertex shader CSC Clip-Space-Coordinates vec4([-1,1],[-1,1],[-1,1],[0,1]) Primitive assembly Clipping/ culling Rasterizes primitives into pixels Rasterizer Processes a single pixel and returns a RGBA colour Fragment shader Depth/stencil Color buffer blend Dither The window-system provided framebuffer or a framebuffer object (FBO) Frame buffer Vertex buffer points, lines, triangles, triangle-strip