Pourquoi voudriez-vous plusieurs cibles de rendu?

Réponses:

14

Lorsque plusieurs cibles de rendu sont liées, elles peuvent chacune être écrites individuellement par le pixel shader - il n'est pas (nécessairement) le cas que toutes les cibles de rendu obtiennent la même image. Vous pouvez écrire uniquement le composant rouge dans une sortie, uniquement le bleu dans une autre, et cetera.

Ceci est utilisé lors de l'implémentation du rendu différé, par exemple: les informations de position, de normal, de couleur et ainsi de suite sont écrites chacune sur leur propre cible de rendu.


la source
4
La nouvelle utilisation des téléviseurs 3D est de donner à plusieurs joueurs locaux leur propre vue plein écran en filtrant uniquement un certain ensemble de cadres pour chaque joueur. Ce serait une autre utilisation pour plusieurs cibles.
James
1
+1 pour le rendu différé, c'est ce que j'ai vu le plus utilisé. MRT est également disponible en DX9 et 10 btw, ce n'est donc pas une nouvelle fonctionnalité.
Roy T.
2
@James, il est temps que quelque chose d'utile vienne de ce battage technologique. :)
deceleratedcaviar
À l'époque, il était également utilisé pour le mappage / réflexion de cube / environnement - il existe maintenant de meilleures façons.
Jonathan Dickinson
2

L'avantage supplémentaire d'utiliser plusieurs cibles de rendu, comme dans le rendu différé comme l'a mentionné Josh, est que vous n'envoyez la géométrie de la scène au vertex shader qu'une seule fois et ne l'appliquez à différentes sorties pixel shader, au lieu de renvoyer la géométrie pour chaque sortie que vous avoir besoin. Cela économise beaucoup de temps de calcul pour le GPU. Le compromis pour des performances GPU plus rapides est une consommation plus élevée de mémoire tampon de trame.

ChrisC
la source