Modelagem de Iluminação Global com Radiosidade

Radiosidade é a tecnologia de renderização que realisticamente simula a forma na qual a luz interage em um ambiente.

Este tópico fornece uma visão geral conceitual do que é a Radiosidade e como esta técnica de iluminação global se relaciona com outras técnicas de renderização disponíveis no 3ds Max. Esta informação vai ajudar a decidir qual técnica é mais adequada para a tarefa de visualização que deseja executar. Ao simular com mais precisão a iluminação em sua cena, a radiosidade oferece benefícios significativos sobre luzes padrão:

A renderização de computação gráfica

Os modelos 3D criados no 3ds Max contêm dados geométricos definidos em relação a um sistema de coordenadas cartesianas 3D, referido como espaço mundial. O modelo também contém outras informações sobre o material de cada um dos objetos e a iluminação na cena. A imagem em um monitor é composta de vários pontos iluminados, denominados pixels. A tarefa da criação de uma imagem de computação gráfica de um modelo geométrico é determinar a cor para cada pixel com base nas informações de modelo e de um determinado ponto de visualização (câmera).

A cor de um ponto específico de uma superfície em um modelo é uma função das propriedades do material físico da superfície e da luz que o ilumina. Dois algoritmos de sombreamento geral: iluminação local e iluminação global são utilizados para descrever como as superfícies refletem e transmitem luz.

Iluminação Local

Os algoritmos da iluminação local só descrevem como superfícies individuais refletem ou transmitem luz. Dada uma descrição de luz chegando em uma superfície, estes algoritmos de matemática, denominados sombreadores no 3ds Max, preveem a intensidade, cor e distribuição da luz deixada naquela superfície. Juntamente com uma descrição do material, diferentes sombreadores irão determinar, por exemplo, se uma superfície irá aparecer como plástico ou metal ou se irá parecer lisa ou irregular. 3ds Max fornece uma interface robusta para definir uma ampla variedade de diferentes materiais de superfície.

Após definir como uma superfície individual interage com luz em nível local, a próxima tarefa será determinar de onde a luz da superfície se origina. Com o sistema de linha de digitalização de renderização padrão do 3ds Max, somente a luz vindo diretamente das fontes de luz é considerada no sombreamento.

Para mais imagens precisas, no entanto, é importante levar em conta não somente as fontes de luz, mas também como as superfícies e objetos no ambiente interagem com a luz. Por exemplo, algumas luzes do bloco de superfícies, projetando sombras em outras superfícies; algumas superfícies são brilhantes, nesse caso, podemos ver nelas o reflexo de outras superfícies; algumas superfícies são transparentes, nesse caso, nós vemos outras superfícies através delas; e algumas superfícies refletem luz em outras superfícies.

Iluminação Global

Os algoritmos de renderização que levam em conta as maneiras como a luz é transferida entre as superfícies no modelo são chamadas de algoritmos de iluminação global. O 3ds Max oferece dois algoritmos de iluminação global como parte integrante de seu sistema de renderização de produção: tracejamento de raio e radiosidade.

Para obter uma explicação sobre como o tracejamento de raio e radiosidade funcionam, é útil compreender como a luz é distribuída no mundo físico. Considere a possibilidade de, por exemplo, o showroom mostrado na ilustração abaixo.

Cozinha iluminada por duas luzes

Esta cozinha acima tem duas fontes de luz. Uma teoria de luz considera a luz em termos de partículas discretas denominadas fótons, que viajam da fonte de luz até que encontrem alguma superfície na cozinha. Dependendo do material da superfície, alguns desses fótons são absorvidos e outros são espalhados no ambiente. O fato de que os fótons viajando em um determinado comprimento de onda são absorvidos enquanto outros não são é o que determina a cor da superfície.

Superfícies que são muito lisas refletem os fótons em uma direção, em um ângulo igual ao ângulo no qual eles chegam à superfície, o ângulo de incidência. Estas superfícies são conhecidas como superfícies especulares, e este tipo de reflexão é conhecido como reflexão especular. Um espelho é um exemplo de uma superfície perfeitamente especular. Obviamente, diversos materiais exibem algum grau de reflexão especular e reflexão difusa.

Esquerda: reflexão especular

.

Direita: reflexão difusa

A forma pela qual os fótons são refletidos de uma superfície depende principalmente da lisura da superfície. Superfícies irregulares tendem a refletir os fótons em todas as direções. Estes são conhecidos como superfícies difusas, e este tipo de reflexão é conhecido como reflexão difusa (mostrado acima). Uma parede pintada com pintura plana é um bom exemplo de uma superfície difusa.

A iluminação final da cozinha é determinada pela interação entre as superfícies e os bilhões de fótons emitidos da fonte de luz. Em qualquer ponto em uma superfície, é possível que os fótons tenham chegado diretamente da fonte de luz (iluminação direta) ou indiretamente por um ou mais ricochetes de outras superfícies (iluminação indireta). Se você estivesse em pé na cozinha, um número pequeno de fótons no ambiente entraria em seus olhos e estimularia os cones e bastonetes da retina. Esta simulação, em efeito, iria formar uma imagem que é percebida por seu cérebro.

Na computação gráfica, nós substituímos os cones e bastonetes da retina com os pixels da tela do computador. Um objetivo de um algoritmo de iluminação global é recriar, da forma mais precisa possível, o que você veria se estivesse em pé em um ambiente real. Um segundo objetivo é realizar esta tarefa assim que possível, de preferência em tempo real (30 imagens por segundo). No momento, não há um algoritmo de iluminação global que consiga alcançar os objetivos.

Tracejamento de raio

Um dos primeiros algoritmos de iluminação global desenvolvidos é conhecido como tracejamento de raio. O algoritmo de tracejamento de raio reconhece que, embora bilhões de fótons possam estar viajando sobre o ambiente, os fótons que nos interessam principalmente são aqueles que entram no olho. O algoritmo funciona com tracejamento de raios de trás para frente, de cada pixel na tela para o modelo 3D. Desta forma, calculamos apenas as informações necessárias para construir a imagem. Para criar uma imagem usando o tracejamento de raio, o procedimento a seguir é executado para cada pixel na tela do computador.

  1. Um raio é tracejado da posição do olho, pelo pixel no monitor, até realizar a intersecção com uma superfície. Sabemos da reflexidade da superfície da descrição do material, mas ainda não sabemos a quantidade de luz que alcança a superfície.
  2. Para determinar o total de iluminação, tracejamos um raio a partir do ponto de intersecção para cada fonte de luz no ambiente (sombra do raio). Se o raio para uma fonte de luz não é bloqueado por outro objeto, a contribuição da luz daquela fonte é utilizada para calcular a cor da superfície.
  3. Se uma superfície de interseção é brilhante ou transparente, temos também que determinar o que é visto em ou através da superfície sendo processada. As etapas 1 e 2 são repetidas (e, no caso de transparência, transmitidas) na direção refletida até que outra superfície seja encontrada. A cor em um ponto de intersecção subsequente é calculada e fatorada no ponto original.
  4. Se a segunda superfície também for refletiva ou transparente, o processo do tracejamento de raio se repete, e assim por diante, até que um número máximo de iterações seja atingido ou até que mais nenhuma intersecção seja realizada.

    Tracejamento de raio: Os raios são tracejados da câmera através de um pixel, para a geometria e, em seguida, de volta para suas fontes de luz.

O algoritmo do tracejamento de raio é bastante versátil devido à grande variedade de efeitos de iluminação que pode formular. Ele pode representar precisamente as características de iluminação global da iluminação direta, sombras, reflexões especulares (por exemplo, espelhos), e refração por materiais transparentes. A principal desvantagem do tracejamento de raio é que ele pode ser muito lento para ambientes de complexidade mesmo moderada. No 3ds Max, o tracejamento de raio é utilizado de forma seletiva em objetos com materiais de tracejamento de raio que especifique tracejamento de raio como opção de sombreado. O tracejamento de raio também pode ser especificado para fontes de luz como o método de renderização das sombras projetadas.

Uma significativa desvantagem de tracejamento de raio e renderização da linha de digitalização é que estas técnicas não representam uma característica muito importante de iluminação global, interreflexões difusas. Com o tracejamento de raio e renderização da linha de digitalização tradicional, somente a luz vinda diretamente das fontes de luz é precisamente representada. Mas, como mostrado no exemplo de ambiente, a luz não só chega a uma superfície das fontes de luz (iluminação direta), ela também chega a partir de outras superfícies (iluminação indireta). Se fossemos realizar o tracejamento de raio de uma imagem da cozinha, por exemplo, as áreas na sombra apareceriam pretas porque não recebem luz direta das fontes de luz. Sabemos por experiência, no entanto, que estas áreas não apareceriam completamente escuras por causa da luz que receberiam das paredes e pisos ao redor do ambiente.

Na renderização da linha de digitalização e tracejamento de raio tradicional (versões do 3ds Max anteriores a v5), esta iluminação indireta normalmente é levada em consideração simplesmente adicionando um valor arbitrário de luz ambiente que não tem correlação com o fenômeno físico da iluminação indireta e é constante pelo espaço. Por este motivo, a linha de digitalização e as imagens do tracejamento de raio podem frequentemente parecer muito planas, particularmente as renderizações de ambientes arquiteturais, que normalmente contêm superfícies mais difusas.

Radiosidade

Para solucionar este problema, pesquisadores começaram a investigar técnicas alternativas para calcular a iluminação global, o desenho nas pesquisas de engenharia térmica. No início dos anos 1960, engenheiros desenvolveram métodos para simular a transferência de calor radiativo entre superfícies para determinar como seus designs seriam executados em aplicações como fornalhas e motores. Em meados dos anos 1980, pesquisadores de computação gráfica começaram a investigar a aplicação destas técnicas para simular a propagação de luz.

Radiosidade, é como esta técnica é chamada no mundo da computação gráfica, difere fundamentalmente do tracejamento de raio. Ao invés de determinar a cor para cada pixel na tela, a radiosidade calcula a intensidade para todas as superfícies no ambiente. Isso é feito ao dividir as superfícies originais em uma malha de superfícies menores conhecidas como elementos. O algoritmo de radiosidade calcula a quantidade de luz distribuída de cada elemento de malha para cada outro elemento de malha. Os valores finais da radiosidade são armazenados para cada elemento de malha.

Radiosidade: um raio de luz que bate em uma superfície é refletido por vários raios difusos, que podem iluminar outras superfícies. As superfícies são subdivididas para aumentar a precisão da solução.

Em versões anteriores do algoritmo de radiosidade, a distribuição de luz entre os elementos de malha tinha que ser completamente calculada antes que qualquer resultado útil fosse exibido na tela. Embora o resultado tenha sido exibido independentemente, o pré-processamento levou uma quantidade de tempo considerável. Em 1988, o refinamento progressivo foi inventado. Esta técnica exibe resultados visuais imediatos que podem progressivamente melhorar em precisão e qualidade visual. Em 1999, a técnica denominada radiosidade do relaxamento estocástico (SRR) foi inventada. O algoritmo de uma SRR forma a base dos sistemas comerciais de radiosidade fornecidos pela Autodesk.

Uma Solução Integrada

Embora o tracejamento de raio e algoritmos de radiosidade sejam muito diferentes, eles são em muitas formas complementares. Cada técnica tem vantagens e desvantagens.

Algoritmo de Iluminação Vantagens Desvantagens
Tracejamento de raio Renderiza precisamente iluminação direta, as sombras, os reflexos especulares e efeitos de transparência.

Memória eficiente

Computacionalmente caro. O tempo necessário para produzir uma imagem é altamente afetado pelo número de fontes de luz.

O processo precisa ser repetido para cada visualização (exibição dependente).

Não representa interreflexões difusas.

Radiosidade Calcula interreflexões difusas entre superfícies.

Fornece uma solução de exibição independente para visualização rápida de exibições arbitrárias.

Oferece resultados visuais imediatos.

A malha 3D requer mais memória do que as superfícies originais.

O algoritmo de amostragem da superfície está mais suscetível a artefatos de imagens do que ao tracejamento de raio.

Não representa reflexões especulares ou efeitos de transparência.

Nenhuma radiosidade ou tracejamento de raio oferece uma solução completa para simular todos os efeitos de iluminação global. A radiosidade se sobressai na renderização de interreflexões difusa-para-difusa, e o tracejamento de raio se sobressai na renderização das reflexões especulares. Integrando técnicas com uma produção de qualidade e um sistema de renderização da linha de digitalização, o 3ds Max oferece o melhor dos dois mundos. Após criar uma solução de radiosidade, é possível renderizar uma vista bidimensional dela. Em sua cena do 3ds Max, o tracejamento de raio adiciona efeitos além daqueles que a radiosidade fornece: luzes podem fornecer as sombras de tracejamento de raio e materiais podem fornecer reflexões e refrações do tracejamento de raio. A cena renderizada combina as técnicas e tem um visual mais realista do que qualquer técnica poderia fornecer.

Com a integração do tracejamento de raio e da radiosidade, o 3ds Max oferece uma gama completa de possibilidades de visualização, desde estudos de iluminação interativa rápidos até imagens de qualidade e realismo excepcionais.