Como funciona o Ray Tracing nas placas de vídeo da NVIDIA

Ray tracing não é nada novo. A complexa técnica de renderização de imagens 3D já tem algumas décadas de vida, mas vamos focar em sua implementação mais moderna e que está acessível a milhões de jogadores nos jogos. A tecnologia é uma técnica de iluminação, reflexo e sombras realistas, consideravelmente superior ao método de rasterização usado há décadas nos games.

  • Clique e siga o Canaltech no WhatsApp
  • O que é ray tracing?
  • Entenda a nomenclatura das placas de vídeo Nvidia GeForce

 

Em jogos, a história do Ray Tracing precisa ser vinculada à NVIDIA, já que a companhia é a pioneira em placas de vídeo para processar essa tecnologia com a introdução da série GeForce RTX com as GPUs RTX 20, tornando possível rodar títulos com a implementação de ray tracing via hardware.

O que é Ray Tracing?

Ray tracing é uma técnica de cálculo para simular o caminho de elementos como partículas, pontos de luz e até mesmo ondas sonoras. Ela surgiu na década de 1980, mas focada em imagens que não eram renderizadas em tempo real — diferente de como é feito hoje em dia. Houve algumas exceções, como a demo do console Amiga em 1987 , que mostra um malabarista com bolas de vidro que refletiam o personagem, algo bastante impressionante para a época.


Entre no Canal do WhatsApp do Canaltech e fique por dentro das últimas notícias sobre tecnologia, lançamentos, dicas e tutoriais incríveis.

 

Além disso, os traçados de raios, como é chamado em português, também são amplamente usados em computação gráfica, especialmente na indústria cinematográfica. Mas, nesse, caso, estamos falando de um resultado pré-renderizado, já que todo o processamento é feito no pós-produção dos filmes, diferentes dos jogos, onde o efeito é processado na hora, ou seja, em tempo real, se tornando ainda mais complexo de ser executado.

A tecnologia, assim como ainda é hoje, era bastante exigente a nível de hardware. O surgimento moderno em jogos aconteceu justamente pela viabilidade no processamento dessa técnica de renderização com a chegada da linha GeForce RTX de placas de vídeo da NVIDIA.

Processamento de Ray Tracing com as GPUS NVIDIA

A execução do ray tracing é uma mistura de dois lados importantes que se complementam: software e hardware. O primeiro é a implementação a nível de aplicações, sejam elas jogos ou animações, com o hardware acelerando a execução dessas tarefas tanto na hora da criação pelos desenvolvedores, quanto com o resultado final visto pelo usuário.

Núcleos RT e Tensor

A estrela das placas de vídeo GeForce RTX são os núcleos RT, também chamados de núcleos RTX, responsáveis pelo processamento complexo de traçado de raios nos jogos e em aplicações que fazem uso dessa tecnologia.

Esses núcleos chegaram com as RTX 20 em 2019 e foram aprimorados até a terceira geração presente nas GPUs baseadas em Ada Lovelace (RTX 40), atual série da NVIDIA. Consequentemente, essas placas de vídeo são as que entregam maior desempenho em ray tracing, com salto significativo sobre as RTX 30 e grande distância sobre as rivais AMD Radeon.

As GPUs GeForce RTX 40 conta com a terceira geração de núcleos Tensor e RT (Imagem: NVIDIA/DIvulgação)

As GPUs GeForce RTX contam ainda com os núcleos Tensor, voltados para o processamento de IA. No caso das tecnologias da NVIDIA, esses núcleos processam o upscaler DLSS, que funciona baseado em aprendizado de máquina (machine learning), além da tecnologia Ray Reconstruction do DLSS 3.5, entregando maior qualidade gráfica em relação ao AMD FSR e Intel XeSS.

Importância dos CUDA cores para ray tracing

Apesar dos RT cores serem a estrutura principal quando falamos de processamento de ray tracing, as placas de vídeo GeForce RTX também fazem uso de outras estruturas, como os conhecidos CUDA cores, presentes nas GPUs da NVIDIA desde 2006 com a série 8000.

Alexandre Ziebert, representante técnico da NVIDIA no Brasil, conversou com o Canaltech para explicar que esse núcleos “generalizados”, que são responsáveis pela geometria, texturas, sombras e outros elementos em um jogo, exercem papel importante no processamento de ray tracing:

“Para o traçado de raios, os CUDA cores precisam carregar aquela textura, achar aquele pixel, rodar um teste para determinar se ele é transparente ou não, se o raio vai continuar ou não, e daí você volta para o processo e continua traçando. Para evitar, ou pelo menos facilitar tudo isso, os RT cores da série RTX 40 da arquitetura Ada Lovelace já estão preparados para ter essa informação adicional. Então, as texturas de uma folha, por exemplo, vão passar por um pré-processamento que vai fazer um mapa da textura, que por sua vez adianta, dizendo: ‘olha, você bateu aqui, esse pixel é transparente, pode ir embora'”.

Memória de vídeo (VRAM)

Outra parte importante no processamento de ray tracing é a memória de vídeo, também conhecida como VRAM. Existe um maior consumo de memória, dependendo do nível da implementação e da complexidade do jogo, além da resolução na qual o jogo está rodando.

“Normalmente, não é muita coisa, porque você precisa, por exemplo, de espaço para BVH, que é a estrutura de dados otimizado onde é feito o traçado de raios. Depende do tamanho do jogo, obviamente, mas estima-se algo na casa de uns 200 a 400 MB”, afirma Alexandre Ziebert.

Por outro lado, quando falamos da implementação total do ray tracing, o Path Tracing, a exigência se torna maior em todos os aspectos. Um exemplo citado por Ziebert é Indiana Jones e o Grande Círculo, que, se o jogador escolher quiser o maior realismo de sombras e reflexos com Path Tracing, precisa ter uma placa de vídeo com 12 GB mesmo em 1080p, já que a opção nem mesmo fica disponível em GPUs com menos VRAM.

“Você tem outros detalhes também que acabam, digamos, colaborando para esse aumento de memória. Então você tem que ter as texturas de resolução mais alta, precisa de mais espaço, não só para o traçado de raios em si, mas também para manter aqueles buffers por mais tempo na memória, ou buffers de maior resolução”, explica.

Memória de vídeo tem importante papel na execução de Ray Tracing (Imagem: ASRock/Divulgação)

Em outros jogos, como Cyberpunk 2077, que também tem a implementação do Path Tracing, é possível rodar o game com tudo no máximo em uma RTX 4060, por exemplo, que tem 8 GB de VRAM e conta com a geração mais atual dos núcleos RT. Mas, nesse caso, ainda é necessário o auxílio do NVIDIA DLSS com upscaling e frame generation para a amenizar o uso de memória de vídeo do processamento em geral.

Ray Tracing começa pelo desenvolvimento

Vimos os destaques das tecnologias de placas de vídeo GeForce RTX e como elas são importantes para o processamento de ray tracing, que acontece primeiro a nível de hardware com a implementação da tecnologia em software, além dos motores, APIs e drivers que precisam dar suporte a tecnologia.

Auxílio da NVIDIA no suporte a implementação do Ray Tracing em jogos

Ray tracing é adicionado aos jogos pelos desenvolvedores, mas a NVIDIA auxilia os estúdios nesse processo, caso eles queiram: “Dentro da NVIDIA, temos o departamento de DevTech, a área com os engenheiros que desenvolvem essas tecnologias, que ajudam os estúdios, tanto em otimização quanto para não só implementar as tecnologias, como criar novas também”, explicou Ziebert à reportagem do Canaltech.

“Uma coisa muito legal é ver quando as coisas casam. Então, por exemplo, temos um efeito aqui muito bacana que faz super sentido com esse jogo, como é o caso do Alan Wake 2, por exemplo. O jogo tem uma iluminação que é parte da narrativa, parte da história do jogo. Por isso, implementar Path Tracing nesse jogo foi onde essa combinação se mostrou fundamental. O trabalho vem também nesse sentido. Além de, obviamente, otimização para desempenho, ajudar a corrigir bugs, esse tipo de coisa.”

Ray Tracing permite reflexos mais realistas, mas custando muito à GPU (Imagem: NVIDIA/Divulgação)

Além disso, existe a otimização via driver por parte da NVIDIA. Alexandre Ziebert explica que muito da responsabilidade fica por conta dos desenvolvedores por conta de APIs de baixo nível, como é o caso do DirectX 12, que oferece suporte a implementação do ray tracing.

Mas a NVIDIA ainda tem papel importante nesse aspecto encontrando bugs, otimizações que precisam ser feitas e quando são possíveis de serem executadas por eles. Quando não é o caso, o Time Verde indica aos estúdios possíveis ajustes que tenham a ver com a engine ou o código do jogo.

Engines de ray tracing

Existem diferentes motores para trabalhar com ray tracing na indústria e nos diferentes segmentos, como games, filmes e softwares de arquitetura, por exemplo. “Cada engine, às vezes, tem a sua solução própria. Unreal tem o Nanite, a engine do Forza tem o seu, o Snowdrop tem o seu…”, comenta Ziebert.

A própria NVIDIA tem algumas soluções, como OptiX, Iray e o próprio DXR que funciona com as APIs DX12 e Vulkan, cada uma oferecendo uma forma distinta e, às vezes, complementares de criação de assets com Ray Tracing.

Ziebert explica que a NVIDIA tem um “branch” para a Unreal Engine, que é o motor gráfico mais usado do mundo em jogos. Porém os desenvolvedores têm liberdade para escolherem como aplicarão a técnica em suas próprias engines, manipulando o que a NVIDIA já disponibiliza na engine da Epic Games, ou mesmo usando o Nanite.

Técnicas de Ray Tracing

Apesar do ray tracing aparecer com mais frequência quando falamos desse tipo de tecnologia, existem ainda outras técnicas de renderização que proporcionam diferentes formas de implementação de raios em cenas.

Ray Casting

Um dos métodos mais simples e antigos, o Ray Casting consiste em “lançar” raios a partir da perspectiva de quem o vê, como o jogador, em dados bem simples, como uma árvore, a transformando em uma projeção 3D como resultado final. Um exemplo bastante antigo e percussor da aplicação dessa técnica em jogos é Wolfenstein 3D, de 1992.

Ray Marching

O princípio é o mesmo das outras técnicas. Raios são lançados da perspectiva da câmera para cada pixel, avaliando o comportamento desses raios durante o processo para, então, observar se existe um cruzamento dos feixes de luz em um objeto. Se essa avaliação for positiva, é aí que o pixel é de fato desenhado. É comumente usado em edição de foto, mas também pode criar cenas do zero.

Path Tracing

Conhecido também como a implementação completa do ray tracing, o Path Tracing adiciona iluminação, reflexos e sombras ao mesmo tempo em um jogo. A técnica existe há muitos anos, com uma das primeiras implementações mais conhecidas acontecendo no filme Vida de Inseto, de 1998.

Em games, foi necessário esperar a chegada de poder computacional suficiente para processar esta que é a técnica mais complexa de traçado de raios, já que incorpora diferentes elementos de uma só vez. As GPUs NVIDIA GeForce RTX, mais especificamente com a série RTX 40, viabilizaram o processamento do Path Tracing.

 

Existem diferentes jogos que incorporam a tecnologia, com os já citados Cyberpunk 2077 e Indiana Jones, mas temos também Alan Wake 2, entre outros, todos bastante exigentes quando rodam com a técnica, sendo necessário placas de vídeo RTX realmente fortes.

Quais GPUs NVIDIA suportam ray tracing?

Em teoria, GPUs com suporte a API DirectX 12, onde se encaixa a extensão DXR, permitindo o uso de Ray Tracing em jogos nessa biblioteca de instruções, conseguem rodar games com ray tracing ativado. Mas, na prática, somente as GPUs GeForce GTX 10 e GTX 16, únicas séries de GPUs da NVIDIA não RTX, conseguem executar jogos com RT, mas a nível de software.

Isso significa que essas placas de vídeo conseguem rodar ray tracing, mas de forma bastante limitada, já que não possuem hardware (núcleos RT, por exemplo) específico para isso, fazendo com que o desempenho de uma GTX 1080 Ti, GPU topo de linha dessa geração, perca para uma RTX 2060, a GPU mais básica da NVIDIA capaz de rodar títulos com ray tracing.

Portanto, do lado da NVIDIA, as placas de vídeo GeForce RTX são as indicadas e adequadas para rodarem jogos com traçados de raios pelos motivos já citados aqui. Ou seja, elas têm o hardware necessário para o processamento da tecnologia.

A atual geração de GPUs da NVIDIA são as mais indicadas para processar Ray Tracing em jogos (Imagem: NVIDIA/Divulgação)

Como surgiram as GPUs GeForce RTX?

As GeForce RTX surgiram em 2019 e marcaram um dos maiores avanços já feitos pelo Time Verde. O principal motivo foi a chegada da nova estrutura de núcleos, como os RT e Tensor cores, por exemplo.

Apesar de representarem um grande avanço em placas de vídeo, as GPUs RTX 20 da família Turing ainda tinham dificuldades de lidar com a tecnologia de traçado de raios em tempo real, mesmo com jogos com implementações menos complexas, como Battlefield V só com reflexos e Shadow of the Tomb Raider somente com sombras.

Por esse e outros motivos, a NVIDIA lançou o DLSS junto com as GeForce RTX 20 para amenizar o peso desses efeitos, além de auxiliar de outras formas. Esses aspectos só foram melhorados com o passar das gerações, passando pelas RTX 30 e agora com as RTX 40 e terceira gerações de núcleos RT e Tensor, junto do DLSS 3 capaz de entregar melhor qualidade gráfica e desempenho.

Agora, a partir da RTX 4060, já é possível rodar jogos mais complexos com ray tracing, como Cyberpunk 2077 com Path Tracing, mesmo usando o auxílio do NVIDIA DLSS, como explicado antes por Alexandre Ziebert.

Quais jogos têm suporte a ray tracing?

Com a implementação do ray tracing chegando em 2019 nos jogos, hoje temos muito mais títulos que oferecem os diferentes níveis de implementação de ray tracing, desde sombras até o Path Tracing. Confira alguns dos mais conhecidos:

  • Alan Wake 2;
  • Black Myth: Wukong;
  • Control;
  • Cyberpunk 2077;
  • Trilogia Crysis Remastered;
  • Diablo IV;
  • Dirt 5;
  • Doom Eternal;
  • F1 24;
  • Forza Horizon 5;
  • Hellblade: Senua’s Sacrifice;
  • Hogwarts Legacy;
  • Indiana Jones and the Great Circle;
  • Jogos Marvel’s Spider-Man;
  • Metro Exodus;
  • Portal with RTX;
  • Quake II RTX;
  • Ratchet & Clank: Rift Apart;
  • Resident Evil modernos;
  • Shadow of the Tomb Raider;
  • Silent Hill 2;
  • Star Wars Outlaws;
  • The Witcher 3: Wild Hunt;
  • Warhammer 40,000: Darktide.

E o que muda em um jogo com e sem ray tracing? Dependendo da implementação, muita coisa. Dá uma olhada em alguns exemplos. É como dizem: imagens são melhores que palavras.

 

Qual é o futuro do Ray Tracing?

Em 5 anos de implementação do ray tracing em jogos, houve uma grande evolução dos desenvolvedores e da qualidade dos efeitos em RT, além das próprias fabricantes de GPUs, como a NVIDIA, e o grande salto de desempenho entre a primeira geração de RTX e agora com a mais recente, viabilizando o processamento dessa tecnologia.

Por parte do Time Verde, uma evolução interessante veio para as GeForce RTX com o Ray Reconstruction no DLSS 3.5, que diminui o ruído dos efeitos e ainda ameniza a carga de processamento, já que funciona via machine learning e usa os núcleos Tensor.

Ziebert explica que, a partir de treinamento de máquina por parte da NVIDIA com uma grande quantidade de imagens de jogos, o Ray Reconstruction “transforma o Ray Tracing Low em Ray Tracing Ultra”, porque ele consegue melhorar a qualidade da imagem de forma geral:

“Isso é crítico em jogos com Path Tracing, porque como você faz tudo com traçado de raios, depende de ter muitas amostras. Mesmo com uma GPU da série RTX 40, mesmo com o DLSS 3, em muitos casos você ainda tem que usar poucas amostras, então você depende muito do denoising, e os denoisers tradicionais acabam eliminando muito detalhe também”.

Com a chegada das novas GPUs Blackwell nas GeForce RTX 50, há uma grande expectativa de que as placas de vídeo deem outro salto de desempenho em processamento de ray tracing, tornando a tecnologia mais viável em GPUs de baixo nível, como uma possível RTX 5060 e uma nova geração de núcleos RT.

E se você espera que as novas placas de vídeo da NVIDIA consigam rodar jogos com ray tracing sem a dependência do DLSS (que ainda existe bastante), Alexandre Ziebert afirma que caminho é o inverso: GPUs processando RT com a ajuda do DLSS vão ser cada vez mais comuns, já que existem vantagens nesse sentido:

“Você pega os jogos mais pesados, como Alan Wake 2 e Black Myth: Wukong com Path Tracing. Uma RTX 4090, às vezes, não entrega 30 FPS sem ajuda de DLSS. Aí você usa o DLSS Super Resolution em modo Performance, escala de 1080p para 4K e ainda usa o frame generation, então chega aos 100 FPS, por exemplo. É uma experiência muito melhor de jogo. Então, eu acho que essa é a tendência”.

Conclusão

Apesar da história do ray tracing em jogos se confundir com a das GPUs GeForce RTX, a tecnologia está disponível para qualquer hardware que tiver a capacidade de executá-la. A AMD e Intel oferecem placas de vídeo capazes de lidar com RT, mas a NVIDIA saiu na frente nessa disputa e é ela quem oferece as placas de vídeo com maior poder de fogo nessa área.

O assunto é muito amplo e complexo, mas a tecnologia é algo que veio para ficar, como o representante técnico da NVIDIA no Brasil explicou ao Canaltech. O ray tracing deixa a qualidade de imagem em jogos mais bonitas e, com auxílios como o DLSS, é possível melhorá-la ainda mais, enquanto reduz o custo de processamento.

O que se espera daqui em diante é o aprimoramento das diferentes implementações do ray tracing, possivelmente com novas técnicas surgindo. Mas o que é mais fácil de prever são GPUs cada vez mais poderosas para processar a tecnologia, tornando-a cada vez mais acessível a cada nova geração de placas de vídeo.

Veja mais do CTUP:

  • Como escolher o monitor ideal para jogos competitivos?
  • Quais são as diferenças entre placas de vídeo NVIDIA e AMD?
  • Quais são os diferenciais das GPUs GeForce RTX para gamers e criadores?

Leia a matéria no Canaltech.

Adicionar aos favoritos o Link permanente.