2011/12/11

O Anti-Aliasing Morfológico FXAA e SMAA


Na busca de gráficos com aparência cada vez mais realista, a transposição de uma imagem para ecrãs que são compostos por pixeis vem também acompanhada por alguns efeitos por vezes indesejados, como o aliasing bem conhecido de muitos os que gostam de jogar no seu PC.


Este aliasing é o responsável pela criação de imagens com as arestas "pixelizadas" que automaticamente parecem artificiais, e têm sido uma autêntica dor de cabeça para programadores e artistas gráficos. Existem várias sistemas que procuram reduzir este efeito, mas quase todos eles são conseguidos à custa de "força bruta", com as imagens a serem geradas em resoluções superiores, e depois reduzidas de tamanho.

Obviamente, não é um sistema lá muito eficiente... e que obriga a que se tenha hardware muito mais potente do o que seria teoricamente necessário. Existem múltiplas e variadas variações, que procuram maximizar os resultados com a maior eficiência possível, como o MSAA, alguns que introduzem problemas por si só - no caso de coisas com transparência - mas que invariavelmente continuam a consumir demasiados recursos.

E porque não tentar chegar ao mesmo efeito a partir de uma imagem já com a resolução pretendida?


É isso que é feito com o FXAA (Fast Approximate Anti-Aliasing), que consegue resultados superiores aos do sistema 4x MSAA, e consumindo menos recursos, uma vez que consome apenas 1.3ms adicionais por cada imagem gerada na resolução pretendida.

E depois de ter descoberto isto, até pensava que iamos ficar por aqui... Mas não. É que logo depois fui dar com o SMAA (Enhanced Subpixel Morphological Antialiasing). E este sim, parece verdadeiramente milagroso!


SMAA: Enhanced Subpixel Morphological Antialiasing from Jorge Jimenez on Vimeo.


Este sistema foi desenvolvido por: Jorge Jimenez, Jose I. Echevarria, e Diego Gutierrez da Universidade de Saragoça, e pelo Tiago Sousa da Crytek - empresa que certamente dispensará apresentações.

Como se pode ver no vídeo, este SMAA consegue ser superior ao FXAA e... demonstra que pelo menos na Crytek não têm estado parados para nos conseguirem trazer gráficos gerados por computador que em breve rivalizarão com o foto-realismo.

Olhando-se para o que é feito hoje em dia em jogos como o Crysis 2, em consolas como a Xbox 360 e PS3, completamente "obsoletas" em termos de hardware... faz-nos imaginar o que a próxima geração irá conseguir fazer!


[SMAA via CodingHorror]

2 comentários:

  1. Carlos tens informação quando estará disponivel o vodafone smart tab 10 na vodafone?

    ResponderEliminar
  2. Traduzido para português de outra forma; os filtros antialiasing são funções matemáticas aplicadas a uma imagem para suavizar as arestas e zonas de transição de informação na imagem. Podem ser calculadas por software á custa do cpu do próprio computador, ou usando os gpus das placas gráficas.
    Quando se diz que o filtro é 2x,4x,6x por ai fora, é a quantidade de vezes que um filtro é reaplicado ao resultado da imagem com um filtro antialiasing. Para a tornar mais suave (menos pixelizada) e portanto, mais realista.

    ResponderEliminar