
Metro Exodus lançou na sexta-feira passada. O mais recente jogo de tiro em primeira pessoa da 4A Games é mais uma vez outro grande título que já está se saindo bem, de acordo com os primeiros números de vendas do Reino Unido.
Mais uma vez, a 4A Games ofereceu um jogo tecnicamente avançado, o qual possui suporte as tecnologias NVIDIA DLSS (Deep Learning Super-Sampling) e RT (ray tracing) no PC, se você possui uma placa GeForce RTX. Embora o DLSS tenha sido criticado no jogo por sua qualidade de imagem borrada (embora a NVIDIA tenha prometido que melhorias chegarão em breve), a implementação do ray tracing no jogo é a melhor que já vimos.
A Digital Foundry da Eurogamer postou uma enorme entrevista com os desenvolvedores ontem, onde discutiram todas as várias melhorias feitas na engine para Metro Exodus. Com relação à possibilidade do ray tracing se tornar disponível em um hardware sem núcleos especializados de ray tracing, como os consoles da próxima geração, por exemplo, o Programador de Renderização Ben Archard disse que núcleos de computação rápidos também são uma possibilidade.
Isso realmente não importa – seja hardware dedicado ou apenas poder computacional suficiente para fazê-lo em unidades de shader, acredito que seria viável. Para a geração atual – sim, múltiplas soluções é como deve ser feito.
Esta também é uma questão de por quanto tempo você dá suporte a um hardware de PC. Uma GeForce GTX 1080 não é uma placa ultrapassada, em consideração ás pessoas que compraram uma no ano passado. Então, essas placas levam alguns anos para serem descartadas e para que o RT se torne totalmente mainstream. E, obviamente, na atual geração de consoles, precisamos ter o voxel GI na engine, além do novo ray tracing. Ray tracing é o futuro dos jogos, então o foco principal agora está no RT.
Em termos da viabilidade de ray tracing nos consoles da próxima geração, o hardware não precisa ter especificamente núcleos RTX. Esses núcleos não são a única coisa que importa quando se trata de ray tracing. Eles são hardware de função fixa que aceleram os cálculos especificamente relacionados aos testes de interseção da BVH. Esses cálculos podem ser feitos em computação padrão se os núcleos do computador forem numerosos e rápidos o suficiente (o que acreditamos que eles serão nos próximos consoles). Na verdade, qualquer GPU que esteja executando o DX12 será capaz de “executar” o DXR, já que o DXR é apenas uma extensão do DX12.
Outras coisas que realmente afetam a rapidez com que você pode fazer o ray tracing é um algoritmo de geração BVH realmente rápido, o qual será gerenciado pelas principais APIs; e memória realmente rápida. Uma coisa desagradável que o ray tracing faz, ao contrário de algo como o SSAO, é acessar aleatoriamente a memória. O SSAO pegará uma carga de dados de texel de uma área local no espaço de textura e, devido à maneira como essas texturas são armazenadas, há uma boa chance de que esses texels estejam bem próximos (ou adjacentes) na memória. Além disso, o SSAO para o próximo pixel irá funcionar com praticamente o mesmo conjunto de amostras. Então você tem que carregar muito menos da memória, porque você pode armazenar em cache muitos dados.
Trabalhar com dados que estão no cache acelera as coisas de uma forma ridícula. Infelizmente, o ray tracing não têm esse mesmo nível de coerência. Eles podem acessar aleatoriamente praticamente qualquer parte do conjunto de geometria, e o ray tracing dos próximos pixels pode estar capturando dados de uma localização igualmente aleatória. Portanto, por mais que um hardware especializado para acelerar os cálculos do ray tracing seja importante, núcleos de computação e memória rápidos que permitem obter rapidamente os dados de volume vinculados também é um caminho viável para a realização de RT em tempo real.
Provavelmente saberemos mais sobre a viabilidade do ray tracing via computação quando a AMD revelar mais detalhes sobre a arquitetura da GPU Navi, que se acredita ter sido escolhida pela Sony e pela Microsoft para ser usada em seus próximos consoles.