これらの言語は、APIの処理パイプラインに含まれるプログラマブル・プロセッサごとにシェーダーを作成するために使用されます。
これらのプロセッサは、頂点、テッセレーション制御、テッセレーション評価、ジオメトリ、フラグメント、およびコンピュート・プロセッサです。
特定の言語については、対象となるプロセッサの名前(vertex、tessellation control、tessellation evaluation、geometry、fragment、compute)を用いて呼びます。
一般的に、ユーザー定義の変数は、APIパイプラインの異なるステージ間の通信に使用されます。しかし、少量のステートはまだ追跡され、自動的にシェーダが利用できるようになっており、APIパイプラインの異なるステージ間のインターフェースのためにいくつかのビルトイン変数があります。