Dlaczego miałbyś chcieć wielu celów renderowania?

Odpowiedzi:

14

Gdy wiele obiektów renderujących jest powiązanych, każdy z nich może zostać zapisany osobno przez moduł cieniujący piksele - nie jest (koniecznie) przypadkiem, że wszystkie cele renderowania otrzymają ten sam obraz. Możesz zapisać tylko czerwony komponent do jednego wyjścia, a tylko niebieski do innego, i tak dalej.

Jest to używane przy wdrażaniu odroczonego renderowania, na przykład: informacje o pozycji, normalności, kolorze itp. Są zapisywane we własnym celu renderowania.


źródło
4
Nowym zastosowaniem telewizorów 3D jest zapewnienie wielu lokalnym graczom własnego widoku pełnoekranowego poprzez filtrowanie tylko określonego zestawu ramek do każdego odtwarzacza. Byłoby to kolejne zastosowanie dla wielu celów.
James
1
+1 za odroczone renderowanie, do czego widziałem to najczęściej. MRT jest również dostępny w DX9 i 10 btw, więc nie jest to nowa funkcja.
Roy T.,
2
@James o czasie coś użytecznego pochodzi z tego szumu technologicznego. :)
deceleratedcaviar
Kiedyś był także używany do mapowania / odbicia kostki / środowiska - są jednak lepsze sposoby.
Jonathan Dickinson
2

Dodatkową korzyścią wynikającą z używania wielu celów renderowania, tak jak w renderowaniu odroczonym, jak wspomniano Josh, jest to, że wysyłasz geometrię sceny do modułu cieniującego wierzchołków tylko raz i stosujesz go do różnych wyników modułu cieniującego piksele, zamiast ponownego wysyłania geometrii dla każdego wyjścia potrzeba. Oszczędza to dużo czasu obliczeń dla GPU. Kompromisem dla szybszej wydajności GPU jest większe zużycie pamięci bufora ramek.

ChrisC
źródło