Геометрический шейдер
Необязательная стадия конвейера, работающая с целыми примитивами и способная создавать или отбрасывать геометрию прямо на пути через видеокарту.
Вершинный шейдер видит по одной вершине, а геометрический — примитив целиком: точку, линию или треугольник — и может выдать ноль, один или много новых примитивов. Это позволяет размножать или удалять геометрию на самой карте: превращать точки в ориентированные спрайты, выдавливать теневые объёмы, строить каркасы или шерсть.
Появился с DirectX 10 (2006) и OpenGL 3.2. Репутация у него, однако, неважная: непредсказуемый объём вывода плохо ложится на то, как GPU планируют работу, и на большинстве железа стадия становится узким местом. На практике его избегают, и он в основном уступил место вычислительным и mesh-шейдерам.