Ray tracing é uma técnica de renderização de computação gráfica 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 cor.
Ray Tracing: O Básico
Ray tracing 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 s altar e se espalhar à medida que colidem com objetos. Um espelho é tudo que você precisa para ver isso em ação. A luz que atinge um espelho cria um reflexo.
Ray tracing simula isso. O número de raios traçados é insignificante comparado ao mundo real, onde milhões de fótons s altam em nosso campo de visão. Os jogos modernos traçam algo entre um e quatro raios por pixel. Ainda assim, isso é 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 reflete 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 de um jogo dão aos objetos, permitindo superfícies semi-reflexivas ou ásperas realistas.
Ray tracing é um avanço significativo para gráficos 3D. Ele cria uma imagem realista simulando o caminho dos raios conforme eles se movem pelo 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 Ray Tracing não requer hardware específico para funcionar, mas só é prático em uma placa de vídeo ou console de jogos que pode acelerar o Ray Tracing porque é muito exigente.
Ray Tracing vs. Rasterização (ou, gráficos 3D como você conhecia)
Você ainda pode estar confuso mesmo que entenda esta explicação. Os reflexos estavam presentes em jogos anteriores, mesmo naqueles com várias décadas de idade. Como o traçado de raios é diferente?
Os 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ível 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 em primeira pessoa, pelo menos). Com a rasterização, não há nada para o espelho refletir.
Claro, existem espelhos em jogos modernos. Eles renderizam a cena duas vezes. Um passe é do ponto de vista do jogador, enquanto outro é de uma perspectiva diferente. No entanto, isso dobra o desempenho necessário para renderizar uma cena.
Screen space reflections, uma técnica em mecanismos de jogos 3D populares, usa dados na tela para criar um reflexo. Esta técnica é ideal para superfícies reflexivas em ângulo com a perspectiva do jogador, como a água. No entanto, os objetos refletidos desaparecem se o item refletido sair da tela.
Ray tracing 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 raios interajam com superfícies, o ray tracing pode exibir sangramento de cores realistas e superfícies semi-refletivas difíceis de rasterizar.
Qual hardware o Ray Tracing requer?
Ray tracing não é uma ideia nova. Os cientistas da computação experimentaram o ray tracing no início dos anos 80, criando imagens estáticas com iluminação, reflexos e sombras realistas. Infelizmente, eles levaram horas para renderizar.
Um videogame precisa de ray tracing em tempo real a 30 quadros por segundo ou mais. Isso só é possível com uma placa de vídeo projetada para acelerar o ray tracing.
O rastreamento de raios RTX da Nvidia depende de 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 ray tracing porque, como dito, o ray tracing não requer silício específico. No entanto, o desempenho é péssimo em comparação com as placas RTX. E alguns jogos, como Minecraft com ray tracing RTX, exigem uma placa de vídeo RTX devido à maneira específica como habilitam o ray tracing.
Os cartões AMD que aceleram o ray tracing não possuem 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 ray tracing, então preste atenção aos detalhes.
O PlayStation 5 e Xbox Series X e S da Sony possuem hardware gráfico da AMD que pode acelerar o ray tracing. Cabe aos desenvolvedores habilitar, no entanto, e muitos jogos não. Um exemplo notável é o Cyberpunk 2077, que suportava o rastreamento de raios RTX no PC no lançamento, mas não suportava o rastreamento de raios em consoles de última geração. O recurso é prometido para consoles de próxima geração em um patch futuro.