シェーダー
ピクセルシェーダー(英: Pixel Shader, PS)はピクセル単位のライティングやポストプロセス(後処理)を行なうための機能である。ピクセルシェーダーはラスタライズされるプリミティブの各ピクセルに影響する。また、ピクセルシェーダーにてテクスチャを参照することでバンプマッピングやフォグ、シャドウ、ブルームといったエフェクトを最終レンダリング結果に適用することもできる。OpenGLではフラグメントシェーダー(英: Fragment Shader, FS)と呼ばれる(Fragment: 断片)。
ピクセルシェーダーはピクセルを操作する機能であり、頂点シェーダーもしくはジオメトリシェーダーから入力された情報を元にテクスチャを合成したり表面色を適用したりする。ピクセルを操作する処理にかかる時間は入力プリミティブのラスタライズ後のピクセル数や出力解像度に左右されるため、通例は頂点単位の処理と比較して高負荷である。これをピクセルシェーダープログラムとしてプログラミングし、高い並列処理性能を持つGPUで実行することにより、バンプマッピング等のより高度なエフェクトをCPUですべて実行するよりもはるかに高いパフォーマンスで実現できる。なお、通常のレンダーターゲットを使ったピクセルシェーダーでは、アルファブレンド(アルファ合成)処理の詳細をプログラムすることはできない。
シェーダーを記述(プログラミング)するための種々の言語がプロダクションレンダリング(非リアルタイム)向けおよびリアルタイムレンダリング向けにそれぞれ開発されている。
多くの3DCGソフトウェアやオーサリングツール、ゲームエンジンにはノードエディタと呼ばれるGUIツールが搭載されており、ノードエディタを使うことでカスタムシェーダー開発を直感的に行なうことができるが、シェーディング言語を直接利用すると細やかな調整を行なうことができる。
OpenGL 4.0以降とDirect3D 11以降ではさらにテッセレーションシェーダーをオプションとして使用できる。