シェーダー
シェーダーは膨大な要素の集合に対して変換処理を同時に適用するように記述される。例えばモデル内の全ての頂点を一様に平行移動・回転・拡大縮小したり、スクリーン(2次元画像バッファ)の特定の範囲内の各ピクセルに対して一様にフィルタリング・輝度変換などを実行したりする、などである。これらの処理は対象となる全要素に等しく適用される。これは並列処理に非常に適しており、しばしばGPUを用いて処理される。例えばBlenderのCyclesエンジンやV-Ray RTはCUDAやOpenCLを経由してプロダクションレンダリングにGPUを活用する。
多くのリアルタイム用途グラフィックスパイプラインは複数段のプログラマブルシェーダーと固定処理からなっている。プログラム可能な1つの段階(シェーダー)はシェーダーステージと呼ばれる。以下は典型的なシェーダーステージである。
OpenGL 3.2以降とDirect3D 10以降では3種類のシェーダーを使用できる。