Como funciona o Supersampling Anti-Aliasing?

Como funciona o Supersampling Anti-Aliasing?

Pela leitura on-line, entendi a ideia básica de como funciona o Supersampling Anti-Aliasing, ele renderiza a cena em uma resolução mais alta que a tela do usuário, usa os pixels extras para calcular uma média e depois reduzi-la.

Não entendo muito bem como isso funciona na prática. Por exemplo, se houver um pixel vermelho de uma parede próximo a um pixel azul de um céu, quando a cena for renderizada x2 SSAA, o pixel vermelho não será agora apenas quatro pixels vermelhos e o mesmo com o pixel do céu azul, como isso ajuda no cálculo de uma média.

Os quatro novos pixels vermelhos estão sobrepostos à imagem original, dessa forma você obteria uma mistura de pixels vermelhos e azuis e seria capaz de calcular uma média para ajudar a suavizar a transição entre a parede e o céu?

Qualquer ajuda seria apreciada.

Responder1

Isso ajuda muito. No seu exemplo original:

... Vermelho Vermelho Vermelho Azul Azul Azul ...

A fronteira entre vermelho e azul parece uma escada

Na imagem sobreamostrada

... Vermelho Vermelho Vermelho Vermelho Azul Azul Azul ...

À medida que reduzimos a resolução

... Vermelho] [Vermelho Vermelho] [Vermelho Azul] [Azul Azul] [Azul ...

Agora temos um pixel que é a média do vermelho e do azul, desfocando a fronteira entre as regiões vermelha e azul.

Se você imaginar um limite diagonal entre duas regiões, vermelha e azul, a sobreamostragem inserirá pixels intermediários nas bordas dos degraus da escada, já que muitas das caixas 2x2 necessariamente incluem pixels vermelhos e azuis nelas.

insira a descrição da imagem aqui

Responder2

Ok, bem, vou tentar explicar, porque já apliquei métodos como este antes ao trabalhar com fotos, para aplicar alguns dos algoritmos de "suavização" a fotos ou fotos de baixa resolução, sem obter uma suavização profunda muito ampla.

é algo assim.

Aqui estão seus pixels na resolução normal que você visualizaria. Precisa urgentemente de anti-aliasing ou suavização de irregularidades.
alias

Por um lado, aqui aumentamos a imagem para 4X e depois aplicamos o mesmo algoritmo de anti-aliasing alto e baixo

É importante notar que, como um computador estúpido, não posso simplesmente dobrar o preto para o branco (alterando a quantidade de brancura), mas também tenho que dobrar o branco para o preto (equilibrando a equação :-). Estou aplicando cegamente uma matriz matemática onde me disseram para aplicá-la. Embora os algoritmos da placa de vídeo sejam muito sofisticados e na verdade não sejam tão cegos assim.

Exemplo observável de equilíbrio em jogos: você não gostaria que sua cerca desaparecesse no céu e não quer que seu céu se tornasse uma cerca, portanto, quaisquer ajustes devem ser aplicados tanto aos pixels do céu quanto aos pixels da cerca de maneira mais igual. Também é um exemplo de como as placas de vídeo e os motores de jogo perturbam esse equilíbrio para obter a melhor imagem com esse tipo de detalhes difíceis.

Em algum momento, tudo isso terá que voltar para a resolução da tela, onde será a resolução mais baixa, e depois de ter uma grande variedade de itens para ajustar, esse monte extra de pixels agora será perfeitamente mesclado em menos pixels.
(bem, não era a cor perfeita para aquela mistura, mas não fiz as contas) Voltar para baixa resolução E como você pode ver, parece horrível novamente na resolução da tela.

No lado de baixa resolução, temos essa vasta área afetada/alterada à medida que dobramos todos esses pixels um em direção ao outro (tanto o preto quanto o branco) e temos uma enorme faixa de suavização porque estávamos trabalhando apenas em uma resolução baixa.

No lado de alta resolução, obtivemos um conjunto de pixels de equilíbrio perfeito misturando 4X pixels, o que cria uma área de suavização menor. então o lado de alta resolução encontra os pixels que suavizariam tudo muito bem, mas não deixam uma grande bagunça desfocada.

Porque (novamente) temos que dobrar muito mais pixels, para manter o equilíbrio da mistura de um com o outro. Se aumentarmos a escala primeiro, podemos criar essa mistura de flexão em uma escala menor, ainda assim manter o equilíbrio de dobrar um para o outro , e o resultado final são pixels menos afetados, a mesma ocultação irregular.

Quando você compara os 2 métodos lado a lado usando jogos, a diferença que é alcançada com o que parece ser muito trabalho extra não é tão grande. A mesma coisa quando estou processando fotos que serão usadas em resolução mais baixa, é um esforço extra para mim e para a máquina, e os resultados são um pouco melhores.

informação relacionada