A iluminação global é uma tecnologia de iluminação para jogos 3D que tenta tornar as cenas mais realistas, simulando como a luz se comporta quando reflete nas superfícies para iluminar objetos próximos. Técnicas mais básicas dependem do que é chamado de “iluminação direta”, em que uma fonte de luz ilumina um objeto e nada mais, o que não é como a luz funciona no mundo real. Com a iluminação global, ou “iluminação indireta”, a luz pode refletir em um objeto e iluminar também objetos próximos, o que parece muito mais realista e natural.
Imagine um dia ensolarado lá fora, mas você está olhando para o interior de uma sala escura com janelas ao longo da parede, e essas janelas têm persianas blackout. Ao levantar as persianas, a luz do sol começa a entrar na sala. Se você estivesse usando técnicas básicas de iluminação, a luz incidiria no chão e teria ângulos rígidos, iluminando apenas o chão, e pareceria uma janela no próprio chão ou um retângulo de luz.
Com a iluminação global, essa luz refletiria e iluminaria o teto, bem como o resto da sala. Nessa situação, e no mundo real, o chão torna-se uma fonte de luz se tiver luz suficiente para passar para os objetos próximos. Pode imaginar a maior parte da sala sendo bem iluminada pela luz que entra pelas janelas, em vez de apenas iluminar o chão. Pode ver como fica no vídeo abaixo.
A aparência depende do jogo e de como a iluminação é implementada, portanto, os resultados variam bastante. O que não se vê com frequência são sombras muito acentuadas, pois geralmente não é assim que a luz se comporta no mundo real. Abaixo estão três exemplos de como isso aparece nos jogos modernos, para que você mesmo possa avaliar se parece realista ou não.
Este jogo oferece iluminação global e ray tracing como opção para melhorá-lo, e abaixo mostramos como isso fica.
Primeiro, desativámos o ray tracing e executámos o jogo com a iluminação global definida para BAIXA e ALTA. Como pode ver abaixo, não há praticamente nenhuma diferença visível, com a lâmpada a projetar uma sombra muito forte e irrealista em torno da sua base, com uma linha distinta onde a luz brilha e onde não brilha.
Em seguida, ativámos o ray tracing completo, também conhecido como Path Tracing, e deixámos a iluminação global definida como ALTA. A diferença é bastante notável. Como pode ver abaixo, a luz agora está espalhada pela base do pilar que sustenta a lâmpada e é muito difusa, essencialmente por toda a área, com a luz a refletir nas paredes de pedra e a iluminar também o chão. As sombras duras que estavam presentes antes desapareceram, com as paredes rochosas ao redor da cena refletindo a luz por toda parte.
Cyberpunk 2077 possui rastreamento de caminho que permite iluminação global e, com o rastreamento de caminho ativado, vemos um exemplo vívido de iluminação indireta. Os pilares no lado direito da cena ficam quase totalmente escuros com o rastreamento de raios desativado e, em seguida, ficam iluminados quando o rastreamento de caminho é ativado, porque o letreiro na parede ilumina o chão à frente deles.
Este jogo tem iluminação global incorporada, mas há uma opção para ativar a iluminação difusa indireta com traçado de raios, que pode adicionar alguns destaques de iluminação às superfícies. Nestas capturas de tela, observe o tubo acima da fonte de luz enquanto desliza para frente e para trás. Você pode ver como ele fica quase totalmente iluminado com a iluminação indireta ativada.
A principal desvantagem é que geralmente é combinado com ray tracing, então você precisará de uma GPU potente para rodar um jogo a 60 fps, embora tecnologias de upscaling e geração de quadros possam ajudar. A outra desvantagem é que essa tecnologia não é encontrada em muitos jogos, pois requer uma GPU potente e, se for incorporada, muito trabalho por parte dos desenvolvedores. Normalmente, ela só é encontrada em jogos AAA para um jogador, como Cyberpunk, Indiana Jones, Metro Exodus, Avatar: Frontiers of Pandora e títulos semelhantes.
As principais vantagens da Iluminação Global são que ela torna os jogos mais realistas. Ela calcula como a luz refletiria e iluminaria objetos próximos no mundo real, o que geralmente fica muito bom.
Não é, e uma forma de pensar sobre isso é que a iluminação global é o resultado de um processo de renderização, e o ray tracing é apenas uma forma de alcançar esse resultado final, mas não é a única forma. Artistas e programadores podem simular isso fazendo um trabalho enorme antecipadamente, calculando os reflexos da luz e, em seguida, incorporando essa iluminação nas texturas e ambientes do jogo. Se isso exigir muitos recursos, eles podem contar com o ray tracing, que é capaz de fazer isso em tempo real no jogo, mas isso acarreta uma grande desvantagem, pois a maioria dos jogadores ainda não possui hardware capaz de executar o ray tracing a 60 fps.