Geometry shader
An optional pipeline stage that operates on whole primitives and can create or discard geometry on its way through the graphics card.
Where the vertex shader sees one vertex at a time, the geometry shader sees a complete primitive — a point, line or triangle — and can emit zero, one or many new primitives. That makes it possible to amplify or delete geometry on the card: expand points into oriented sprites, extrude shadow volumes, generate wireframes or fur.
Introduced with DirectX 10 (2006) and OpenGL 3.2. Its reputation, though, is poor: the unpredictable amount of output sits badly with how GPUs schedule work, and on most hardware the stage becomes a bottleneck. It is therefore avoided in practice and has largely been superseded by compute shaders and mesh shaders.