O que é Path Tracing e Ray Tracing? E por que eles melhoram os gráficos?

Se você deu uma olhada nas notícias de jogos e gráficos(gaming and graphics news) ultimamente, então você ouviu a última e melhor palavra da moda: ray tracing . Você também pode ter ouvido uma palavra semelhante chamada rastreamento de caminho(path tracing) . E você pode ser totalmente perdoado por não entender completamente o que é qualquer um dos processos.

Uma explicação simples é que tanto o traçado de caminho quanto o traçado de raios(ray tracing) são técnicas gráficas que resultam em imagens com aparência mais realista ao custo de um poder computacional significativamente maior. Há um vídeo do Minecraft(Minecraft video) no YouTube que demonstra os aspectos particulares do ray tracing de maneira clara, mas também ilustra o estresse que ele coloca em um sistema.

Se essa é a única explicação que você precisa, ótimo! Mas se você quiser se aprofundar e descobrir como cada técnica funciona e por que as empresas de hardware de GPU(GPU hardware) estão cobrando uma pequena fortuna por placas com capacidade de rastreamento de raios, continue lendo.

Rasterização e Computação Gráfica

Qualquer imagem que você vê exibida na tela do computador(computer screen) não começou como essa imagem. Começa como uma imagem raster ou vetorial(vector image) . Uma imagem raster(raster image) é composta por uma coleção de pixels sombreados.

Uma imagem vetorial(vector image) é baseada em fórmulas matemáticas que significam que a imagem pode ser aumentada em tamanho quase indefinidamente. A desvantagem das imagens vetoriais(vector image) é que detalhes mais precisos são difíceis de obter. As imagens vetoriais(Vector) são melhor usadas quando apenas algumas cores são necessárias.

A principal força da rasterização é sua velocidade, especialmente em comparação com técnicas como ray tracing. Sua GPU , ou unidade de processamento gráfico, dirá ao jogo para criar uma imagem 3D a partir de pequenas formas, geralmente triângulos. Esses triângulos são transformados em pixels individuais e depois colocados em um sombreador para criar a imagem que você vê na tela.

A rasterização tem sido a opção para gráficos de videogame por um longo tempo devido à rapidez com que pode ser processada, mas à medida que a tecnologia atual começa a colidir com seus limites, técnicas mais avançadas são necessárias para avançar para o próximo nível. É aí que entra o Ray Tracing.

O rastreamento de raios(Ray) parece muito mais realista do que a rasterização, como ilustra a imagem abaixo. Olhe para os reflexos no bule(tea pot) de chá e na colher.

O que é Ray Tracing?

No nível da superfície(surface level) , ray tracing é um termo abrangente que significa tudo, desde uma única interseção de luz e objeto até o fotorrealismo completo. No contexto mais comum usado hoje, no entanto, o ray tracing refere-se a uma técnica de renderização(rendering technique) que segue um feixe de luz (em pixels) de um ponto definido(set point) e simula como ele reage ao encontrar objetos.

Pare um momento e olhe(moment and look) para a parede da sala em que você está. Há uma fonte de luz na parede ou a luz é refletida na parede por outra fonte? Os gráficos traçados por raios(Ray) começariam em seu olho e seguiriam sua linha de visão até a parede e, em seguida, seguiriam o caminho da luz da parede de volta à fonte de luz.

O diagrama acima ilustra como isso funciona. A razão para os “olhos” simulados (a câmera neste diagrama) é diminuir a carga na GPU .

Por quê? Bem, o ray tracing não é novo em folha(t brand-new) . Na verdade, já existe há algum tempo. A Pixar(Pixar) usa técnicas de ray tracing para criar muitos de seus filmes, mas gráficos de alta fidelidade, quadro a quadro, nas resoluções que a Pixar alcança, levam tempo.

Muito(A lot) tempo. Alguns quadros na Universidade de Monstros(Monsters University) levaram 29 horas cada. Toy Story 3 levou uma média de 7 horas por quadro, com alguns quadros levando 39 horas de acordo com uma história de 2010 da Wired.

Como o filme ilustra o reflexo da luz de todas as superfícies para criar o estilo gráfico que todos(style everyone) conhecem e amam, a carga de trabalho(work load) é quase inimaginável. Ao limitar as técnicas de rastreamento de raios apenas ao que os olhos podem ver, os jogos podem utilizar a técnica sem causar um colapso (literal) do processador gráfico.

Dê uma olhada na imagem abaixo.

Isso não é uma fotografia, apesar de parecer real. É uma imagem traçada por raios. Tente imaginar quanta energia é necessária para criar uma imagem parecida com esta. Um raio pode ser rastreado e processado sem muita dificuldade, mas e quando esse raio ricocheteia em um objeto?

Um único raio pode se transformar em 10 raios, e esses 10 podem se transformar em 100 e assim por diante. O aumento é exponencial. Após um ponto, os saltos e reflexões além do terciário e do quaternário exibem retornos decrescentes. Em outras palavras, eles exigem muito mais poder para calcular e exibir do que valem. Para renderizar uma imagem, um limite deve ser traçado em algum lugar.  

Agora imagine fazer isso de 30 a 60 vezes por segundo. Essa é a quantidade de energia necessária para usar técnicas de rastreamento de raios em jogos. É certamente impressionante, certo?

A capacidade de obtenção de placas gráficas capazes de ray tracing aumentará com o passar do tempo e, eventualmente, essa técnica se tornará tão prontamente disponível quanto os gráficos 3D. Por enquanto, porém, o ray tracing ainda é considerado a vanguarda da computação gráfica. Então, como o rastreamento de caminho entra em jogo?

O que é rastreamento de caminho?

O rastreamento de caminho(Path tracing) é um tipo de rastreamento de raio(ray tracing) . Ele se enquadra nesse guarda-chuva, mas onde o traçado de raios(ray tracing) foi originalmente teorizado em 1968, o traçado de caminho não entrou em cena até 1986 (e os resultados não foram tão dramáticos quanto os de agora).

Lembre-se do aumento exponencial de raios mencionado anteriormente? O rastreamento de caminho(Path) fornece uma solução para isso. Ao usar o traçado de caminho para renderização, os raios produzem apenas um único raio por salto. Os raios não seguem uma linha definida(set line) por salto, mas disparam em uma direção aleatória.

O algoritmo de rastreamento de caminho então faz uma amostragem aleatória de todos os raios para criar a imagem final. Isso resulta na amostragem de uma variedade de diferentes tipos de iluminação, mas especialmente a iluminação global.

Uma coisa interessante sobre o rastreamento de caminho(path tracing) é que o efeito pode ser emulado através do uso de shaders. Um patch de shader(shader patch) apareceu recentemente para um emulador de Nintendo Switch(Nintendo Switch emulator) que permitia aos jogadores emularem a iluminação global de caminhos traçados em títulos como The Legend of Zelda: Breath of the Wild e Super Mario Odyssey. Embora os efeitos pareçam bons, eles não são tão completos quanto o rastreamento de caminho(path tracing) verdadeiro .

O rastreamento de caminho(Path tracing) é apenas uma forma de rastreamento de raios. Embora tenha sido aclamado como a melhor maneira de renderizar imagens, o rastreamento de caminho vem com suas próprias falhas.

Mas, no final, tanto o traçado de caminho quanto o traçado de raios(path tracing and ray) resultam em imagens absolutamente lindas. Agora que o hardware em máquinas de consumo atingiu um ponto em que o ray tracing é possível em tempo real em videogames, a indústria está pronta para fazer um avanço quase tão impressionante quanto a passagem de gráficos 2D para 3D.

No entanto, ainda levará algum tempo - vários anos pelo menos - antes que o hardware necessário seja considerado "acessível". A partir de agora, mesmo as placas gráficas necessárias custam bem mais de US $ 1.000.



About the author

Sou um especialista em computadores com mais de 10 anos de experiência e me especializei em ajudar as pessoas a gerenciar seus computadores em seus escritórios. Escrevi artigos sobre tópicos como otimizar sua conexão com a Internet, como configurar um computador para a melhor experiência de jogo e muito mais. Se você está procurando ajuda com qualquer coisa relacionada ao seu trabalho ou vida pessoal, eu sou a pessoa para você!



Related posts