Renderizado HDR(Imágenes de Alto Rango Dinámico) en Unity
En un renderizado estándar, los valores rojo, verde y azul para un píxel son cada uno representados por una fracción en un rango de 0..1, dónde 0 representan intensidad cero y 1 representa la intensidad máxima para la pantalla del dispositivo. Si bien esto es sencillo de usar, esto no refleja con precisión la manera en que la iluminación funciona en una escena de la vida real. El ojo humano tiende a ajustar las condiciones de iluminación locales, para que un objeto que parece blanco en una habitación con poca luz pueda de hecho ser menos brillante que un objeto que parezca gris en plena luz del día. Adicionalmente, el ojo es más sensible a las diferencias de brillo en el extremo inferior del rango que en el extremo superior.
Más efectos visuales convincentes pueden ser logrados si la renderización está adaptada para dejar que los rangos de los valores de píxel reflejen con más precisión los niveles de luz que estarían presentes en una escena real. Aunque estos valores en ultimas necesitan ser asignados de nuevo al rango disponible en la pantalla del dispositivo, cualquier calculación intermedia (tal como los efectos de imagen de Unity) va a dar un resultado más autentico. Permitir que la representación interna de los gráficos utilicen valores afuera del rango 0..1 es la esencia del renderizado Imágenes de Alto Rango Dinámico (High Dynamic Range) (HDR)
Trabajando con HDR
HDR es habilitado por separado para cada cámara utilizando un ajuste en el componente de la Cámara:-
When HDR is active, the scene is rendered into an HDR image buffer which can accommodate pixel values outside the 0..1 range. This buffer is then used by post-processing effects such as the Bloom effect in the Post-processing stack. The HDR image is then converted into the standard low dynamic range (LDR) image to be sent for display. This is usually done via Tonemapping, part of the Color Grading pipeline. The conversion to LDR must be applied at some point in the post-process pipeline but it need not be the final step if LDR-only post-processing effects are to be applied afterwards. For convenience, some post-processing effects can automatically convert to LDR after applying an HDR effect (see Scripting below).
Tonemapping is the process of mapping HDR values back into the LDR range. There are many different techniques, and what is good for one project may not be the best for another. A variety of tonemapping techniques have been included in the Post-processing stack. To use them you can download the Post-processing stack from the Asset Store. A detailed description of the tonemapping types can be found in the Color Grading documentation.
Ventajas de HDR
Desventajas de HDR
Notas de Uso
En el modo de reproducción directa, HDR solo se admite si tiene un efecto de posprocesamiento presente. Esto se debe a consideraciones de rendimiento. Si no tiene un efecto de posprocesamiento presente, no existirá ningún mapeo de tonos y se producirá un truncamiento de intensidad. En esta situación, la escena se procesará directamente en el backbuffer donde HDR no es compatible.
En el modo HDR, el búfer de iluminación también se asigna como un búfer de punto flotante. Esto reduce las bandas en el búfer de iluminación. HDR se admite en la representación diferida incluso si no hay efectos de posprocesamiento presentes.
The ImageEffectTransformsToLDR attribute can be added to a post-processing effect script to indicate that the target buffer should be in LDR instead of HDR. Essentially, this means that a script can automatically convert to LDR after applying its HDR post-processing effect. See Writing Custom Effects in the Post Processing package for more details.