2ª Entrega: HDR



Pues ná, hoy os voy a contar de que va eso del HDR (High Dynamic Range o, en españolo, alto rango dinámico).

Es una técnica para mejorar la iluminación en imágenes digitales. Consiste en combinar los valores de intensidad de mútiples imágenes de bajo rango dinámico para obtener una imagen resultante de alto rango dinámico llamada mapa de irradiación. En este mapa de irradiación los valores de los píxels son proporcionales al los valores verdaderos de irradiación de la escena y por lo tanto nos proporciona una información más útil sobre la iluminación de la misma.

Y diréis (o no, pero os lo cuento igual) ¿qué es eso del rango dinámico? Pues es el rango de intensidad de una imagen, la luminosidad desde el negro al blanco. El problema viene en que el rango dinámico que puede representar un monitor o una impresión es mucho menor que el que percibe nuestro ojo, por eso en una fotografía digital o en una escena de un videojuego la iluminación parece más pobre que en la realidad. Para solucionar estas limitaciones, HDR se usa combinado con dos efectos: Light Blooming y Tone Mapping.


En la actualidad ya están desarrollando monitores con soporte HDR y las últimas tarjetas gráficas (desde Shader Model 2.0 por software y a partir de 3.0 por hardware) también lo soportan.


Demo de Xbox360 en pantalla LCD con HDR:



Fue Greg Ward en 1985 quién indrodujo el uso de HDRI (HDR Imaging) en el mundo de los ordenadores con su Radiance, un software de renderizado y simulación de iluminación con el que creó el primer formato para contener una imagen en alto rango dinámico. Sin embargo, debido a la limitada capacidad de los ordenadores de la época, hubo que esperar más de una década para poder ponerlo en práctica.


En 1997, Paul Devec presentó “Recovering high dynamic range radiance maps from photographs” en SIGGRAPH (conferencia anual de gráficos por ordenador) y al año siguiente “Rendering synthetic objects into real scenes”. Estos dos documentos sentaron las bases para crear pruebas de luz HDR de una localización y usarlas para iluminar una escena renderizada. Desde entonces, HDRI y HDRL (HDR Lighting, también conocido como HDRR, HDR Rendering) se han usado en numerosas ocasiones cuando es necesario introducir un objeto 3D en una escena del mundo real con resultados de iluminación realistas.


En el mundo de los videojuegos empezó a usarse después de que en el E3 del 2003 Valve Software presentara una demo de su Source Engine renderizando una escena de una ciudad en alto rango dinámico. El término no volvió a la luz hasta el E3 del 2004 donde consiguió atraer mucha más atención, cuando Valve Software anunció el Half-Life: Lost Coast y Epic Megagames mostró el Unreal Engine 3.


Una de las características primarias de HDRR es que, tanto las áreas oscuras como las claras de una escena pueden ser representadas con precisión. Sin HDR, las áreas muy oscuras se represenatan como negras y las muy brillantes como blancas. Esto se representa por hardware como un valor en punto flotante de 0.0 para negro puro y 1.0 para blanco puro. Gracias a HDRR las cosas brillantes se pueden ver realmente brillantes y las oscuras realmente oscuras y aún así pueden apreciarse los detalles en ambas.

Sin HDRR, el sol y la mayoría de las luces se acortan al 100% (1.0 en el framebuffer). Cuando esta luz se refleja, el resultado debería ser entonces menor o igual a 1, puesto que el valor reflejado es calculado multiplicando el valor original por la reflectividad de la superficie, generalmente en el rango 0 a 1. Esto da la impresión de que la escena tiene poca intensidad. Sin embargo, usando HDRR, la luz emitida por el sol y otras luces se puede representar con valores altos apropiados, excediendo el límite de 1.0 en el frame buffer, con la posibilidad de que el sol sea guardado con un valor tan elevado como 60000. Cuando la luz se refleja puede seguir teniendo valores relativamente altos que serán acortados a blanco o convertidos apropiadamente con Tone Mapping (técnica que adapta las imágenes HDR para que se puedan visualizar en dispositivos como monitores que no soportan HDR) al renderizar la escena. Asimismo, cuando la luz se refracta a través del material (digamos, cristal) el detalle se conserva perfectamente.

Sólo puedo decir que los resultados son realmente espectaculares y que tiene que ser una pasada tener una de esas televisiones para jugar al Gears of War, por poner un ejemplo :P

Todo esto está explicado con más detalle en esta web de un trabajo en grupo que hice para una asignatura de la carrera y que habla sobre el tema, con una lista de las tarjetas gráficas que soportan HDR y otras cosillas interesantes, en la sección de ejemplos de HDRR hay imágenes de juegos con HDR como unas comparando el Company of Heroes habilitando y deshabilitando el HDR.

Ala, hasta la próxima entrega ^_^

1 comentarios:

iñaki dijo...

Un muy bueno e interesante artículo.. estoy deseando que saques el siguiente.