Skip to main content

O que é um destino de renderização?

Na programação de gráficos de computador, um destino de renderização é uma área da memória do computador na qual o próximo quadro a ser exibido é desenhado. Geralmente usado para aumentar a velocidade de renderização, o destino de renderização geralmente fica em uma área de memória dedicada na placa gráfica perto da unidade de processamento gráfico (GPU). Embora o conceito seja quase o mesmo, existem algumas pequenas diferenças nas convenções de implementação e nomeação relacionadas a um destino de renderização; isso depende da linguagem ou biblioteca de programação que está sendo usada, com algumas línguas chamando-o de buffer de volta, objeto de buffer de estrutura ou buffer duplo. Também é possível, especialmente em computação gráfica tridimensional (3D), usar o destino de renderização para desenhar texturas em objetos para ajudar a otimizar a imagem final da exibição quando ela é compilada. Em alguns casos, é possível ter vários destinos de renderização (MRTs), com diferentes partes de um quadro sendo desenhadas em superfícies diferentes e depois compostas no destino final.

A idéia de um destino de renderização é semelhante ao processo usado com buffer duplo. Uma imagem é essencialmente desenhada em uma superfície fora da tela, que é realmente uma área de memória, de modo que, quando for a hora de desenhar o próximo quadro em um dispositivo ou tela de exibição, isso pode ser feito o mais rápido possível, porque todos das funções de desenho já foram executadas. A diferença com um destino de renderização em muitas implementações é que a área de memória usada pode estar na placa gráfica e gerenciada por hardware ou outros aspectos da GPU, tornando-a muito mais eficiente e mais rápida do que um projeto de buffer duplo gerenciado por software.

No caso da programação de gráficos de computador 3D, um destino de renderização pode ser usado para otimizar a renderização de objetos que usam imagens para suas texturas de superfície. O contexto de renderização está dentro do hardware gráfico, portanto, isso permite uma rasterização muito rápida de objetos 3D. Efeitos especiais também podem ser desenhados dessa maneira, tornando a montagem da cena final em um buffer traseiro muito rápida, porque a maioria das informações gráficas está sendo movida apenas uma curta distância na placa gráfica.

O hardware gráfico, os drivers e as bibliotecas que estão sendo usados ​​podem fazer alguma diferença no funcionamento de um destino de renderização. Uma restrição específica é com o uso de MRTs, em que a placa gráfica determina quantos destinos podem ser usados ​​simultaneamente. Algumas placas também não têm suporte de hardware para destinos de renderização, embora uma funcionalidade semelhante possa geralmente ser alcançada por meios alternativos.