Unixtopia

main/ artigos/

SSAO

É uma técnica de espaço de tela usada em computação gráfica 3D para aproximar a oclusão de ambiente, basicamente sombras muito suaves e escuras nos cantos, que por si só é uma aproximação da iluminação, global verdadeira, de uma forma que seja fácil e não tão cara de implementar para rodar em tempo real. O efeito é usado excessivamente em videogames, mas muitas vezes parece extremamente feio e é frequentemente criticado, veja um excelente artigo em nothings.org. Oclusões de ambiente exatas podem ser computadas com algoritmos como RTAO, que usa traçado de raios, mas isso requer informações completas sobre a geometria e é muito lento sem hardware especial. Alguns desenvolvedores de jogos trapaceiam e usam uma aproximação barata, SSAO é implementado como um shader de pós-processamento e usa apenas as informações disponíveis na tela, especificamente no buffer de profundidade, fornecendo apenas informações parciais sobre a geometria real da cena, o algoritmo não sabe como é a geometria voltada para trás, perpendicular à tela ou fora da tela e tem que fazer suposições que às vezes resultam em imprecisões bastante visíveis.

Este método é notoriamente feio em certas condições e muitos jogos modernos sofrem com isso, até mesmo os motores supostamente fotorrealistas como o Unreal, se alguém está parado na frente de uma parede, há um contorno de sombra ao redor dele que parece tão incrivelmente feio que você literalmente quer vomitar. Mas os olhos normies não conseguem ver isso, eles acham que é assim que a realidade parece e eles estão bem com essa merda, eles permitem que isso aconteça. Os normies literalmente destroem os gráficos do computador por não conseguirem ver corretamente. O que fazer então? A maneira insuportável é simplesmente não fazer nenhuma oclusão de ambiente, teste seriamente como fica e se estiver tudo bem, poupe esforço, desempenho e complexidade. Nos anos 90, não tínhamos essa merda e os jogos pareciam 100 vezes melhores. Você também pode simplesmente assar a oclusão de ambiente nas próprias texturas, seja diretamente na textura de cor ou usar mapas de luz. Observe que isso torna as oclusões de ambiente estáticas e com mapas de luz você precisará de mais memória para texturas. Finalmente, se você realmente tiver que usar SSAO, ao menos use-o bem levemente, há parâmetros que você pode diminuir para torná-lo menos proeminente.


Impulsionado por nada. Todo conteúdo é disponível sob CC0 1.0 domínio público. Envie comentários e correções para Mr. Unix em victor_hermian@disroot.org.