Notíciasr7

Nvidia explica como iluminações direta e indireta elevam o fotorrealismo de uma cena

A Nvidia demonstrou a diferença entre as iluminações direta e indireta, além de falar sobre Path Tracing. Em computação gráfica, o equilíbrio certo entre estes dois tipos de iluminação melhoram e muito a apresentação visual.

Mais detalhes abaixo, via 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.

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.

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.

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.

Sombras estêncil em ‘Doom 3’ (2004)

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.

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.

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”.

Mapa de luz aplicado a uma cena.

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.

Iluminação direta versus iluminação global em uma cena de floresta.

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.

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.

Crysis (2007).

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.

2016: Rise of the Tomb Raider tornou-se o primeiro jogo a usar oclusão de ambiente baseada em voxels.

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.

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.

Denoising com NRD em Cyberpunk 2077.

Artigos relacionados

Botão Voltar ao topo

Adblock detectado

Por favor, desabilite o Adblock para continuar acessando o site!