マルチプルレンダーターゲット(MRT)
フラグメントシェーダが1回のパスで複数のレンダーターゲットへ、それぞれ別の内容を同時に書き込めるようにする機能。
通常、シェーダが書き込むカラーバッファは1つだけだ。MRTでは複数をバインドし、SV_Target0、SV_Target1のようにそれぞれへ別のデータを書く。ディファードシェーディングを現実的にしたのがこれで、1回のジオメトリパスでアルベド、法線、深度、マテリアルパラメータを別々のバッファとしてGバッファに書き出し、ライティングはその後スクリーン空間で一度だけ計算する。
ハードウェアが登場したのはDirectX 9のSM2.0と2004年頃のOpenGLだ。制約として、全ターゲットの解像度とサンプル数が一致していなければならず、バッファが増えるごとに帯域も増える。太ったGバッファがメモリバスを飽和させる原因になることも珍しくない。