El renderizado de alto rango dinámico ( renderizado HDRR o HDR ), también conocido como iluminación de alto rango dinámico , es el renderizado de escenas de gráficos por computadora mediante el uso de cálculos de iluminación realizados en alto rango dinámico (HDR). Esto permite la preservación de los detalles que pueden perderse debido a la limitación de las relaciones de contraste . Los videojuegos y las películas generadas por ordenador y efectos especiales se benefician de esto, ya que crea escenas más realistas que los modelos de iluminación más simplistas.
La empresa de procesadores gráficos Nvidia resume la motivación para HDR en tres puntos: las cosas brillantes pueden ser realmente brillantes, las cosas oscuras pueden ser realmente oscuras y los detalles se pueden ver en ambos. [1]
Historia
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 Radiance de código abierto, que creó el primer formato de archivo para retener una imagen de alto rango dinámico. El HDRI languideció durante más de una década, frenado por métodos de captura, almacenamiento y poder de cómputo limitados. No hasta hace poco [ ¿cuándo? ] se ha desarrollado la tecnología para poner en práctica la HDRI. [2] [3]
En 1990, Nakame, et al. , presentó un modelo de iluminación para simuladores de conducción que destacó la necesidad de 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 los destellos y la floración en el ojo humano. [5]
En 1997, Paul Debevec presentó Recuperación de mapas de resplandor de alto rango dinámico a partir de fotografías [6] en SIGGRAPH, y al año siguiente presentó Renderizado 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 los datos de la sonda de luz para proporcionar soluciones de iluminación realistas.
En aplicaciones de juegos, Riven: The Sequel to Myst en 1997 utilizó un sombreador de postprocesamiento 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 que representa un paisaje urbano en un alto rango dinámico. [9] El término no se volvió a utilizar hasta el E3 de 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 .
Ejemplos de
Una de las principales ventajas del renderizado 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 están representados por el hardware como un valor de punto flotante de 0.0 y 1.0 para negro puro y blanco puro, respectivamente.
Otro aspecto de la reproducción HDR es la adición de señales perceptivas que aumentan el brillo aparente. La renderización HDR también afecta la forma en que se conserva la luz en fenómenos ópticos como reflejos y refracciones , así como en materiales transparentes como el vidrio. En el renderizado 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 el renderizado 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 fuentes de luz brillantes.
Limitaciones y compensaciones
Ojo humano
El ojo humano puede percibir escenas con una relación de contraste dinámico muy alta , alrededor de 1.000.000: 1. La adaptación se logra en parte a través de ajustes del iris y cambios químicos lentos, que toman algún tiempo (por ejemplo, el retraso en poder ver cuando se cambia de una luz brillante a una oscuridad total). En un momento dado, el rango estático del ojo es menor, alrededor de 10,000: 1. Sin embargo, esto sigue siendo más alto que el rango estático de la mayoría de las tecnologías de visualización. [ cita requerida ]
Salida a pantallas
Aunque muchos fabricantes afirman números muy altos, pantallas de plasma , pantallas LCD , y CRT pueden entregar sólo una fracción de la relación de contraste se encuentra en el mundo real, y éstos se miden generalmente en condiciones ideales. [ cita requerida ] El contraste simultáneo de contenido real en condiciones normales de visualización es significativamente menor.
Se puede lograr cierto aumento en el rango dinámico en los monitores LCD reduciendo automáticamente la luz de fondo para escenas oscuras. Por ejemplo, LG llama a esta tecnología "Contraste fino digital"; [10] Samsung lo describe como "relación de contraste dinámico". Otra técnica es tener una serie de luces de fondo 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, similar al plasma pero con menor consumo de energía. Rec. 709 define el espacio de color para HDTV y Rec. 2020 define un espacio de color más grande pero aún incompleto para la televisión de ultra alta definición .
Floración ligera
El florecimiento de la luz es el resultado de la dispersión en la lente humana, que el cerebro humano interpreta como un punto brillante en una escena. Por ejemplo, una luz brillante en el fondo parecerá derramarse sobre los objetos en primer plano. Esto se puede usar para crear una ilusión y hacer que el punto brillante parezca más brillante de lo que realmente es. [5]
Llamarada
Flare es la difracción de la luz en la lente humana, lo que resulta en "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]
De lo contrario, los sistemas de renderizado HDR tienen que asignar el rango dinámico completo a 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 escena virtual, combinado con varios efectos de pantalla completa , por ejemplo, para simular el polvo en el aire 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.
Mapeo de tonos
El mapeo de tonos, en el contexto de la representación de gráficos, es una técnica utilizada para mapear colores desde un rango dinámico alto (en el que se realizan cálculos de iluminación) a un rango dinámico más bajo que coincide con las capacidades del dispositivo de visualización deseado. Normalmente, el mapeo no es lineal: conserva suficiente rango para colores oscuros y limita gradualmente el rango dinámico para colores brillantes. Esta técnica a menudo produce imágenes visualmente atractivas con buen detalle y contraste en general. 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.
Aplicaciones en entretenimiento informático
Actualmente HDRR ha sido frecuente en los juegos , sobre todo para los PC , Microsoft 's Xbox 360 y Sony ' s PlayStation 3 . 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 admitirá HDRR, agregando Wii a la lista de sistemas que lo admiten.
En la publicación de escritorio y los juegos, los valores de color a menudo se procesan varias veces. Como esto incluye la multiplicación y la división (que pueden acumular errores de redondeo ), es útil tener la precisión y el rango extendidos de los formatos enteros de 16 bits o de coma flotante de 16 bits . Esto es útil independientemente de las limitaciones mencionadas anteriormente en algunos hardware.
Desarrollo de HDRR a través de DirectX
Los efectos de sombreado complejos comenzaron sus días con el lanzamiento de Shader Model 1.0 con DirectX 8. Shader Model 1.0 iluminó mundos 3D con lo que se llama iluminación estándar. La iluminación estándar, sin embargo, tenía dos problemas:
- La precisión de la iluminación se limitó a números enteros de 8 bits, lo que limitó la relación de contraste a 256: 1. Con el modelo de color HVS , el valor (V) o el brillo de un color tiene un rango de 0 a 255. Esto significa que el blanco más brillante (un valor de 255) es solo 255 niveles más brillante que el tono más oscuro por encima del negro puro (es decir, : valor de 0).
- Los cálculos de iluminación se basaban en números enteros , lo que no ofrecía tanta precisión porque el mundo real no se limita a números enteros.
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 estando basados en números enteros. Una de las primeras tarjetas gráficas con soporte para DirectX 9.0 de forma nativa era ATI 's Radeon 9700 , aunque el efecto no fue programado en juegos durante 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 (Extendido) para la serie Radeon X de ATI y la serie GeForce FX de NVIDIA de unidades de procesamiento de gráficos.
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 lenguaje de sombreado de alto nivel (HLSL). La precisión de iluminación del Shader Model 3.0 tiene un mínimo de 32 bits en comparación con el mínimo de 8 bits del 2.0. Además, todos los cálculos de precisión de iluminación ahora se basan en puntos flotantes . NVIDIA afirma que las relaciones de contraste con Shader Model 3.0 pueden llegar a 65535: 1 con 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 lo denomina Shader Model 3.0 HDR, HDRR realmente se realiza mediante la combinación FP16. La combinación de FP16 no es parte de Shader Model 3.0, pero es compatible principalmente con 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 función de DirectX 10, que se ha lanzado con Windows Vista. Shader Model 4.0 permite renderizado HDR de 128 bits, a diferencia del HDR de 64 bits en Shader Model 3.0 (aunque esto es teóricamente posible bajo 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 una pérdida notable, lo que prevalece en versiones anteriores de las técnicas de compresión de texturas DirectX HDR.
Desarrollo de HDRR a través de OpenGL
Es posible desarrollar HDRR a través del sombreador GLSL a partir de OpenGL 1.4 en adelante.
Motores de juegos que admiten renderizado HDR
- Unreal Engine 5
- Unreal Engine 4
- Unreal Engine 3 [12]
- Chrome Engine 3
- Fuente [13]
- REDengine 3 [14]
- CryEngine , [15] CryEngine 2 , [16] CryEngine 3
- Motor Dunia
- Gamebryo
- Godot (motor de juego)
- Décima [17]
- Unidad
- id Tech 5
- LithTech
- Unigine [18]
- Congelación 2
- Real Virtuality 2 , Real Virtuality 3 , Real Virtuality 4
- Motor HPL 3
- Babylon JS [19]
- Torque 3D [20]
- Motor de rayos X
Ver también
- Oclusión ambiental
- Shader
Referencias
- ^ Simon Green y Cem Cebenoyan (2004). "Representación de alto rango dinámico (en la GeForce 6800)" (PDF) . Serie GeForce 6 . nVidia. pag. 3.
- ^ Reinhard, Erik; Greg Ward; Sumanta Pattanaik; Paul Debevec (agosto de 2005). Imágenes de alto rango dinámico: adquisición, visualización e iluminación basada en imágenes . Westport, Connecticut: Morgan Kaufmann. ISBN 978-0-12-585263-0.
- ^ Greg Ward. "Imágenes de alto rango dinámico" (PDF) . Anywhere.com . Consultado el 18 de agosto de 2009 .
- ^ Eihachiro Nakamae; Kazufumi Kaneda; Takashi Okamoto; Tomoyuki Nishita (1990). Un modelo de iluminación destinado a simuladores de conducción . SIGGRAPH . pag. 395. doi : 10.1145 / 97879.97922 . ISBN 978-0201509335. S2CID 11880939 .
- ^ a b c Greg Spencer; Peter Shirley; Kurt Zimmerman; Donald P. Greenberg (1995). Efectos de deslumbramiento de base física para imágenes digitales . SIGGRAPH . pag. 325 . CiteSeerX 10.1.1.41.1625 . doi : 10.1145 / 218380.218466 . ISBN 978-0897917018. S2CID 17643910 .
- ^ Paul E. Debevec y Jitendra Malik (1997). "Recuperación de mapas de luminosidad de alto rango dinámico a partir de fotografías" . SIGGRAPH .
- ^ Paul E. Debevec (1998). "Transformación de objetos sintéticos en escenas reales: uniendo gráficos tradicionales y basados en imágenes con iluminación global y fotografía de alto rango dinámico" . SIGGRAPH .
- ^ Forcade, Tim (febrero de 1998). "Desentrañar a Riven". Mundo de gráficos por computadora .
- ^ Válvula (2003). "Half-Life 2: Source DirectX 9.0 Effects Trailer (2003)" . YouTube.
- ^ Contraste fino digital
- ^ BrightSide Technologies ahora es parte de Dolby - Archivado el 10 de septiembre de 2007 en Wayback Machine.
- ^ "Renderizado - Características - Tecnología irreal" . Juegos épicos . 2006. Archivado desde el original el 7 de marzo de 2011 . Consultado el 15 de marzo de 2011 .
- ^ "FUENTE - SISTEMA DE RENDERING" . Válvula . 2007. Archivado desde el original el 23 de marzo de 2011 . Consultado el 15 de marzo de 2011 .
- ^ "La asombrosa tecnología de The Witcher 3" . PC-Gamer . 2015 . Consultado el 8 de mayo de 2016 .
- ^ "FarCry 1.3: último juego de Crytek trae HDR y 3Dc por primera vez" . Laboratorios X-bit . 2004. Archivado desde el original el 24 de julio de 2008 . Consultado el 15 de marzo de 2011 .
- ^ "CryEngine 2 - Descripción general" . CryTek . 2011 . Consultado el 15 de marzo de 2011 .
- ^ Pereira, Chris (3 de diciembre de 2016). "Kojima se asoció con Killzone, Horizon Dev Guerrilla para Death Stranding" . GameSpot . CBS Interactive . Archivado desde el original el 4 de diciembre de 2019 . Consultado el 3 de diciembre de 2016 .
- ^ "Unigine Engine - Unigine (motor 3D avanzado para juegos multiplataforma y sistemas de realidad virtual)" . Unigine Corp . 2011 . Consultado el 15 de marzo de 2011 .
- ^ "Copia archivada" . Archivado desde el original el 4 de julio de 2015 . Consultado el 3 de julio de 2015 .CS1 maint: copia archivada como título ( enlace )
- ^ "Versión de código abierto con licencia del MIT de Torque 3D de GarageGames: GarageGames / Torque3D" . 2019-08-22.
enlaces externos
- Resumen técnico de HDRR de NVIDIA ( PDF )
- Una implementación de HDRR con OpenGL 2.0
- Implementación de OpenGL HDRR
- Representación de alto rango dinámico en OpenGL ( PDF )
- Resumen técnico de Microsoft sobre SM3.0 en comparación con SM2.0
- Tom's Hardware: Nuevas características de la tarjeta gráfica de 2006
- Lista de GPU compilada por Chris Hare
- techPowerUp! Base de datos de GPU
- Comprensión de las relaciones de contraste en dispositivos de visualización de video
- Requiem de TBL, con renderizado HDR en tiempo real en software
- Lista de videojuegos compatibles con HDR
- Ejemplos de fotografía de alto rango dinámico