Warum möchten Sie mehrere Renderziele?

Antworten:

14

Wenn mehrere Renderziele gebunden sind, können sie vom Pixel-Shader einzeln beschrieben werden. Es ist nicht (unbedingt) der Fall, dass alle Renderziele das gleiche Bild erhalten. Sie können nur die rote Komponente in eine Ausgabe schreiben, nur die blaue in eine andere usw.

Dies wird verwendet, wenn beispielsweise verzögertes Rendern implementiert wird : Positions-, Normal-, Farb- usw. Informationen werden jeweils auf ihr eigenes Renderziel geschrieben.


quelle
4
Die neue Verwendung für 3D-Fernseher besteht darin, mehreren lokalen Spielern eine eigene Vollbildansicht zu geben, indem nur ein bestimmter Satz von Bildern für jeden Spieler gefiltert wird. Dies wäre eine weitere Verwendung für mehrere Ziele.
James
1
+1 für verzögertes Rendern, dafür habe ich es am häufigsten verwendet. MRT ist auch in DX9 und 10 BTW verfügbar, daher ist es keine neue Funktion.
Roy T.
2
@ James über die Zeit kam etwas Nützliches von diesem Tech-Hype. :)
verzögertcaviar
Früher wurde es auch für Würfel- / Umgebungskartierungen / Reflexionen verwendet - jetzt gibt es jedoch bessere Möglichkeiten.
Jonathan Dickinson
2

Der zusätzliche Vorteil der Verwendung mehrerer Renderziele, wie beim verzögerten Rendern, wie von Josh erwähnt, besteht darin, dass Sie die Geometrie der Szene nur einmal an den Vertex-Shader senden und auf verschiedene Pixel-Shader-Ausgaben anwenden, anstatt die Geometrie für jede Ausgabe erneut zu senden brauchen. Dies spart viel Rechenzeit für die GPU. Der Kompromiss für eine schnellere GPU-Leistung ist ein höherer Verbrauch an Bildpufferspeicher.

ChrisC
quelle