La renderización de alto rango dinámico ( HDRR o renderización HDR ), también conocida como iluminación de alto rango dinámico , es la renderización de escenas de gráficos de computadora mediante el uso de cálculos de iluminación realizados en alto rango dinámico (HDR). Esto permite la preservación de detalles que pueden perderse debido a las relaciones de contraste limitadas . Los videojuegos y las películas generadas por computadora y los efectos especiales se benefician de esto, ya que crea escenas más realistas que con modelos de iluminación más simplistas.
La compañía de procesadores gráficos Nvidia resume la motivación para el HDR en tres puntos: las cosas brillantes pueden ser muy brillantes, las cosas oscuras pueden ser muy oscuras y los detalles se pueden ver en ambas. [1]
El uso de imágenes de alto rango dinámico (HDRI) en gráficos por computadora fue introducido por Greg Ward en 1985 con su software de simulación de iluminación y renderizado de código abierto Radiance , que creó el primer formato de archivo que conserva una imagen de alto rango dinámico. La HDRI languideció durante más de una década, frenada por la capacidad de procesamiento, el almacenamiento y los métodos de captura limitados. No fue hasta hace poco que se desarrolló la tecnología para poner la HDRI en uso práctico. [2] [3]
En 1990, Nakame et al. presentaron un modelo de iluminación para simuladores de conducción que destacó la necesidad de un procesamiento de alto rango dinámico en simulaciones realistas. [4]
En 1995, Greg Spencer presentó Efectos de deslumbramiento basados en la física para imágenes digitales en SIGGRAPH , proporcionando un modelo cuantitativo para destellos y erupciones en el ojo humano. [5]
En 1997, Paul Debevec presentó Recuperación de mapas de radiancia de alto rango dinámico a partir de fotografías [6] en SIGGRAPH, y al año siguiente presentó Representación de objetos sintéticos en escenas reales . [7] Estos dos artículos sentaron las bases para crear sondas de luz HDR de una ubicación y luego usar esta sonda para iluminar una escena renderizada.
Desde entonces, HDRI y HDRL ( iluminación basada en imágenes de alto rango dinámico ) se han utilizado en muchas situaciones en escenas 3D en las que la inserción de un objeto 3D en un entorno real requiere que los datos de la sonda de luz proporcionen soluciones de iluminación realistas.
En aplicaciones de juegos, Riven: The Sequel to Myst en 1997 utilizó un sombreador de posprocesamiento HDRI basado directamente en el artículo de Spencer. [8] Después del E3 2003, Valve lanzó una película de demostración de su motor Source renderizando un paisaje urbano en un alto rango dinámico. [9] El término no se volvió a usar comúnmente hasta el E3 2004, donde ganó mucha más atención cuando Epic Games presentó Unreal Engine 3 y Valve anunció Half-Life 2: Lost Coast en 2005, junto con motores de código abierto como OGRE 3D y juegos de código abierto como Nexuiz .
Una de las principales ventajas de la representación HDR es que se conservan los detalles de una escena con una gran relación de contraste. Sin HDR, las áreas que son demasiado oscuras se recortan en negro y las áreas que son demasiado brillantes se recortan en blanco. Estos valores se representan por hardware como un valor de punto flotante de 0,0 y 1,0 para el negro puro y el blanco puro, respectivamente.
Otro aspecto de la renderización HDR es la adición de señales perceptivas que aumentan el brillo aparente. La renderización HDR también afecta a la forma en que se conserva la luz en fenómenos ópticos como los reflejos y las refracciones , así como en materiales transparentes como el vidrio. En la renderización LDR, las fuentes de luz muy brillantes en una escena (como el sol) tienen un límite de 1.0. Cuando esta luz se refleja, el resultado debe ser menor o igual a 1.0. Sin embargo, en la renderización HDR, las fuentes de luz muy brillantes pueden superar el brillo de 1.0 para simular sus valores reales. Esto permite que los reflejos de las superficies mantengan un brillo realista para las fuentes de luz brillantes.
El ojo humano puede percibir escenas con una relación de contraste dinámico muy alta , de alrededor de 1.000.000:1. La adaptación se logra en parte mediante ajustes del iris y cambios químicos lentos, que requieren cierto tiempo (por ejemplo, el retraso en poder ver cuando se pasa de una iluminación brillante a una oscuridad total). En un momento dado, el rango estático del ojo es menor, alrededor de 10.000:1. Sin embargo, sigue siendo superior al rango estático de la mayoría de las tecnologías de visualización. [ cita requerida ]
Aunque muchos fabricantes afirman cifras muy elevadas, las pantallas de plasma , las pantallas de cristal líquido y las pantallas CRT pueden ofrecer solo una fracción de la relación de contraste que se encuentra en el mundo real, y estas generalmente se miden en condiciones ideales. [ cita requerida ] El contraste simultáneo del contenido real en condiciones de visualización normales es significativamente menor.
Se puede lograr un aumento del rango dinámico en los monitores LCD reduciendo automáticamente la retroiluminación para las escenas oscuras. Por ejemplo, LG llama a esta tecnología "Contraste fino digital"; [10] Samsung la describe como "relación de contraste dinámico". Otra técnica es tener una serie de retroiluminación LED más brillantes y más oscuras, por ejemplo con sistemas desarrollados por BrightSide Technologies. [11]
Las pantallas OLED tienen mejores capacidades de rango dinámico que las LCD, similares a las de plasma pero con un menor consumo de energía. La Rec. 709 define el espacio de color para HDTV y la Rec. 2020 define un espacio de color más grande pero aún incompleto para la televisión de ultraalta definición .
La floración de luz es el resultado de la dispersión en el cristalino humano, que el cerebro humano interpreta como un punto brillante en una escena. Por ejemplo, una luz brillante en el fondo parecerá filtrarse sobre los objetos en primer plano. Esto se puede utilizar para crear una ilusión que haga que el punto brillante parezca más brillante de lo que realmente es. [5]
El destello es la difracción de la luz en el cristalino humano, que da lugar a "rayos" de luz que emanan de pequeñas fuentes de luz y también puede producir algunos efectos cromáticos. Es más visible en fuentes de luz puntuales debido a su pequeño ángulo visual. [5]
Los dispositivos de visualización típicos no pueden mostrar una luz tan brillante como la del sol, y la iluminación ambiental de la habitación les impide mostrar el negro verdadero. Por lo tanto, los sistemas de renderizado HDR tienen que mapear el rango dinámico completo de lo que el ojo vería en la situación renderizada en las capacidades del dispositivo. Este mapeo de tonos se realiza en relación con lo que ve la cámara de la escena virtual, combinado con varios efectos de pantalla completa , por ejemplo, para simular el polvo en el aire que está iluminado por la luz solar directa en una caverna oscura, o la dispersión en el ojo.
El mapeo de tonos y los sombreadores florecientes se pueden usar juntos para ayudar a simular estos efectos.
El mapeo de tonos, en el contexto de la representación gráfica, es una técnica que se utiliza para mapear colores desde un rango dinámico alto (en el que se realizan los cálculos de iluminación) a un rango dinámico más bajo que coincida con las capacidades del dispositivo de visualización deseado. Normalmente, el mapeo no es lineal: conserva suficiente rango para los colores oscuros y limita gradualmente el rango dinámico para los colores brillantes. Esta técnica suele producir imágenes visualmente atractivas con un buen nivel general de detalle y contraste. Existen varios operadores de mapeo de tonos, que van desde métodos simples en tiempo real utilizados en juegos de computadora hasta técnicas más sofisticadas que intentan imitar la respuesta perceptiva del sistema visual humano.
Actualmente, el HDRR ha estado muy extendido en los juegos , principalmente para PC , Xbox 360 de Microsoft y PlayStation 3 de Sony . También se ha simulado en los sistemas PlayStation 2 , GameCube , Xbox y Amiga . Sproing Interactive Media ha anunciado que su nuevo motor de juego Athena para Wii será compatible con el HDRR, añadiendo así a Wii a la lista de sistemas que lo admiten.
En la edición de escritorio y los juegos, los valores de color suelen procesarse varias veces. Como esto incluye la multiplicación y la división (que pueden acumular errores de redondeo ), resulta útil contar con la precisión y el rango ampliados de los formatos de números enteros de 16 bits o de coma flotante de 16 bits . Esto resulta útil independientemente de las limitaciones mencionadas anteriormente en algunos equipos.
Los efectos de sombreado complejos comenzaron a aparecer con el lanzamiento de Shader Model 1.0 con DirectX 8. Shader Model 1.0 iluminaba los mundos 3D con lo que se denomina iluminación estándar. Sin embargo, la iluminación estándar tenía dos problemas:
El 24 de diciembre de 2002, Microsoft lanzó una nueva versión de DirectX . DirectX 9.0 introdujo Shader Model 2.0, que ofrecía uno de los componentes necesarios para permitir la representación de imágenes de alto rango dinámico: la precisión de la iluminación no se limitaba a solo 8 bits. Aunque 8 bits era el mínimo en las aplicaciones, los programadores podían elegir hasta un máximo de 24 bits para la precisión de la iluminación. Sin embargo, todos los cálculos seguían basándose en números enteros. Una de las primeras tarjetas gráficas en soportar DirectX 9.0 de forma nativa fue la Radeon 9700 de ATI , aunque el efecto no se programó en los juegos hasta años después. El 23 de agosto de 2003, Microsoft actualizó DirectX a DirectX 9.0b, que habilitó el perfil Pixel Shader 2.x (Extended) para la serie Radeon X de ATI y la serie GeForce FX de unidades de procesamiento gráfico de NVIDIA .
El 9 de agosto de 2004, Microsoft actualizó DirectX una vez más a DirectX 9.0c. Esto también expuso el perfil Shader Model 3.0 para High-Level Shader Language (HLSL). La precisión de iluminación de Shader Model 3.0 tiene un mínimo de 32 bits en comparación con el mínimo de 8 bits de 2.0. Además, todos los cálculos de precisión de iluminación ahora se basan en punto flotante . NVIDIA afirma que las relaciones de contraste que utilizan Shader Model 3.0 pueden ser tan altas como 65535:1 utilizando una precisión de iluminación de 32 bits. Al principio, HDRR solo era posible en tarjetas de video capaces de efectos Shader-Model-3.0, pero los desarrolladores de software pronto agregaron compatibilidad para Shader Model 2.0. Como nota al margen, cuando se hace referencia a Shader Model 3.0 HDR, HDRR en realidad se realiza mediante la combinación FP16. La combinación FP16 no forma parte de Shader Model 3.0, pero la admiten principalmente las tarjetas que también son compatibles con Shader Model 3.0 (las excepciones incluyen la serie GeForce 6200). La combinación FP16 se puede utilizar como una forma más rápida de renderizar HDR en videojuegos.
Shader Model 4.0 es una característica de DirectX 10, que se lanzó con Windows Vista. Shader Model 4.0 permite renderizar HDR a 128 bits, a diferencia del HDR de 64 bits de Shader Model 3.0 (aunque esto es teóricamente posible con Shader Model 3.0).
Shader Model 5.0 es una característica de DirectX 11. Permite la compresión 6:1 de texturas HDR sin pérdida notable, algo que es común en versiones anteriores de técnicas de compresión de texturas HDR de DirectX.
Es posible desarrollar HDRR a través del shader GLSL a partir de OpenGL 1.4 en adelante.