Como você construiria um efeito realista da visão infravermelha com shaders? Por realista, quero dizer um que parece realista, como este exemplo .
Eu tenho uma idéia sobre como criar uma textura para determinar quanto calor um material emite e, em seguida, determinar usando o produto escalar do vetor normal e de exibição quanto esse calor atinge o espectador, mas nem tenho certeza de que é assim que a visão térmica até funciona, então eu queria verificar se há uma abordagem melhor antes de começar a implementar algo que pode estar totalmente errado.
Respostas:
Há RI, e depois há RI. O alcance dos comprimentos de onda da luz comumente chamado de " infravermelho " se estende da borda do alcance visual humano (cerca de 700 nm) até 1 mm = 1.000.000 nm.
A resposta de Philipp está correta para a luz "infravermelha" (cerca de 700 a 1.400 nm), que é basicamente igual à luz visível normal, exceto que é invisível a olho humano sem ajuda. Para modelar a visão quase infravermelha, basta substituir as texturas dos objetos e as cores das fontes de luz por outras alternativas que modelam suas refletâncias e intensidades de luz em diferentes comprimentos de onda do que o habitual
No entanto, com base na redação da sua pergunta e no vídeo ao qual você vinculou, você parece estar mais interessado na faixa "infravermelho térmico" (8.000 a 15.000 nm), que corresponde ao pico do espectro de radiação térmica da maioria dos objetos do cotidiano , incluindo o corpo humano. Essa radiação ainda se comporta de muitas maneiras como "luz" e pode ser modelada usando técnicas padrão de computação gráfica (em oposição às ondas de rádio , onde os comprimentos de onda são longos o suficiente para que as suposições padrão da óptica de raios comecem a quebrar), mas o mundo como visto no infravermelho térmico tem suas peculiaridades:
Como observado acima, a maioria dos objetos brilha em infravermelho térmico. Para luz visível, geralmente você pode assumir que existem apenas algumas fontes de luz reais, com tudo o mais refletindo a luz emitida por outras fontes. Para IR térmica, dependendo do (s) comprimento (s) exato (s) de onda escolhido (s), geralmente é o oposto.
Por outro lado, a maioria das superfícies também absorve o IR térmico de maneira bastante eficiente. Por sua vez, isso os aquecerá, fazendo com que eles reemitam mais RI eles mesmos. Com efeito, é como se quase todas as superfícies fossem fosforescentes .
O espectro de infravermelho térmico (ou seja, "cor") emitido pela maioria das superfícies depende principalmente de sua temperatura. A emissividade intrínseca do material da superfície também tem um efeito, mas é relativamente limitada.
Assim, comparado à visão de luz normal, modelar uma visão térmica infravermelha realista exigiria mais ênfase na iluminação global e na alteração dinâmica dos valores de emissividade. Dependendo da sua configuração, você pode trapacear um pouco aqui: por exemplo, para cenas estáticas, as funções de transferência térmica radiativa global podem ser pré-computadas uma vez e inseridas em um mapa de luz estático , como você faria para falsificar a iluminação global. o espectro visível.
Se você deseja simular a vista através de uma câmera termográfica no seu jogo, recomendo pelo menos o seguinte:
Desenhe e / ou calcule emissividade de IR especial e / ou texturas de refletividade para seus objetos. Preste atenção especial à emissividade de objetos quentes (como seres humanos ou máquinas), que devem corresponder à temperatura da superfície. A refletividade é relativamente menos importante.
Você provavelmente desejará usar apenas um único canal espectral (ou seja, desenhar tudo em monocromático) correspondente ao fluxo infravermelho térmico total. É possível pós-processar a imagem mapeando os valores resultantes da escala de cinza em um gradiente de cores falsas para simular o corte de densidade tradicional usado para imagens térmicas.
Considere rastrear explicitamente a temperatura de suas superfícies, de modo que, digamos, um local no chão em que uma pessoa esteja deitada permaneça quente (e, portanto, brilhando em infravermelho) por um tempo, mesmo depois que a pessoa se afastar. Existem várias maneiras de lidar com isso (por exemplo, rastreamento de temperatura por vértice, adição de decalques para mudanças transitórias de temperatura local etc.) com diferentes trocas entre realismo e custo computacional. Você provavelmente não precisa fazê-lo muito realista, mas mesmo tendo este efeito presente em tudo seria um toque agradável.
fonte
O que você normalmente vê do mundo é a parte visual da luz que é refletida pelos objetos. Um objeto verde reflete apenas luz verde, um objeto vermelho somente luz vermelha e um objeto azul somente luz azul. O infravermelho pode ser considerado uma quarta cor que seus olhos não conseguem perceber. Uma câmera infravermelha torna a luz infravermelha visível para você, percebendo-a com um sensor e convertendo a imagem infravermelha em comprimentos de onda que você pode ver.
Assim como alguns materiais são mais ou menos brilhantes em vermelho, verde ou azul, eles também são diferentemente brilhantes em infravermelho. O brilho do infravermelho pode, mas não necessariamente precisa corresponder, ao brilho da luz visível.
Aqui está uma cena visível e em IR. Observe como as folhas das árvores são muito mais brilhantes no infravermelho do que nos troncos, mas o brilho do infravermelho das diferentes partes da fachada do edifício é semelhante na luz visível e no infravermelho.
O que você pode fazer é criar duas versões de todas as suas texturas: uma textura RGB para luz visível e uma textura monocromática alternativa para infravermelho. No modo normal, você usa a textura RGB e, no modo IR, usa a textura IR.
Você também pode considerar o uso de fontes de luz diferentes no modo IR. O sol produz tanta luz infravermelha quanto luz visível. Porém, fontes de luz artificiais (como lâmpadas halógenas ou diodos emissores de luz) produzem pouca ou quase nenhuma luz infravermelha, de modo que não iluminam nada em infravermelho. Por outro lado, existem fontes de luz muito mais fortes no infravermelho (como fogo aberto) ou apenas visíveis no infravermelho (objetos quentes que não são quentes o suficiente para brilharem em vermelho.) Ou fontes de luz infravermelha artificiais. usar óculos de infravermelho, você pode usar um controle remoto da TV como lanterna?). Diferentes condições de luz na luz normal e infravermelha podem ser um elemento interessante da jogabilidade.
fonte