Fundamentos de Tecnologia em Tempo Real

O que é traçado de raios em tempo real?

Cortesia de Epic Records
Nos últimos três ou quatro anos, você pode ter ouvido muito sobre traçado de raios em tempo real. Você pode ter sido informado por seus amigos que realmente precisa obter uma placa gráfica NVIDIA RTX tão desejada para o seu próximo PC ou laptop. Mas a razão pode não estar totalmente clara sobre o motivo dessa necessidade. Se quer descobrir o real motivo, este artigo é para você.

O que é traçado de raios em primeiro lugar?

Vamos começar pelo básico. Vamos definir o traçado de raios e entender como ele difere da chamada rasterização, a tecnologia que tem sido substituída por ele em muitos casos. 

Tanto a rasterização quanto o traçado de raios são métodos de renderização usados em computação gráfica. Elas determinam a cor dos pixels que compõem a imagem exibida na tela ou criada no disco rígido quando você inicia uma renderização. 

A Rasterização funciona desenhando objetos em uma cena de trás para frente, mapeando objetos 3D para o plano 2D por meio de matrizes de transformação. Ela determina a cor de cada pixel com base nas informações de suas características (cor, textura, comum) armazenadas na malha (modelo), combinadas com a iluminação da cena. Geralmente, a rasterização tem um desempenho muito superior ao do traçado de raios, mas ela não simula efeitos que dependem de luzes refletidas, como reflexos verdadeiros, translucidez e oclusão de ambiente.
O traçado de raios, por outro lado, funciona lançando um raio do ponto de vista da câmera e traçando seu caminho conforme ele salta pelos objetos da cena até atingir uma fonte de luz, coletando e aplicando cor à medida em que avança. Por imitar o comportamento físico dos raios de luz, seu resultado é uma qualidade fotorrealista muito superior à rasterização, como sombras suaves e detalhadas, oclusão de ambiente, além de refrações e reflexos de alta precisão. No entanto, todos esses benefícios têm um custo: velocidade.

O que é renderização em tempo real?

Quando você assiste um filme no cinema – seja ele uma produção cinematográfica live-action com atores e ambientes reais ou uma animação computadorizada – o que seu cérebro percebe como movimento contínuo são, na verdade, 24 quadros separados sendo reproduzidos em sucessão a cada segundo de filmagem. 

Para filmes feitos em computador, cada um desses quadros deve ser renderizado; ou seja, o computador deve calcular a aparência de cada pixel que compõe o quadro. Nos pipelines tradicionais de computação gráfica (CG), isso é feito por meio de um renderizador offline, onde não é incomum que um único quadro leve horas ou até dias para renderizar e atingir a resolução e a qualidade desejadas.

No entanto, para jogos ou outros aplicativos interativos em que não há como saber antecipadamente o que a câmera verá a cada momento, os quadros devem ser renderizados na mesma velocidade em que devem ser reproduzidos, ou seja, em tempo real. Atualmente, é comum ver jogos demandando a renderização de 60 ou até 120 quadros a cada segundo; isso significa uma margem de poucos milissegundos para renderizar cada um desses quadros.

A rasterização é rápida o suficiente para ser usada para renderização em tempo real em jogos por décadas, embora sejam necessários o uso de muitos truques e ajustes inteligentes. Mas até recentemente, o traçado de raios era usado apenas para renderização off-line. O único uso de traçado de raios em jogos era para as cenas cinematográficas (também conhecidas como cutscenes), que como os filmes, são renderizadas antecipadamente e depois simplesmente reproduzidas dentro do jogo - você não pode interagir com elas.

O que tornou possível o traçado de raios em tempo real?

E então, o que mudou? Em 2018, surgiram dois catalisadores na tecnologia ao simultaneamente: O framework DXR (DirectX Raytracing) da Microsoft, e a plataforma RTX da NVIDIA. Em parceria com a NVIDIA e o LMxLAB, a Epic Games pôde demonstrar o traçado de raios em tempo real pela 1ª vez na GDC em março de 2018, com a demonstração técnica Reflections, que contou com personagens de Star Wars: The Last Jedi.
A demonstração apresentou luzes em áreas texturizadas, além de sombras em áreas, reflexões, e oclusão de ambiente; todos com traçado de raios. As tecnologias de profundidade de campo cinematográfica e o removedor de ruído em tempo real da NVIDIAtambém foram mostrados — tudo sendo executado em tempo real. 

Esses foram os primeiros passos da tecnologia. O código do protótipo da Unreal Engine ainda não estava disponível para os usuários; o hardware necessário para executar a demonstração em tempo real consistia em uma NVIDIA DGX Station com quatro GPUs NVIDIA Volta, com um preço em torno de US$ 70.000 - portanto, nem o software nem o hardware eram exatamente o que você poderia chamar de acessível ao grande público.
 

O traçado de raios em tempo real é para todos?

Poucos meses depois, na Gamescom de agosto de 2018, a NVIDIA apresentou Reflections novamente, mas com um diferencial: a demonstração estava sendo executada, em tempo real, com uma única de suas recém-anunciadas GPUs: a GeForce RTX 2080 Ti, cujo preço de lançamento era US$ 1.200. 

Na GDC em março do ano seguinte, a Epic Games disponibilizou sua tecnologia de traçado de raios em tempo real como uma oferta Beta na Unreal Engine 4.22. A tecnologia usou uma abordagem híbrida que acoplou características de traçado de raios para os passes que se beneficiaram delas com técnicas tradicionais de rasterização para os passes que não se beneficiariam, permitindo obter resultados em tempo real.

Como parte da apresentação, Goodbye Kansas e Deep Forest Films demonstraram os grandes avanços do software em apenas 12 meses com Troll, uma obra cinematográfica renderizada em tempo real com um humano digital
Hoje, com o advento da Unreal Engine 5, o software de traçado de raios em tempo real da Epic recebeu muitas melhorias de desempenho, estabilidade e integridade de recursos; suficientes para que até mesmo placas intermediárias da linha RTX sejam capazes de executá-lo por menos de US$ 500. Enquanto isso, a Unreal Engine é totalmente gratuita para baixar e usar. Em combinação com a queda nos preços das placas RTX, o traçado de raios em tempo real está ao alcance de um número mais amplo de usuários do que nunca. 

Quais são as vantagens do traçado de raios?

Vamos ver alguns dos benefícios reais do traçado de raios, seja em tempo real ou off-line. 

Reflexos precisos agregam muito à credibilidade de uma cena. Os reflexos de traçado de raios podem suportar vários rebates, viabilizando a criação de inter-reflexões em superfícies reflexivas, assim como na vida real. Eles também refletem objetos fora do campo de visão em foco. Para designers automotivos e profissionais de marketing, a maneira como a luz reflete em uma superfície é de suma importância; e com o traçado de raios, é possível visualizar isso antes mesmo do carro ser montado.
Cortesia de GIANTSTEP
As sombras de traçado de raios podem simular efeitos suaves de iluminação de área para objetos no ambiente. Logo, com base no tamanho da fonte da luz ou no ângulo da fonte, a sombra de um objeto terá sombras mais nítidas perto da superfície de contato do que mais longe, onde ela se suaviza e se alarga. Além de dar mais solidez aos objetos na cena, as sombras de traçado de raios capturam detalhes finos em áreas como estofados, tornando os interiores muito mais convincentes. Para os arquitetos, as sombras de traçados de raios também permitem estudos precisos da luz solar.
A iluminação global simula como a interação natural da luz com os objetos afeta a cor de outros objetos na cena, levando em consideração a absorção e a refletividade dos materiais dos quais os objetos são feitos. Isso aumenta muito o realismo das cenas. Com o traçado de raios, a iluminação global é calculada para cada quadro, em vez de ser pré-montada, o que significa que a iluminação pode mudar ao longo do tempo, como uma luz sendo ligada ou desligada, o nascer do sol ou alguém abrindo uma porta. O Lumen da Unreal Engine é um sistema de iluminação e reflexos globais totalmente dinâmico que usa vários métodos de traçado de raios.
Oclusão de ambiente é o sombreamento de áreas que bloqueiam naturalmente a iluminação ambiente (iluminação que não vem diretamente de uma fonte de luz), como os cantos e bordas onde as paredes se encontram ou as fendas e rugas na pele. A oclusão de ambiente com traçado de raios é muito mais precisa (e, portanto, mais convincente) do que a oclusão de ambiente de espaço de tela. 
Para renderizações externas ou de interiores com grandes janelas, retratar com precisão a luz do céu é essencial para criar uma cena convincente. Com o traçado de raios, você pode usar uma imagem de alta faixa dinâmica (HDR) para iluminar sua cena, produzindo efeitos sutis e suaves que imitam efetivamente o mundo real. 
Cortesia de ARCHVYZ, projeto por Toledano Architects
Além de todos esses benefícios, o traçado de raios geralmente é muito mais fácil de configurar e usar do que os métodos usados para simular alguns desses efeitos em renderizadores de rasterização, como sombras de mapa de profundidade, iluminação global pré-montada e sondas ou planos de reflexos.

Quem está usando o traçado de raios em tempo real?

O objetivo de muitos desenvolvedores de jogos é tornar suas experiências cada vez mais convincentes, portanto, para eles, o traçado de raios em tempo real é uma escolha natural. Mas como os jogos AAA normalmente têm um ciclo de produção de três a quatro anos, os jogadores tiveram que esperar pacientemente para experimentar os benefícios da nova tecnologia. No entanto, os lotes mais recentes de jogos visualmente belíssimos que usam o traçado de raios em tempo real está crescendo muito, e incluem títulos como Deliver Us Mars, Ghostwire: Tokyo, e Hellblade: Senua’s Sacrifice. Há muitos outros títulos em desenvolvimento.
Além dos jogos, o traçado de raios em tempo real na Unreal Engine é usado para visualização arquitetônica, como nesta ferramenta interativa de vendas da Buildmedia; visualização automotiva, como esta ferramenta de revisão de design VR da Subaru; produção virtual para cinema e televisão, incluindo este exemplo de como a Volkswagen está fazendo comerciais de carros mais ecológicos; e outras aplicações em tempo real. Qualquer aplicativo interativo que busca o realismo se beneficia do traçado de raios em tempo real, de concertos virtuais a ensaio de moda on-line e muito mais. Ao simular o comportamento natural da luz, as experiências de traçado de raios em tempo real são muito mais imersivas e convincentes. 
Cortesia de Epic Records
O traçado de raios em tempo real também está agitando o mundo da criação de conteúdo animado para cinema e TV, como visto na série ‘Armored Saurus’ do Studio EON, que também empregou técnicas de produção virtual. Quando você pode renderizar em uma fração do tempo que levaria em um pipeline tradicional e ainda ter a aparência que seu público exige, você não apenas economiza nos custos de produção, mas também pode fazer testes até o último minuto para encontrar a melhor versão da sua história.
Cortesia de Armored Saurus | Studio EON

Aprendendo o traçado de raios em tempo real

Se você deseja experimentar o traçado de raios em tempo real na Unreal Engine, você pode baixar o software gratuitamente e visitar a documentação para verificar os requisitos do sistema. Você também pode descobrir como ativar o traçado de raios em tempo real e saber mais sobre as funcionalidades. 

Se você preferir tutoriais em vídeo, vá em Comunidade de Desenvolvedores da Epic, onde você encontrará centenas de horas de aprendizado on-line gratuito, incluindo esses cursos sobre o traçado de raios.

Além disso, você pode aprender sobre outra técnica de traçado de raios disponível na Unreal Engine chamada traçado de caminho, um modo de renderização progressivo acelerado por hardware que atenua as desvantagens dos recursos em tempo real com iluminação global fisicamente correta e sem comprometimento, reflexo e refração de materiais e muito mais.
Cortesia de ARCHVYZ, projeto por Toledano Architects

Mais Fundamentos de Tecnologia em Tempo Real


fundamento de tempo real

Como criar um humano digital?

fundamento de tempo real

O que faz um animador 3D?

fundamento de tempo real

O que é realidade aumentada?