Por que você deseja vários destinos de renderização?

Respostas:

14

Quando vários destinos de renderização são vinculados, cada um pode ser gravado individualmente pelo sombreador de pixels - não é (necessariamente) que todos os destinos de renderização terão a mesma imagem. Você pode escrever apenas o componente vermelho em uma saída, apenas o azul em outra, etc.

Isso é usado ao implementar a renderização adiada, por exemplo: informações de posição, normal, cor etc. são gravadas no seu próprio destino de renderização.


fonte
4
O novo uso das TVs 3D é oferecer a vários players locais sua própria exibição em tela cheia, filtrando apenas um determinado conjunto de quadros para cada jogador. Este seria outro uso para vários destinos.
James
11
+1 para a renderização adiada, é para isso que eu mais uso. O MRT também está disponível no DX9 e 10 btw, portanto não é um novo recurso.
Roy T.
2
@ James sobre o tempo algo útil veio desse hype da tecnologia. :)
deceleratedcaviar
No passado, também era usado para mapeamento / reflexões de cubo / ambiente - existem maneiras melhores agora.
Jonathan Dickinson
2

O benefício adicional de usar vários destinos de renderização, como na renderização adiada como Josh mencionou, é que você envia a geometria da cena ao shader de vértice apenas uma vez e a aplica a diferentes saídas de shader de pixel, em vez de reenviar a geometria para cada saída que você precisar. Isso economiza muito tempo de computação para a GPU. A compensação pelo desempenho mais rápido da GPU é o maior consumo de memória buffer de quadro.

ChrisC
fonte