Ray Tracing… precisaremos realmente dele?

A questão do Ray Tracing tem vindo a ser cada vez mais abordada, e certamente nos próximos anos este será usado mais extensivamente. Mas será que precisamos mesmo de hardware dedicado para ele? E mais ainda, precisamos mesmo dele?

Os novos GPUs Nvidia trouxeram algo de novo ao mercado, nomeadamente os aceleradores de Ray Tracing que são os RT Cores. Estes aceleradores são inegavelmente uma adição interessante, mas estão longe de terem todo o atractivo uma vez que são algo reservado aos GPUs de topo.

Isso quer dizer que, com um mercado a possuir GPUs dos mais diversos tipos, todos eles alcançáveis pelo mercado dos videojogos, a falta de uniformidade cria uma divisão que não permite a utilização destes RT cores de forma estandardizada. Basicamente o Ray Tracing ou é um extra que apenas está disponível nestes GPUs ou, no caso de se querer inserir o mesmo de forma mais complexa no motor de jogo, ele terá de ter um “fallback” software que possa permitir ser executado com performances decentes em GPUs com capacidade de processamento genérico (GPGPU).

As demonstrações realizadas com os GPUs dotados com RT cores da Nvidia deixam certamente agua na boca a muitos, pela qualidade apresentada. Mas infelizmente, apesar da sua qualidade, as performances deixam muito a desejar, com os GPUs Nvidia a conseguirem resoluções de apenas 1080p.

Eis uma das demos tecnológicas da Nvidia que demonstram o uso do Ray Tracing:



Ver este nível de fidelidade gráfica deixa certamente muitos a questionar-se sobre o que poderão realizar GPUs sem a presença de núcleos RT.

Será que alguma vez poderemos criar algo semelhante numa futura PS5 ou Xbox Next?

A resposta a essa questão foi dada recentemente com o lançamento da demo tecnológica Neon Noir que colocamos de seguida.

A demo que vão ver encontra-se a correr num GPU Vega 56, e a 4K!



A versatilidade do uso do GPGPU é deveras superior ao uso dos RT Cores. Não só a nível de resolução como de possível integração com o motor de jogo. Infelizmente as performances nunca serão ao nível do conseguido com os RT Cores, mas como é possível ver-se em cima, os resultados num GPU mais tradicional podem ser excelentes.

Um outro exemplo surge na demo The Herectic criada para executar Ray Tracing usando processamento genérico:

Basicamente o que vemos é que o Ray Tracing por hardware, apesar de ser um excelente auxiliar a nível de performance, não é realmente uma necessidade para visuais estonteantes, sendo que uma certa quantidade de Ray Tracing pode ser conseguido pelo pipeline de computação clássico dos GPUs, dando aos jogos um efeito já mais realista.

Mas o que conta, no fundo, é o resultado final, sendo que o utilizador pouco lhe interessa se o que vê é em tempo real ou pré-cozinhado. Um exemplo pode ser dado relembrando um jogo de primeira geração da PS4. Não é ray tracing, podia ser mais realista, mas é um jogo com 6 anos, e num sistema com 1,84 Tflops que mete muita, muita vista. E basicamente, sendo bonito, mais efeito menos efeito deixam de ter tanto significado.

Deixo-vos com algum algum Ray tracing real na PS4 em Killzone:Shadowfall:

Deixo-vos com uma demo apresentada na GDC 2019, onde podemos ver aquilo que só podemos considerar como Foto-realismo. Mas a demo não possui qualquer tipo de aceleração moderna para o cálculo de luz, tendo sido realizado com o Unreal Engine 4.21. O suporte ao DirectX Raytracing e aos RT cores da Nvidia apenas surgiu na versão 4.22,