O que é Ray Tracing?

click fraud protection

Desde o anúncio da Nvidia em 2018 de suas placas gráficas RTX da série 20, seu recurso matador, "ray tracing" tem sido um termo popular nos círculos de videogame. Mas pode ser difícil entender o que é o traçado de raio, como funciona e por que parece melhor do que as técnicas anteriores.

O que é traçado de raio e como funciona?

No mundo real, quando você vê algo, o que você está vendo é um fóton de uma fonte de luz. A caminho de você, esse fóton pode ter sido refletido por uma ou mais superfícies. Cada reflexo muda as características da luz que atinge seus olhos.

O sol emite uma ampla gama de cores de luz, cada superfície absorve parte da luz e reflete outra. O que vemos como uma superfície verde, como uma folha, parece assim porque reflete principalmente a luz verde. Se a luz refletida na folha atingir outra superfície, como uma parede branca, essa superfície parecerá um pouco diferente do que se fosse uma luz branca pura brilhando sobre ela. Cada reflexão afeta todas as superfícies futuras com as quais a luz interage, mudando sua intensidade e a cor visível.

O rastreamento de raios é uma técnica gráfica que segue os mesmos princípios. Raios de luz são projetados, as propriedades da luz refletida e refratada, como a cor, são calculadas e o raio continua viajando.

No mundo real, toda fonte de luz, como uma lâmpada ou o Sol, emite fótons em todas as direções, a grande maioria dos quais nunca alcançam seus olhos. Simular isso seria um processo incrivelmente intensivo que produz um resultado na maior parte do tempo perdido. Para reduzir a carga de trabalho, o traçado de raio funciona ao contrário, projetando raios da câmera. Cada raio pode viajar uma certa distância sem reflexão ou refletir um certo número de vezes antes que os cálculos sejam realizados e o valor do pixel seja definido.

Por exemplo, um raio é lançado da perspectiva do observador, quando atinge uma parede branca, um algoritmo gera recursivamente um raio refletido que então viaja através de um painel de vidro azul, finalmente, o raio refletido atinge uma fonte de luz branca e é absorvido. O vidro azul absorve tudo, exceto a luz azul, que emite uma luz azul na parede, resultando na coloração do pixel de azul.

Por que o Ray Tracing parece tão melhor?

O método padrão de renderização de cenas em tempo real envolve o uso de mapas de luz pré-computados e iluminação de toda a cena. Alguns jogos fazem uso de iluminação volumétrica limitada para incluir fontes de luz em movimento e permitir sombras dinâmicas, esta técnica é usada com moderação, pois é bastante intensiva no processador.

O rastreamento de raios pode atingir um resultado fotorrealístico se algum trabalho extra for feito no estágio de design do jogo. Se todas as superfícies incluem detalhes como refletividade, transparência e como a luz refratará através delas, o resultado geral pode parecer mais natural. Embora essa abordagem obviamente envolva mais trabalho na fase de design do jogo, ela permite que o resultado apareça fotorrealista com a luz reagindo da maneira que deveria quando reflete no concreto, metal, madeira e vidro etc.

O rastreamento de raios permite que reflexos e sombras precisos sejam lançados como parte do processo de renderização. nos métodos de renderização tradicionais, esses dois efeitos são totalmente opcionais e podem causar impactos de desempenho significativos.

O próprio Ray tracing vem com um grande sucesso no desempenho. Até que as placas gráficas RTX da Nvidia fossem anunciadas com aceleração de hardware para rastreamento de raios, pensava-se que o poder de processamento necessário para realizar rastreamento de raio em tempo real no software era de mais de uma década longe. Mesmo com a aceleração do hardware, o traçado de raio ainda causa uma diminuição significativa no desempenho, pois ainda é a parte mais lenta da renderização de um quadro.