¿Cómo construiría un efecto realista de "visión infrarroja"?

20

¿Cómo construirías un efecto de visión infrarroja realista con sombreadores? Por realista quiero decir uno que parece realista, como este ejemplo .

Tengo una idea sobre cómo hacer una textura para determinar cuánto calor emite un material y luego determinar usando el producto punto de normal y ver el vector cuánto de ese calor llega al espectador, pero ni siquiera estoy seguro de que así sea la visión térmica incluso funciona, así que quería comprobar si hay un mejor enfoque antes de comenzar a implementar algo que podría estar completamente equivocado.

Mikael Högström
fuente
3
nah con infrarrojos se puede asumir que todo es un emisor difuso con diferentes intensidades, por lo que sólo dividir con el cuadrado de la distancia a los objetos más cercanos aparecerán más brillantes
trinquete monstruo
solo empaca los valores térmicos en la textura. o tener una textura separada si la quieres más avanzada.
Tordin
1
@ratchetfreak: solo necesita dividir por el cuadrado de la distancia para las fuentes puntuales (o las cosas que está aproximando como fuentes puntuales). Para los objetos extendidos, debe mantener constante la luminancia (lectura: brillo por píxel), mientras que el ángulo sólido (lectura: número de píxeles en la pantalla) cubierto por el objeto cae como el cuadrado inverso de la distancia debido a la perspectiva.
Ilmari Karonen

Respuestas:

25

Hay IR, y luego está IR. El rango de longitudes de onda de la luz comúnmente llamado " infrarrojo " se extiende desde el borde del rango visual humano (aproximadamente 700 nm) hasta 1 mm = 1,000,000 nm.

La respuesta de Philipp es correcta para la luz "infrarroja cercana" (alrededor de 700 a 1.400 nm), que es básicamente como la luz visible normal, excepto que es invisible para el ojo humano sin ayuda. Para modelar la visión de infrarrojo cercano, simplemente reemplazaría las texturas de los objetos y los colores de la fuente de luz por otros alternativos que modelen sus reflectancias e intensidades de luz a diferentes longitudes de onda de lo habitual

Sin embargo, según la redacción de su pregunta y el video al que se vinculó, parece estar más interesado en el rango de "infrarrojo térmico" (8,000 a 15,000 nm), que corresponde al pico del espectro de radiación térmica de la mayoría de los objetos cotidianos. , incluido el cuerpo humano. Esta radiación todavía se comporta de la mayoría de las formas como "luz" y puede modelarse utilizando técnicas gráficas de computadora estándar (a diferencia de las ondas de radio , donde las longitudes de onda son lo suficientemente largas como para que los supuestos estándar de la óptica de rayos comiencen a descomponerse), pero el mundo como se ve en infrarrojo térmico tiene sus peculiaridades:

  • Como se señaló anteriormente, la mayoría de los objetos brillarán en IR térmico. Para la luz visible, generalmente puede suponer que solo hay unas pocas fuentes de luz reales, y todo lo demás solo refleja la luz emitida por otras fuentes. Para IR térmico, dependiendo de la (s) longitud (es) de onda exacta (s) elegida (s), a menudo sucede lo contrario.

  • Por el contrario, la mayoría de las superficies también absorberán el IR térmico de manera bastante eficiente. Esto, a su vez, los calentará y hará que vuelvan a emitir más IR. En efecto, es como si casi todas las superficies fueran fosforescentes .

  • El espectro térmico IR (es decir, "color") emitido por la mayoría de las superficies dependerá principalmente de su temperatura. La emisividad intrínseca del material de la superficie también tiene un efecto, pero relativamente limitado.

Por lo tanto, en comparación con la visión de luz normal, modelar una visión infrarroja térmica realista requeriría más énfasis en la iluminación global y en los valores de emisividad que cambian dinámicamente. Dependiendo de su configuración, es posible que pueda hacer un poco de trampa aquí: por ejemplo, para escenas estáticas, las funciones de transferencia térmica radiactiva global pueden calcularse una vez y hornearse en un mapa de luz estático , tal como lo haría para falsificar la iluminación global en El espectro visible.

Si quieres simular la vista a través de una cámara termográfica en tu juego, te recomiendo al menos lo siguiente:

  • Dibuje y / o calcule texturas especiales de emisividad y / o reflectividad IR para sus objetos. Presta especial atención a la emisividad de los objetos cálidos (como humanos o máquinas), que deben corresponder a su temperatura superficial. La reflectividad es relativamente menos importante.

  • Probablemente quiera usar solo un canal espectral (es decir, dibujar todo en monocromo) correspondiente al flujo IR térmico total. Puede postprocesar la imagen mapeando los valores de escala de grises resultantes en un gradiente de color falso para simular el corte de densidad tradicional utilizado para las imágenes térmicas.

  • Considere hacer un seguimiento explícito de la temperatura de sus superficies, de modo que, por ejemplo, un lugar en el suelo sobre el que una persona estaba acostada se mantendrá caliente (y, por lo tanto, brillará en IR) durante un tiempo, incluso después de que la persona se haya alejado. Hay varias formas de manejarlo (por ejemplo, seguimiento de temperatura por vértice, agregar calcomanías para cambios de temperatura locales transitorios, etc.) con diferentes compensaciones entre realismo y costo computacional. Probablemente no es necesario que sea muy realista, pero ni siquiera tener este efecto presentes en absoluto sería un buen toque.

Ilmari Karonen
fuente
+1 muy buena respuesta! Me gusta especialmente su último punto: no había considerado esto en absoluto y creo que está en lo correcto, sería un toque muy agradable que incluso podría ayudar a desviar la atención del usuario del hecho de que el resto podría no ser del todo realista.
Mikael Högström
Ambas fueron respuestas buenas y útiles, pero la suya me ayudó un poco más específicamente al señalarme hacia diferentes longitudes de onda del espectro IR y ajustar dinámicamente los valores de emisividad. Pero, ¿cómo diablos sabías todo esto sobre algo tan lejos del desarrollo del juego? He trabajado con IRV en la vida real y no sabía la mitad de esto :)
Mikael Högström
Wikipedia :) No, en serio, sabía que el IR cercano no es lo mismo que el IR térmico, y estaba interesado en el trazado de rayos y otras técnicas de renderizado sofisticadas, por lo que sabía que tenían aplicaciones para modelar la transferencia de calor radiativo. La mayoría del resto solo lo miré. Creo que la impresión térmica fue algo sobre lo que una vez vi un video de YouTube.
Ilmari Karonen
11

Lo que normalmente se ve desde el mundo es la parte visual de la luz que se refleja en los objetos. Un objeto verde refleja solo luz verde, un objeto rojo solo luz roja y un objeto azul solo luz azul. El infrarrojo puede considerarse un cuarto color que sus ojos no pueden percibir. Una cámara infrarroja hace que la luz infrarroja sea visible para usted al percibirla con un sensor y convertir la imagen infrarroja en longitudes de onda que puede ver.

Al igual que algunos materiales son más o menos brillantes en rojo, verde o azul, también tienen un brillo diferente en IR. El brillo IR puede, pero no necesariamente, corresponde a lo brillante que es en luz visible.

Aquí hay una escena en visible y en IR. Observe cómo las hojas de los árboles son mucho más brillantes en IR que los troncos, pero el brillo IR de las diferentes partes de la fachada del edificio es similar en luz visible e IR.

Lo que podría hacer es crear dos versiones de todas sus texturas: una textura RGB para la luz visible y una textura monocromática alternativa para el infrarrojo. En modo normal, usa la textura RGB y en modo IR usa la textura IR.

También puede considerar usar diferentes fuentes de luz en modo IR. El sol produce tanta luz IR como la luz visible. Pero las fuentes de luz artificial (como las lámparas halógenas o los diodos emisores de luz) producen poca o casi ninguna luz IR, por lo que no iluminan nada en infrarrojo. Por otro lado, hay fuentes de luz que son mucho más fuertes en IR (como fuego abierto) o solo visibles en IR (objetos calientes que no son lo suficientemente calientes como para brillar en rojo. O fuentes de luz IR artificiales. ¿Sabía eso cuando use gafas IR, ¿puede usar un control remoto de TV como linterna?). Diferentes condiciones de luz en luz normal e IR podrían ser un elemento de juego interesante.

Philipp
fuente
Nunca consideró realmente las fuentes de luz IR. Supongo que podrías hacer algunos efectos geniales con el restablecimiento de los IRV cuando miras directamente a una fuente de IR ...
Mikael Högström
La foto de arriba es UV, pero aún proporcionaría algunos efectos geniales para tener visión nocturna UV o infrarroja. Esto me hizo pensar porque recientemente probé un sombreador de imágenes térmicas que se ve muy bien.
SICGames2013
2
@ SICGames2013 ¿Por qué crees que es ultravioleta? Lo obtuve del artículo de Wikipedia en alemán sobre luz infrarroja . La descripción de la imagen dice que muestra la longitud de onda de 700-1000 nm.
Philipp
El rango 700-1000 es infrarrojo, pero la imagen de arriba se ve ultravioleta solo por el púrpura. Las cámaras infrarrojas como Sony o las de tipo militar son de contraste blanco - grisáceo o simplemente más profundas en el espectro infrarrojo para detectar el calor corporal; mapear el rango de temperatura de una persona a través de una paleta de colores. Con la visión nocturna de Sony, es gris, pero ahora un día les ponen un tinte verde. Las gafas de visión nocturna militar se tiñen de verde para que el usuario pueda ver mejor las imágenes después de que los electrones golpeen la pantalla de fósforo en el extremo posterior del tubo.
SICGames2013
1
@ SICGames2013 Cuando crees seriamente que muestra el espectro ultravioleta porque la imagen tiene un tinte violeta, no entendiste el significado de "infra" o "ultra" en esos términos.
Philipp