Passar para o conteúdo principal

Um olhar ao ray tracing na PS5 em Marvel's Spider-Man Remastered

Como um dos principais estúdios da Sony está a usar a tecnologia.

Estamos finalmente a ver mais dos jogos de lançamento da PlayStation 5 e a Insomniac revelou o primeiro olhar aos efeitos ray tracing acelerados por hardware em Marvel's Spider-Man Remastered e Marvel's Spider-Man: Miles Morales. É evidente uma grande melhoria nos reflexos, desde o mais alto do arranha-céus até à mais pequena das poças, mas a revelação gerou discussões. Foram destacados vestígios e compromissos, alguns sugeriram que nem sequer é usada ray tracing. A realidade é óbvia, RT por hardware é uma funcionalidade emergente nas novas consolas que os estúdios ainda estão a conhecer, é exigente em termos computacionais por isso são inevitáveis os compromissos. O que vemos aqui é muito impressionante, quando comparado com similares implementações híbridas no PC.

Em termos de Spider-Man na PS5, existem dois modos de jogo, modo a 4K a 30fps e um modo performance a 60fps. O primeiro usa reflexos RT, mas a oclusão ambiental RT também está a caminho. Isto é mais difícil de identificar nas imagens ou vídeos, mas no geral, a oclusão ambiental adiciona sombras para simular o efeito escurecido no cantos onde a fonte de luz não é tão forte. Do que vi dos vídeos, o modo 60fps mantém os reflexos screen-space de Spider-Man na PS4, a principal limitação é que apenas o detalhe na perspetiva da câmara é refletido, gerando descontinuidade visual. Os reflexos nos arranha-céus reduzidos a aproximações baseado em mapas cúbicos capturados que mudam de acordo com a altura.

A RT é uma melhoria reveladora aqui, mas alguns não ficaram impressionados. É verdade que a resolução dos reflexos RT é menor, talvez um quarto da resolução da imagem principal. Outros não ficaram impressionados pois alguns objetos no ecrã não são representados nos reflexos, argumentando que o que vemos não pode ser RT. Além disso, as folhas nas árvores parecem muito reduzidos e os reflexos não englobam as sombras. Para mim, tudo isto faz sentido e não surpreende. O que vemos em Spider-Man é simplesmente o facto da RT ter múltiplos passos sensíveis à performance os programadores têm um orçamento de renderização limitado para a RT. Tentamos racionalizar isto em 4 passos distintos.

Marvel's Spider-Man na PS5 e a sua implementação RT.Ver no Youtube

O primeiro passo reconhece que os reflexos RT são baseados na luz que pode vir de qualquer direção, de áreas que não estão no ecrã e podem até estar distantes. As implicações para a performance já se começam a amontoar, o jogo precisa gerar uma versão facilmente percetível da cena contra a qual testar a ray tracing. Quanto maior e mais detalhado, mais tempo GPU será necessário para a gerar.

O segundo passo é a RT em si, onde os raios são disparados para a estrutura definida no primeiro passo. Mapear eficazmente colisões contra a geometria, todos os objetos na cena têm múltiplas caixas invisíveis de tamanhos crescentes à sua volta. Os raios disparados para a cena movem-se por estas caixas até acertarem numa que contém geometria. Quantos mais raios, mais colisões, quanto mais detalhada a geometria, mais longo é o processo. É este passo que é acelerado por hardware.

O próximo passo é sobre sombrear pixels onde um impacto foi registado. Resumindo, isto significa dar sombra ao impacto ou escolher a cor de um pixel, tal como pintar eficazmente o vidro num arranha-céus, por exemplo. Quanto mais impactos para sombrear, mais complexo será o processo e mais tempo demorará para a GPU o completar. Como a contagem de raios é limitada, o resultado final tem muito ruído e é preciso limpá-lo. Isto leva-nos para o último passo, onde é removido o ruído do raio, basicamente, são usados algoritmos inteligentes para preencher os espaços vazios, criando um reflexo mais convincente.

Mesmo com aceleração por hardware no passo da ray tracing em si, isto exige imenso da GPU e são necessários compromissos. É por isso que os reflexos de Spider-Man têm uma resolução inferior, corta dramaticamente o número de raios, acelerando todo o processo. No vídeo nesta página, eu uso a excelente implementação RT de Ghostrunner que opera com o Unreal Engine 4, para dar uma ideia do porquê existirem estes compromissos. A conclusão é que mesmo numa cena simples, descer para um quarto da resolução os reflexos RT melhora a performance em 28% numa RTX 2060 Super, subindo para 58% em cenas mais exigentes. Isto explica o porquê dos reflexos de Spider-Man não correrem na mesma resolução.

Um olhar aos vários tipos de RT por hardware usados na apresentação da Sony.Ver no Youtube

Quanto ao porquê de certas personagens e objetos não surgirem nos reflexos, isto também é uma otimização da performance. Voltando ao primeiro passo, onde é construída a estrutura da cena, é compreensível que quanto mais simples a cena e menos objetos dinâmicos existirem na cena, melhor será a performance. No entanto, simplificar a cena poderá ser contra produtivo. Pop-in em elementos como arranha-céus podem matar a ilusão do reflexo, por isso são necessários ajustes, o triunfo da performance poderá ser equilibrado até certo ponto com um aumento no detalhe em outras áreas. Provavelmente, é por isto que as folhas nos reflexos estão inferiorizadas em Spider-Man, as transparências (as folhas contam aqui) ou partículas são muito pesadas para renderizar em RT, por isso faz sentido as reduzir. Também poderás notar que elementos como nevoeiro ou fumo não estão nos reflexos, é pelo mesmo motivo.

Também vimos comentários a sugerir que isto não é 'verdadeira' RT, citando a demo Minecraft DXR na Xbox Series X da Microsoft como RT feita 'como deve ser'. A verdade é que são duas abordagens totalmente diferentes à RT e o imponente rastreio em Minacraft DXR apenas é possível devido à natureza básica de Minecraft em si (sem esquecer que corre a 1080p nativa). Spider-Man combina de rastreamento e estratégia, uso eficiente de RT acelerada por hardware para embelezar um jogo existente e vemos uma estratégia similar noutros jogos. Ratchet and Clank: A Rift Apart da própria Insomniac, Devil May Cry 5 Special Edition da Capcom faz o mesmo e oferece modos de qualidade e performance. Gran Turismo 7 é fascinante pois corre a 60fps, a Polyphony Digital toma os seus próprios compromissos pois os reflexos RT são apresentados numa resolução inferior e num efeito estilo checkerboard.

Tudo isto para dizer que estamos nos primeiros dias da RT e estamos a ver aplicações rápidas da tecnologia. De qualquer das formas, estou muito confiante que assim que surgirem as comparações para os reflexos RT em Spider-Man, será auto evidente o quão melhor ficam o aspeto do jogo comparado com o que vimos na PS4 e acredito até com o modo performance na PS5. Num nível geral, estou entusiasmado por ver ray tracing acelerada por hardware numa consola, algo que ainda parecia fantasia quando chegaram as GPUs Turing da Nvidia em 2018. Além disso, o facto de estarmos a ver tanto suporte em jogos de lançamento também é espantoso. Existem mais motivos para otimismo, o que vemos em Spider-Man é apenas o início, é uma versão de primeira geração. Já vimos imensas melhorias nas funcionalidades e performance RT no PC e com um nível de baixo acesso disponível nas consolas, estou ansioso por ver a tecnologia evoluir ao longo desta geração.

Lê também