29 de maio de 2024
Escute este Post
Notícias

NVIDIA Oferece Dicas de Iluminação em CGI

O equilíbrio certo entre iluminação direta e indireta, em computação gráfica, elevam o fotorrealismo de uma cena

A NVIDIA postou uma matéria esclarecendo diferenças e dando dicas de iluminação. Leia na íntegra a seguir.

Texto por: JJ Kim

Imagine caminhar até um lago em um dia de verão – sentado sob uma árvore frondosa e observando a água brilhar sob o sol.NVIDIA. Imagem ilustrativa

Nesta cena, as diferenças entre luz e sombra são exemplos de iluminação direta e indireta.

Banner da parceria com No Ping.

O sol brilha no lago e nas árvores, fazendo com que a água pareça estar brilhando e as folhas pareçam verdes brilhantes. Isso é iluminação direta. Embora as árvores lancem sombras, a luz do sol ainda reflete no chão e em outras árvores, lançando luz na área sombreada ao seu redor. Isso é iluminação indireta. NVIDIA

Para que a computação gráfica emerja os espectadores em ambientes fotorrealistas, é importante simular com precisão o comportamento da luz para obter o equilíbrio adequado de iluminação direta e indireta. NVIDIA

O Que É Iluminação Direta e Indireta?

A luz que incide sobre um objeto é chamada de iluminação direta.

Ele determina a cor e a quantidade de luz que atingem uma superfície de uma fonte de luz, mas ignora toda a luz que pode chegar à superfície de qualquer outra fonte, como a reflexão ou refração. A iluminação direta também determina a quantidade de luz que é absorvida e refletida pela própria superfície.

NVIDIA. Exemplo de iluminação direta
Iluminação direta do sol e do céu.

A luz refletida em uma superfície, iluminando outros objetos é chamada de iluminação indireta. Ele chega às superfícies de tudo, exceto de fontes de luz. Em outras palavras, a iluminação indireta determina a cor e a quantidade de todas as outras luzes que chegam a uma superfície. Mais comumente, a luz indireta é refletida de uma superfície para outras superfícies.

A iluminação indireta geralmente tende a ser mais difícil e cara de calcular do que a iluminação direta. Isso ocorre porque há um número substancialmente maior de caminhos que a luz pode seguir entre o emissor de luz e o observador. NVIDIA

NVIDIA. Exemplo de iluminação direta e indireta
Iluminação direta e indireta no mesmo ambiente.

O que É Iluminação Global?

A iluminação global é o processo de calcular a cor e a quantidade de toda a luz – direta e indireta – que está em superfícies visíveis em uma cena. NVIDIA

Simular com precisão todos os tipos de luz indireta é extremamente difícil, especialmente se a cena incluir materiais complexos como vidro, água e metais brilhantes – ou se a cena tiver dispersão em nuvens, fumaça, neblina ou outros elementos conhecidos como mídia volumétrica.

Como resultado, as soluções gráficas em tempo real para iluminação global são normalmente limitadas ao cálculo de um subconjunto da luz indireta – geralmente para superfícies com materiais difusos (também conhecidos como foscos).

Como a Iluminação Direta e Indireta É Calculada?

Muitos algoritmos podem ser usados para calcular a iluminação direta, todos com pontos fortes e fracos. Por exemplo, se a cena tiver uma única luz e nenhuma sombra, a iluminação direta é trivial para calcular, mas não parecerá muito realista. Por outro lado, quando uma cena tem várias fontes de luz, processá-las todas para cada superfície pode se tornar difícil.

Para resolver esses problemas, algoritmos otimizados e técnicas de sombreamento foram desenvolvidos, como sombreamento diferido ou em sombreamento agrupado. Esses algoritmos reduzem o número de interações de superfície e luz a serem computadas.

As sombras podem ser adicionadas por meio de várias técnicas, incluindo mapas de sombra, volumes de sombra estêncil e Ray Tracing.

O mapeamento de sombra tem duas etapas. Primeiro, a cena é renderizada do ponto de vista da luz em uma textura especial chamada de mapa de sombras. Em seguida, o mapa de sombras é usado para testar se as superfícies visíveis na tela também são visíveis do ponto de vista da luz. Os mapas de sombra vêm com muitas limitações e artefatos, e rapidamente se tornam caros à medida que o número de luzes na cena aumenta.

Os volumes de sombra estêncil são baseados na extrusão da geometria da cena para longe da luz e na renderização dessa geometria extrudada no buffer do estêncil. O conteúdo do buffer de estêncil é usado para determinar se uma determinada superfície na tela está na sombra ou não. As sombras estêncil são sempre nítidas, de maneira não natural, mas não sofrem de problemas comuns de mapas de sombras.

NVIDIA. exemplo de sombra extêncil
Sombras estêncil em ‘Doom 3’ (2004). Fonte da imagem: Wikipédia.

Até a introdução da tecnologia NVIDIA RTX, o Ray Tracing era muito caro para usar ao calcular sombras. Ray tracing é um método de renderização que simula o comportamento físico da luz. Traçar os raios de uma superfície na tela até uma luz permite o cálculo de sombras, mas isso pode ser um desafio se a luz vier de um ponto. Além disso, sombras Ray Tracing podem se tornar caras rapidamente se houver muitas luzes na cena.

Métodos de amostragem mais eficientes foram desenvolvidos para reduzir o número de raios necessários para calcular sombras suaves de várias luzes. Um exemplo é um algoritmo chamado ReSTIR, que calcula a iluminação direta de milhões de luzes e sombras com Ray Tracing em taxas de quadros interativas.

NVIDIA. Exemplo da iluminação direta e sombra Ray Tracing
Iluminação direta e sombras Ray Tracing criadas com ReSTIR, em comparação com um algoritmo anterior.

O que É Path Tracing?

Para iluminação indireta e iluminação global, existem ainda mais métodos. O mais direto é chamado de Path Tracing, onde caminhos de luz aleatórios são simulados para cada superfície visível. Alguns desses caminhos alcançam luzes e contribuem para a cena finalizada, enquanto outros não.

Path Tracing é o método mais preciso capaz de produzir resultados que representam totalmente a iluminação em uma cena, correspondendo à precisão dos modelos matemáticos para materiais e luzes. Path Tracing pode ser muito caro para calcular, mas é considerado o “santo graal” dos gráficos em tempo real.

NVIDIA. Comparação de tipos de iluminação
Comparação de Path Tracing com um algoritmo de Ray Tracing menos completo e rasterização.

Como a Iluminação Direta e Indireta Afetam os Gráficos?

A iluminação direta fornece a aparência básica de realismo e a iluminação indireta torna as cenas mais ricas e naturais.

Uma maneira pela qual a iluminação indireta tem sido usada em muitos videogames é através da luz ambiente onipresente. Este tipo de luz pode ser constante ou variar espacialmente sobre sondas de luz dispostas em um padrão de grade. Ele também pode ser renderizado em uma textura que envolve objetos estáticos em uma cena – esse método é conhecido como “mapa de luz”.

NVIDIA. Exemplo de mapeamento de luz.
Mapa de luz aplicado a uma cena. Imagem cortesia do Reddit.

Na maioria dos casos, a luz ambiente é sombreada por uma função da geometria ao redor da superfície chamada de oclusão ambiente, que ajuda a aumentar o realismo da imagem.

NVIDIA. Exemplo de mapeamento de luz
Mapa de luz aplicado a uma cena. Imagem cortesia do Reddit.

Exemplos de Iluminação Direta, Iluminação Indireta e Iluminação Global

A iluminação direta e indireta estão presentes, de alguma forma, em quase todos os jogos 3D desde a década de 1990. Abaixo estão alguns marcos de como a iluminação foi implementada em títulos populares:

  • 1993: DOOM apresentou um dos primeiros exemplos de iluminação dinâmica. O jogo podia variar a intensidade da luz por setor, o que tornava as texturas mais claras ou mais escuras, e era usado para simular áreas escuras e brilhantes ou luzes piscando.
NVIDIA. Diferenças de setorização de luz
Mapeie setores com diferentes intensidades de luz em Doom.

Mapeie setores com diferentes intensidades de luz em Doom.

  • 1995: Quake introduziu mapas de luz, que foram pré-computados para cada nível do jogo. Os mapas de luz podem modular a intensidade da luz ambiente.
  • 1997: Quake II adicionou cor aos mapas de luz, bem como iluminação dinâmica de projéteis e explosões.
  • 2001: Silent Hill 2 apresentou iluminação por pixel e mapeamento de sombras. Shrek usou iluminação diferida e sombras de estêncil.
  • 2007: Crysis mostrou oclusão de ambiente dinâmica em espaço de tela, que usa profundidade de pixel para dar uma sensação de mudanças na iluminação.
NVIDIA. Iluminação de Crysis
Crysis (2007). Imagem cortesia de MobyGames.com.
  • 2008: Quake Wars: Ray Traced tornou-se a primeira demo tecnológica de jogos a usar reflexos baseados em Ray Tracing.
  • 2011: Crysis 2 se tornou o primeiro jogo a incluir reflexos no espaço da tela, que é uma técnica bastante popular até hoje, que reutiliza dados presentes no espaço da tela para calcular reflexos. NVIDIA
  • 2016: Rise of the Tomb Raider tornou-se o primeiro jogo a usar oclusão de ambiente baseada em voxels. NVIDIA
  • 2018: Battlefield V tornou-se o primeiro jogo comercial a usar reflexos baseados em Ray Tracing.
  • 2019: Q2VKPT se tornou o primeiro jogo a implementar o Path Tracing, que foi posteriormente refinado no Quake II RTX.
  • 2020: Minecraft com RTX é o primeiro jogo comercial a usar Path Tracing.
NVIDIA. Minecraft com RTX
Minecraft com RTX.

O Que Vem a Seguir para Iluminação de Gráficos em Tempo Real?

Os gráficos em tempo real estão se movendo em direção a uma simulação mais completa de luz em cenas com complexidade crescente.

O ReSTIR expande drasticamente as possibilidades dos artistas usarem várias luzes em jogos. Sua variante mais recente, ReSTIR GI, aplica as mesmas ideias em relação à iluminação global, permitindo o Path Tracing com mais saltos e menos aproximações. Ele também pode renderizar imagens com menos ruído mais rapidamente. Mais algoritmos estão sendo desenvolvidos para tornar o Path Tracing mais rápido e acessível.

Usar uma simulação completa de efeitos de iluminação com Ray Tracing também significa que as imagens renderizadas podem conter algum ruído. Eliminar esse ruído, ou “denoising”, é outra área de pesquisa ativa.

Mais tecnologias estão sendo desenvolvidas para ajudar os jogos a eliminar efetivamente o ruído da iluminação em cenas complexas e altamente detalhadas com muito movimento em taxas de quadros em tempo real. Este desafio está sendo abordado a partir de duas pontas: algoritmos de amostragem avançados, que geram menos ruído e denoisers avançados que podem lidar com situações cada vez mais difíceis, como o NRD, NVIDIA Real-Time Denoiser.

NVIDIA. Iluminação em Cyberpunk 2077
Denoising com NRD em Cyberpunk 2077.

Banner de parceria com Brasil Game Show

Informe Publicitário

Se você gostou deste post não deixe de registrar sua participação através de dicas, sugestões, críticas e/ou dúvidas. Aproveitem para assinar o Blog e o canal do Youtube, e participem do nosso grupo do Facebook para acompanhar nossas publicações e ficar por dentro das notícias do mundo gamer, concursos e promoções!

Sgt Rock 1967

Eduardo "Sgt Rock 1967" Rocha é o idealizador do Nós Nerds! Técnico em informática e gamer inveterado e veterano.

Deixe uma resposta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.