Especificações Técnicas do FXAA -Fast approximate anti-aliasing (Anti-aliasing rápido aproximado)

O anti-aliasing rápido aproximado (FXAA) é um algoritmo de anti-aliasing de espaço de tela criado por Timothy Lottes na Nvidia.

O FXAA 3 é lançado sob uma licença de domínio público. Uma versão posterior, o FXAA 3.11, é lançada sob uma licença BSD de 3 cláusulas.

Descrição do algoritmo

  1. Os dados de entrada são a imagem renderizada e, opcionalmente, os dados de luminância.
  2. Adquira os dados de luminância. Esses dados podem ser passados ​​para o algoritmo FXAA a partir da etapa de renderização como um canal alfa incorporado na imagem a ser suavizada, calculada a partir da imagem renderizada ou aproximada usando o canal verde como os dados de luminância.
  3. Encontre pixels de alto contraste usando um filtro passa-alta que usa os dados de luminância.Os pixels de baixo contraste encontrados são excluídos de serem alterados posteriormente pelo FXAA. O filtro passa-alta que exclui pixels de baixo contraste pode ser ajustado para equilibrar velocidade e sensibilidade.
  4. Use contraste entre pixels adjacentes para encontrar bordas heuristicamente e determinar se as bordas estão nas direções horizontal ou vertical. A direção de mesclagem de um pixel será perpendicular à direção da borda detectada naquele pixel.
  5. Calcule um fator de mesclagem para um pixel de alto contraste analisando os dados de luminância na grade 3x3 de pixels com o pixel em questão sendo o pixel central.
  6. Pesquise ao longo da borda detectada para determinar quanto tempo essa borda vai e em que direção a borda real vai quando a borda horizontal ou vertical detectada termina, a fim de levar em consideração a direção da borda real para calcular um segundo fator de mesclagem. Esta etapa pode ser ajustada para mais qualidade aumentando a resolução da pesquisa e até onde a pesquisa vai antes que a busca pelo fim da borda desista, ou para mais velocidade reduzindo ambos.
  7. Misture o pixel usando a direção de mesclagem escolhida e o máximo de ambos os fatores de mesclagem que foram calculados.

Comparação

A principal vantagem dessa técnica sobre o anti-aliasing espacial convencional é que ela não requer grandes quantidades de poder de computação. Ela consegue isso suavizando bordas irregulares indesejáveis ​​("jaggies") como pixels, de acordo com como elas aparecem na tela, em vez de analisar o modelo 3D em si, como no anti-aliasing espacial convencional. Como não é baseado na geometria real, ele suavizará não apenas as bordas entre triângulos, mas também as bordas dentro de texturas alpha-blended, ou aquelas resultantes de efeitos de pixel shader, que são imunes aos efeitos do anti-aliasing multisample (MSAA).

As desvantagens são que os mapas de textura de alto contraste são desfocados, que o FXAA deve ser aplicado antes de renderizar os elementos HUD de um jogo para não afetá-los também, e que detalhes poligonais menores que um pixel que teriam sido capturados e renderizados pelo MSAA e SSAA não podem ser capturados e renderizados apenas pelo FXAA.

Comentários

Postagens mais visitadas deste blog

Alan Wake 2: Como acariciar o prefeito Setter (troféu / conquista das coisas boas da vida)

FXAA vs MSAA: o que é melhor para jogos?

Como executar o Windows 11 no Mac M1/M2/M3 gratuitamente