Os videogames modernos podem parecer incríveis, e no passado vimos mudanças sísmicas entre cada console e a geração de placas gráficas. Mas esse não tem sido o caso nos últimos anos, uma vez que os jogos se concentram menos em injetar mais polígonos e fazer atualizações pequenas, mas significativas, com coisas como qualidade de textura, resolução, iluminação e efeitos visuais.
O Ray Tracing parece ser mais um daqueles upgrades aparentemente modestos, mas potencialmente significativos, que atingirão o cenário dos jogos no futuro próximo.
O que é Ray Tracing? É uma maneira muito mais avançada e realista de renderizar luz e sombras em uma cena. É o que filmes e programas de TV usam para criar e misturar incríveis trabalhos de computação gráfica com cenas da vida real. A desvantagem que o Ray Tracing, muitas vezes requer processamentos extensos de servidores para pré-renderizar gráficos. Isso acaba pedindo demais para que um simples console rode em tempo real em uma caixa compacta em sua casa.
Veja o que é HDR e como funciona nos games.
Bem, pelo menos até agora. Na recente revelação sobre as especificações do PlayStation 5, foi dito que o próximo console irá usar o Ray Tracing em seus jogos em tempo real, o que significa efeitos deslumbrantes e mundos muito mais imersivos.
Para entender melhor como funciona o Ray Tracing, é preciso primeiro saber como funciona a atual técnica realizada no mercado atual, a rasterização.
O que é a Rasterização?
Criar uma simulação virtual do mundo ao seu redor que se pareça e se comporte corretamente é uma tarefa incrivelmente complexa – tão complexa que, na verdade, nunca tentamos fazê-la. Esqueça coisas como gravidade e física por um momento e pense em como vemos o mundo. Um número efetivamente infinito de fótons (feixes de luz) desloca-se, refletindo superfícies e passando por objetos, todos baseados nas propriedades moleculares de cada objeto.
Tentar simular ‘infinito’ com um recurso finito como o poder computacional de um computador é uma receita para o desastre. Precisamos de aproximações inteligentes e é assim que a renderização de gráficos moderna (em jogos) funciona atualmente.
Chamamos esse processo de rasterização e, em vez de olhar para objetos, superfícies e fótons infinitos, ela começa com polígonos – triângulos, especificamente. Os jogos passaram de centenas para milhões de polígonos e a rasterização transforma todos esses dados em quadros 2D em nossos monitores.
Isso envolve muita matemática, mas a versão curta é que a rasterização determina qual parte da exibição cada polígono abrange. De perto, um único triângulo pode cobrir toda a tela, enquanto que, se estiver mais distante e visualizado em ângulo, poderá abranger apenas alguns pixels. Depois que os pixels são determinados, coisas como texturas e iluminação também precisam ser aplicadas.
Fazendo isso para cada polígono para cada quadro acaba sendo um desperdício, como muitos polígonos acabam sendo escondidos (ou seja, por trás de outros polígonos). Ao longo dos anos, as técnicas e o hardware melhoraram para tornar a rasterização muito mais rápida, e os jogos modernos podem levar os milhões de polígonos potencialmente visíveis e processá-los a taxas incríveis.
Passamos de polígonos primitivos com fontes de luz “falsas” (por exemplo, o Quake original) para ambientes mais complexos com mapas de sombras, sombras suaves, oclusão de ambientes, mosaicos, reflexos de espaço na tela e outras técnicas gráficas que tentam criar uma melhor aproximação do modo como as coisas devem parecer. Isso pode exigir bilhões de cálculos para cada quadro, mas com GPUs modernas capazes de processar teraflops de dados (trilhões de cálculos por segundo), é um problema tratável.
O que é o Ray Tracing?
Ray Tracing é uma técnica de renderização que pode produzir efeitos de iluminação incrivelmente realistas. Essencialmente, um algoritmo pode rastrear o caminho da luz e depois simular a maneira como a luz interage com os objetos virtuais que atinge no mundo gerado por computador.
Vimos os efeitos de iluminação nos jogos se tornarem cada vez mais realistas ao longo dos anos, mas os benefícios do ray tracing são menos sobre a luz em si e mais sobre como ela interage com o mundo.
O ray tracing permite sombras e reflexos dramaticamente mais realistas, juntamente com translucidez e dispersão muito melhoradas. O algoritmo leva em consideração onde a luz atinge e calcula a interação, assim como o olho humano processaria luz real, sombras e reflexos, por exemplo. A maneira como a luz atinge objetos no mundo também afeta as cores que você vê.
Com suficiente poder computacional disponível, é possível produzir imagens CG incrivelmente realistas, quase indistinguíveis do real. Mas esse é o problema: só um PC de jogos bem equipado tem tanto poder de GPU para trabalhar, imaigina então um console de videogame moderno.
O ray tracing é usado extensivamente ao desenvolver imagens de computação gráfica para filmes e programas de TV, mas isso é porque os estúdios podem aproveitar o poder de toda uma estrutura de servidores (ou computação em nuvem) para fazer o trabalho. E mesmo assim, pode ser um processo longo e trabalhoso. Fazê-lo em tempo real tem sido muito desgastante para o hardware de jogos existente.
Em vez disso, os videogames usam a rasterização, que é uma maneira muito mais rápida de renderizar gráficos de computador. Ele converte os gráficos 3D em pixels 2D para serem exibidos na tela, mas a rasterização exige que os shaders descrevam efeitos de iluminação razoavelmente realistas.
Os resultados simplesmente não parecem tão naturais ou realistas quanto com o ray tracing. Os benefícios dessa tecnologia provavelmente não parecerão individualmente alucinantes, mas os aprimoramentos coletivos podem realmente elevar o realismo dos mundos de jogos interativos.
Quem está trabalhando com o Ray Tracing?
A Microsoft é o maior peixe nessa nova lagoa de ray tracing de vídeo, como a empresa anunciou o DirectX Raytracing (DXR) na DirectX 12 API. Eles criaram a estrutura para a introdução e computação de raios no mundo e tornaram possível que os desenvolvedores comecem a experimentar a tecnologia para ver o que é possível em seus mecanismos de jogo.
E eles não estão sozinhos: a Microsoft tem trabalhado com vários dos maiores fabricantes de jogos e criadores de mecanismos de jogo do mundo para ajudar a introduzir o rastreamento de raios nos jogos para PC. Os motores Frostbite e SEED da Electronic Arts serão compatíveis, juntamente com o onipresente motor Unreal Engine e Unity visto em toda a indústria.
Os criadores também podem começar imediatamente, graças a um DXR DXR experimental disponível agora.
Trazer o ray tracing para a vida nos jogos requer incrível poder de GPU, portanto, sem surpresa, a Nvidia também está liderando a carga. A tecnologia RTX da empresa aproveita uma década de trabalho em algoritmos gráficos e GPUs, e eles estão trabalhando em estreita colaboração com a API DXR da Microsoft para acelerar rapidamente os desenvolvedores.
De acordo com a Nvidia, “algoritmos com qualidade de filme” e atualizações em sua GameWorks API fornecerão iluminação, reflexos, sombras e efeitos relacionados com um nível de fidelidade inédito. E as GPUs da Volta da Nvidia serão compatíveis, é claro.
E a AMD também não será deixada para trás. Eles ainda não compartilharam tanto quanto a Nvidia, mas anunciaram recursos de “ray tracing em tempo real” através do mecanismo de renderização ProRender e do Radeon GPU Profiler 1.2.
Como os jogos ficarão com o Ray Tracing?
A tecnologia não é nova, ela tem sido usada durante muito tempo em estúdios de cinema e em produções de série de TV. O recurso é apenas inédito nos consoles.
A NVidia já tem adotado essa tecnologia no PC por meio das suas placas de vídeo mais recentes. No seu canal do YouTube, ela apresenta as melhorias que o ray tracing pode oferecer aos jogos da geração atual. Abaixo segue uma demonstração de RAGE 2 usando a tecnologia e uma demonstração de Metro Exodus.
Nos vídeos é possível notar melhores reflexos e melhores refrações de luz sobre os objetos. Notando os efeitos de raios de luz, como ele age nos objetos do cenário e como as poças de água refletem a luminosidade, é fácil perceber o ganho de realismo que ray tracing pode proporcionar aos consoles de próxima geração.
Abaixo você pode ver um vídeo impressionante desenvolvido especialmente para mostrar a tecnologia:
Ray Tracing no PlayStation 5
Com GPU Radeon Navi já confirmada no PS5, o ray tracing provavelmente formará uma grande frente na batalha entre a Microsoft e a próxima geração de hardware de jogos da Sony. A Sony já confirmou que o PS5 suportará o ray tracing, enquanto no PC já é um ponto importante na guerra da GPU entre a AMD e a Nvidia, com a Nvidia diferenciando seus produtos com um foco distinto no recurso.
Então resta esperar e ver os novos jogos baseados e desenvolvidos com essa tecnologia em mente quando o PlayStation 5 for anunciado em 2020. E aí, ansioso pela próxima geração?
0 Comentários