ジオメトリシェーダー
プリミティブ全体を対象に動作し、グラフィックスカード上でジオメトリを生成したり捨てたりできる、任意のパイプラインステージ。
頂点シェーダーが一度に一つの頂点しか見ないのに対し、ジオメトリシェーダーは点・線・三角形といったプリミティブ全体を受け取り、新しいプリミティブをゼロ個、一個、あるいは複数個出力できる。そのため、点を向きのあるスプライトに展開する、シャドウボリュームを押し出す、ワイヤーフレームや毛皮を生成するなど、ジオメトリのカード上での増幅や削除が可能になる。
DirectX 10(2006年)とOpenGL 3.2で導入された。ただし評判は悪い。出力量が予測できないことがGPUの処理スケジューリングと相性が悪く、多くのハードウェアでこのステージはボトルネックになる。そのため実際には避けられ、コンピュートシェーダーやメッシュシェーダーにほぼ取って代わられた。