Multiple render targets (MRT)
Permette a un fragment shader di scrivere su più render target in un solo passaggio, ciascuno con un contenuto diverso.
Normalmente uno shader scrive su un unico buffer di colore. Con MRT se ne collegano diversi e lo shader scrive dati differenti in ciascuno — SV_Target0, SV_Target1 e così via. È stato l'MRT a rendere pratico il deferred shading: un unico passaggio geometrico riempie il G-buffer con albedo, normali, profondità e parametri del materiale in buffer separati, dopodiché l'illuminazione viene calcolata una sola volta in spazio schermo.
L'hardware è arrivato con DirectX 9 SM2.0 e con OpenGL intorno al 2004. I vincoli sono che tutti i target devono avere la stessa risoluzione e lo stesso numero di campioni, e che la banda cresce a ogni buffer aggiunto: un G-buffer troppo ricco può facilmente essere ciò che satura il bus di memoria.