468x60 Ads

.

Entendendo o Anti-Aliasing do Crysis 3



imagem



Antes de ser renderizada, a imagem 3D é uma espécie de desenho vetorial, que pode ser exibido em qualquer resolução, sem perda de qualidade. O problema é que o monitor possui uma resolução definida, de forma que a placa de vídeo precisa renderizar a imagem de acordo com a limitação de resolução do monitor, muitas vezes descartando detalhes das imagens. 

A partir do ponto em que a placa de vídeo tem potência suficiente para renderizar os frames a uma resolução superior à do monitor, você pode ativar o uso de um algoritmo de antialiasing, o que permite aplicar parte dos ciclos ociosos em melhorar a qualidade das imagens exibidas. 

Os algoritmos de antialiasing são chamados genericamente de "FSAA" (Full-Screen Antialiasing). A ideia básica é suavizar as imagens (sobretudo os contornos), reduzindo a granulação e tornando a imagem mais "lisa", de forma que ela aparente uma resolução maior que a real: 

Imagem
imagem


Temos aqui um exemplo de aplicação do antialiasing. Nos dois screenshots temos exatamente a mesma cena, mas você pode perceber que a de baixo ficou com os contornos mais suaves e uma qualidade geral muito melhor:

Sem Anti-alias:
imagem


Com Anti-Alias:
imagem


A primeira geração foi o SSAA (SuperSampling Antialiasing), suportado desde as primeiras versões das placas nVidia GeForce e ATI Radeon. A ideia por trás do SSAA é bastante simples: renderizar imagens 2, 4 ou 8 vezes maiores do que a resolução do monitor e em seguida reduzi-las até a resolução que será exibida, aplicando um algoritmo de antialiasing. Com isso os detalhes são suavizados e a imagem preserva a maior parte dos detalhes da imagem inicial.

O grande problema é que usar o SSAA causa uma grande redução no desempenho da placa de vídeo, já que ela passa a essencialmente renderizar as imagens em uma resolução muito mais alta. Ao usar o valor "4X", a placa passa a renderizar imagens 4 vezes maiores que a resolução do monitor (2560x1600 ao usar 1280x800, por exemplo), o que reduz o fill-rate efetivo da placa a aproximadamente um quarto do valor original, reduzindo severamente o FPS em casos onde o limitante não é o processador ou o processamento de shaders. Isso faz com que o SSAA seja utilizável apenas em resoluções relativamente baixas, ou ao rodar jogos mais antigos.

A segunda geração é o MSAA, suportado a partir das GeForce 3. No MSAA o cálculo de antialiasing é feito de forma mais inteligente com a renderização de múltiplas cópias de cada pixel e a interpolação entre eles e o uso de algoritmos otimizados, que permitem que a placa se concentre nos trechos da imagem onde o antialiasing vai resultar em um maior ganho de qualidade. Se dentro de um polígono existem 4 pixels idênticos, por exemplo, eles são processados como se fossem apenas um e o mesmo valor de cor é aplicado aos quatro. No SSAA eles seriam processados como 4 pixels separados, o que consumiria 4 vezes mais processamento.

Com a aplicação de sucessivas melhorias no algoritmo do MSAA, tanto por parte da nVidia, quanto por parte da ATI, chegamos ao ponto atual, onde as placas são capazes de aplicar o algoritmo de Antialiasing com uma perda de desempenho relativamente pequena, se comparada ao que tínhamos na época do SSAA.

O antialiasing pode ser ajustado tanto dentro dos jogos quanto através do driver. A configuração dentro das opções de cada jogo são quase sempre preferíveis, já que permitem escolher entre os modos oficialmente suportados pelo desenvolvedor. De uma maneira geral, o uso de antialiasing de 4x com multisampling é o melhor custo-benefício, já que oferece uma melhoria perceptível na qualidade, sem uma perda tão gritante no FPS. Os níveis mais altos (vai até o 16x) oferecem ganhos incrementais, mas a redução no FPS é grande demais.

A segunda opção é forçar o uso de um modo específico através do driver, o que permite escolher entre todos os modos suportados pela placa, mas em compensação resulta em muito mais problemas. Um bom meio termo é o "Enhance the application setting", que tenta ativar a configuração quando possível, sem forçar o uso em jogos onde ela resulta em problemas.
TXAA Desligado
imagem

TXAA Ligado
imagem


TXAA
Considerado pela NVIDIA como a próxima geração de filtros de antisserilhamento (responsável pela geração do próximo nível em termos de qualidade de imagem), o TXAA (Temporal Anti-aliasing) promete disponibilizar muito mais qualidade e performance se comparado com o MSAA.

Segundo a companhia, o antisserilhamento temporal foi criado com o objeto de explorar toda a capacidade de processamento de texturas da geração Kepler (mais especificamente da GTX 680).

O TXAA é um misto de anti-aliasing de hardware com filme GC estilo AA, e para o caso do filtro em 2X, um componente temporal opcional é empregado, para melhorar a qualidade da imagem.

O filtro de Temporal Anti-aliasing está disponível em dois modos: TXAA1 e TXAA2. De acordo com a NVIDIA, o TXAA1 oferece uma qualidade gráfica superior ao MSAA em 8X, com gasto de processamento semelhante ao MSAA em 2X. Já o TXAA2 permite uma qualidade das imagens superior ao TXAA1, com performance comparável ao MSAA em 4X.

Inicialmente o filtro antisserilhamento temporal será implementado diretamente na engine de alguns dos principais jogos da futura geração. Até o momento, a Epic Games, com a sua badalada Unreal Engine Technology 4, e a Crytek, são dois dos principais estúdios que já estão desenvolvendo games com o novo filtro da NVIDIA.



Fonte Retirada:
http://www.hardware.com.br/dicas/antialiasing.html
Fonte: Hardware

0 comentários:

Postar um comentário