Skip to content

O que é Ray Tracing?

12 de abril de 2021

Ray tracing é uma técnica para renderizar gráficos de computador que cria uma imagem traçando o caminho dos raios através de uma cena. Os raios podem interagir com objetos na cena, refletindo neles e ganhando propriedades, como a cor.

Rastreamento de raio: o básico

O rastreamento de raios emula a iluminação do mundo real. A luz que vemos é o resultado de fótons emitidos por fontes de energia, como o sol. Os fótons podem saltar e se espalhar conforme colidem com objetos. Um espelho é tudo que você precisa para ver isso em ação. A luz que atinge um espelho cria um reflexo.

CD Projekt Vermelho
O rastreamento de raios simula isso. O número de raios rastreados é insignificante em comparação com o mundo real, onde milhões de fótons refletem em nosso campo de visão. Os jogos modernos traçam algo entre um e quatro raios por pixel. Ainda assim, isso é o suficiente para simular o mundo real. Traçar o caminho de um raio também permite que ele interaja com o mundo do jogo. Um raio que ricocheteia em um objeto vermelho pode ser influenciado por essa cor, lançando um brilho vermelho nas proximidades. Os raios podem se espalhar de diferentes maneiras com base nas propriedades que os artistas do jogo atribuem aos objetos, permitindo superfícies semirreflexivas ou rugosas realistas. O rastreamento de raios é um avanço significativo para os gráficos 3D. Ele cria uma imagem realista ao simular o caminho dos raios conforme eles se movem no jogo. Isso leva a uma iluminação que pode interagir com o ambiente, mesmo quando o ambiente não é visível para o jogador. O rastreamento de raios não requer hardware específico para funcionar, mas só é prático em uma placa de vídeo ou console de jogo que pode acelerar o rastreamento de raios porque é muito exigente.

Ray Tracing vs. Rasterization (ou, gráficos 3D como você os conhecia)

Rastreamento de raio no Battlefield 5

Nvidia
Você ainda pode estar confuso, mesmo que entenda esta explicação. As reflexões estavam presentes em jogos anteriores, mesmo aqueles com várias décadas de existência. Como o traçado de raios é diferente? Jogos 3D anteriores e a maioria dos jogos modernos usam rasterização. A rasterização combina os elementos de um mundo de jogo 3D visíveis para o jogador em uma imagem 2D. Ele apenas renderiza o que deveria ser visível para o jogador, pois qualquer performance usada para gerar o que o jogador não pode ver é desperdiçada. No entanto, isso cria um problema. Voltemos ao exemplo de um espelho. O ambiente do jogador e o personagem do jogador não são visíveis para o jogador (em um jogo de primeira pessoa, pelo menos). Com a rasterização, não há nada para o espelho refletir. Claro, existem espelhos nos jogos modernos. Eles renderizam a cena duas vezes. Um passe é do ponto de vista do jogador, enquanto outro é de uma perspectiva diferente. Isso dobra o desempenho necessário para renderizar uma cena, no entanto. Os reflexos do espaço da tela, uma técnica em motores de jogos 3D populares, usam dados na tela para criar um reflexo. Essa técnica é ideal para superfícies reflexivas em um ângulo em relação à perspectiva do jogador, como a água. No entanto, os objetos refletidos desaparecem se o item refletido sair da tela. O rastreamento de raio não compartilha desses problemas porque, ao contrário da rasterização, pode rastrear fora da perspectiva do jogador. Além disso, em jogos que permitem que os raios interajam com as superfícies, o traçado de raios pode exibir sangramento de cor realista e superfícies semirreflexivas difíceis de manusear na rasterização.

Qual hardware o Ray Tracing requer?

Placa gráfica Nvidia RTX 3080 em um fundo preto

Nvidia
O rastreamento de raio não é uma ideia nova. Cientistas da computação fizeram experimentos com rastreamento de raios no início dos anos 1980, criando imagens estáticas com iluminação, reflexos e sombras realistas. Infelizmente, eles demoraram horas para serem renderizados. Um videogame precisa de traçado de raio em tempo real a 30 quadros por segundo ou mais. Isso só é possível com uma placa de vídeo projetada para acelerar o rastreamento de raios. O rastreamento de raios RTX da Nvidia se baseia em silício chamado Tensor Core. Tensor Cores são encontrados apenas em placas de vídeo RTX. As placas GTX da Nvidia podem renderizar um jogo usando traçado de raio porque, como disse, o traçado de raio não requer silício específico. No entanto, o desempenho é péssimo em comparação com os cartões RTX. E alguns jogos, como o Minecraft com rastreamento de raio RTX, exigem uma placa de vídeo RTX devido à maneira específica como habilitam o rastreamento de raio. As placas AMD que aceleram o rastreamento de raios não têm marca específica e não possuem silício dedicado. Em vez disso, eles usam ajustes de hardware e atualizações de software para obter melhores resultados. É mais difícil identificar placas AMD que aceleram o rastreamento de raios, então preste atenção aos detalhes. O PlayStation 5 e o Xbox Series X e S da Sony possuem hardware gráfico da AMD que pode acelerar o rastreamento de raios. Depende dos desenvolvedores habilitar, no entanto, e muitos jogos não. Um exemplo notável é Cyberpunk 2077, que suportava rastreamento de raio RTX no PC no lançamento, mas não suportava rastreamento de raio em consoles de última geração. O recurso é prometido para consoles de próxima geração em um patch futuro.