A opção me confundiu onde eu tinha a escolha entre SSAO, HBAO e HDAO em Far Cry 3.
Bater no google não realmente me deu qualquer resposta nem habilitou cada opção e comparou os resultados. Aparentemente, sou cego ou algo assim.
Em primeiro lugar, qual é a MELHOR qualidade? Em segundo lugar, qual é a real diferença entre essas opções?
Comentários
- Só para que todos saibam o que é: SSAO significa Screen Space Ambient Occlusion , HBAO = Horizon-Based Ambient Occlusion e, finalmente, HDAO NÃO é a Highland Dancers Association of Ontario (esse foi meu primeiro resultado do Google). HDAO é Oclusão de ambiente de alta definição . Essencialmente, diferentes modos de renderização.
- Dito isso, a MELHOR qualidade é subjetiva. Eu recomendo que você remova essa parte, pois cada um terá sua própria opinião. A segunda pergunta, porém, deve ser respondida.
- Posicionar-se de forma que um objeto esteja na frente de um objeto plano (por exemplo, uma pessoa na frente de uma parede) e alternar entre as 3 opções deve torná-lo bastante óbvio se você olhar para a borda da silhueta do objeto em primeiro plano. Na minha opinião, AO parece muito ruim em Far Cry 3, não importa qual opção você use, com um impacto considerável no desempenho. Desativei completamente editando Meus Documentos > Meus Jogos > Far Cry 3 > GamerProfile e alterando a entrada SSAO para 0. (Qualquer ajuste no jogo para as configurações irá redefini-lo – então é melhor tornar esse arquivo somente leitura depois. Mais rápido e melhor, imo
Resposta
H * AO oferece melhor qualidade, mas com um aumento no desempenho.
SSAO é menos preciso, mas melhora a qualidade da imagem com um desempenho muito menor penalidade.
Se você for usar H * AO, pelo que entendi, você deve selecionar HDAO se tiver uma placa ATI ou HBAO se tiver uma placa nVIDIA.
HBAO e HDAO são essencialmente a mesma coisa, mas diferentes implementações específicas do fornecedor.
Aqui estão algumas capturas de tela do BF3 que podem ajudar: http://www.reddit.com/r/gaming/comments/kwjtw/my_battlefield_3_screenshot_comparison_ssao_vs/
Eu recomendo usar o link que eles fornecem aqui: e usando as teclas do cursor para alternar rapidamente entre as 3 capturas de tela.
Você deve ser capaz de identificar rapidamente onde o sombreamento está ocorrendo entre nenhum, SSAO e HBAO.
Observe as áreas onde os objetos se cruzam. Por exemplo, onde o chão encontra a parede, onde um pilar encontra o teto, os arbustos, os pedaços de entulho no chão.
Tomei a liberdade de pegar uma das fotos e destacar as áreas que você deve estar olhando enquanto vira para frente e para trás.
Você notará que o SSAO escurece nessas mesmas áreas, mas é MUITO menos pronunciado.
Comentários
- Eu não ‘ t diga que SSAO é MUITO menos pronunciado. Sinceramente, não ‘ não noto uma grande diferença entre SSAO e H * AO, mas o impacto no desempenho pode ser bastante perceptível.
- Existem outras imagens nisso reddit post / flickr set que melhor mostra HBAO ‘ s melhoria de qualidade em relação ao SSAO – notavelmente que em muitas das fotos internas (mas não a mostrada acima) SSAO lançará o AO “fuzzy sombras ”diretamente atrás de um pilar (oposto ao jogador / câmera) enquanto o HBAO lançará o AO para o chão e para o teto, onde ele pertence. Para um jogo em que determinar se um detalhe distante é outro jogador ou um acaso da iluminação, acho que os jogadores iriam jogar sobre o HBAO do que o “Não posso ‘ ver a diferença ”reações que parecem comuns.
- @Sasha Chedygov Além disso, lembre-se de que isso aparecerá de forma diferente nas marcas de monitores, bem como na configuração. (brilho, contraste, gama, etc.)
Resposta
Primeiro, a oclusão do ambiente do espaço da tela não é um efeito fisicamente baseado em tudo, então não há argumento de realismo . A teoria do efeito basicamente afirma que
qualquer superfície que não seja coberta (opcionalmente a uma certa distância) é iluminada
Mesmo se raytraced, é apenas uma maneira rápida e suja de destacar pequenos detalhes em modelos.
Em segundo lugar, todas as técnicas em questão são apenas iterações do SSAO; todos eles funcionam como um pós-processo, depois que a cena foi renderizada. Isso significa que os shaders precisam fazer algo mágico para produzir algo preciso com poucas informações que permanecem após a rasterização.
SSAO
Esta é a técnica mais antiga. Ela assume que qualquer pixel dentro de um determinado raio do espaço da tela é um possível oclusor.Isso é aproximadamente aproximado pelo cálculo da diferença do buffer Z (profundidade) borrado e original e resultado do escurecimento se a versão borrada tiver um valor maior.
A armadilha dessa abordagem é que ela escurece falsamente e falha em detectar certos recursos. Você terá que dar uma boa olhada neste pilar, mas notará que, embora o teto seja falsamente sombreado nas laterais, ele não é afetado na junção.
Este artigo tem mais alguns exemplos gráficos.
HBAO
Este algoritmo tenta resolver problemas de SSAO. Fá-lo usando mais informações, nomeadamente o mapa normal. Em vez de procurar oclusores ao redor de um pixel no espaço da tela, ele tenta restaurar pequenos pedaços da cena e fazer uma aproximação mais informada do brilho que deveria estar lá.
Você pode notar esse teto com muita clareza voltado para baixo , também, o pilar é mais escuro no topo.
Um artigo da NVIDIA tem mais alguns detalhes sobre ele.
Conclusão
HBAO é um algoritmo mais recente, ele produz aproximações muito mais próximas de … uma aproximação.
As imagens são fragmentos destes capturas de tela .
Comentários
- “produz aproximações muito mais próximas de …” radiosidade . Seria a palavra correta. Chamar a radiosidade de “aproximação” é semelhante a chamar a física de rede de uma aproximação – no contexto da física moderna, então sim, é uma aproximação; mas no contexto da percepção humana, não, a física newtoniana e a renderização de luz de radiosidade são tão reais quanto reais. Este é um jogo projetado para o propósito de percepção humana, não um software para simulação precisa de partículas.
- @ SlippD.Thompson claramente você ‘ ainda não jogou meu simulação em tempo real da precessão de Mercúrio. Você dirige um planeta!
- @RobertGrant eu não ‘ t. Ligação? robertgrant.org parece estar fora do ar.
Resposta
A resposta de k1DBLITZ “ implica que:
- HBAO e HDAO têm a mesma aparência
- Eles têm um impacto semelhante na taxa de quadros
Isso pode ser verdade para Battlefield 3, mas não é o caso em Far Cry 3.
Minha resposta é baseada no que eu experimentei no jogo, bem como em este artigo do HardOCP .
Quais são as diferenças entre SSAO, HBAO e HDAO no Far Cry 3?
Existem são as diferenças em como eles funcionam, sua aparência e como eles afetam a taxa de quadros. Não vou detalhar como eles funcionam.
SSAO
SSAO cria sombras nas bordas de objetos, às vezes incorretamente (ou seja, ao redor das bordas de objetos que não estão próximos uns dos outros).
HBAO
HBAO resulta em sombreamento menos incorreto do que SSAO, mas às vezes é muito pronunciado (é ainda mais escuro do que SSAO em algumas áreas), especialmente ar ound grama, folhas e flores.
Quanto ao impacto na taxa de quadros, é virtualmente idêntico ao SSAO em placas AMD, e até um pouco mais rápido do que SSAO em placas Nvidia.
HDAO
HDAO é mais sutil que SSAO e HBAO. É provavelmente o mais preciso, porque há muito menos escurecimento incorreto.
Escolher HDAO em vez de SSAO ou HBAO resulta em uma pequena queda na taxa de quadros nas placas AMD e significativa nas placas Nvidia.
Qual parece o melhor?
A resposta a esta pergunta é subjetiva. HDAO é provavelmente a opção de aparência mais realista em Far Cry 3. No entanto, algumas pessoas podem preferir SSAO, pois resulta em uma imagem mais contrastada, que pode ser mais atraente para os olhos.
Resposta
HBAO também implica o uso de técnicas de plano de imagem do olho para simular as diferenças no tamanho da íris ao olhar de certos níveis de luz para outros níveis de luz.
HDAO não faz isso.
Comentários
- Olá Squall – Você pode querer considerar a edição desta resposta para trabalhar sem o contexto de a resposta acima dela. As respostas nem sempre ficam na mesma ordem em que foram dadas, por isso ‘ é melhor se estiverem isoladas.