OpenEXR es el estándar de referencia para el almacenamiento de imágenes de alto rango dinámico (HDR) en efectos visuales profesionales, animación y producción cinematográfica. Creado por Industrial Light & Magic, almacena datos de imagen con precisión de punto flotante que supera con creces lo que cualquier monitor puede mostrar, capturando el rango completo de luz desde una sombra oscura hasta la superficie del sol en un único archivo.
¿Qué es OpenEXR?
OpenEXR (.exr) es un formato de imagen HDR desarrollado por Industrial Light & Magic (ILM, el estudio de VFX detrás de Star Wars) en 1999 y publicado como código abierto en 2003. Almacena los datos de imagen como valores en punto flotante de 16 o 32 bits por canal, representando valores de luminancia física en lugar de los valores enteros de 0 a 255 de los formatos estándar.
Esta precisión en punto flotante significa:
- Sin recorte: las luces quemadas y las sombras aplastadas conservan detalle recuperable
- Cualquier espacio de color: los datos existen independientemente de la gama de color de un monitor específico
- Luz lineal: los valores representan fotones reales, lo que permite un compositing físicamente preciso
- Canales arbitrarios: almacena RGB + alfa + profundidad (Z) + vectores de movimiento + normales en un solo archivo
El formato es mantenido por la Academia de Artes y Ciencias Cinematográficas (AMPAS) y es un componente central del Sistema de Codificación de Color de la Academia (ACES).
Especificaciones técnicas del EXR
| Propiedad | Detalles |
|---|---|
| Profundidad de bits | Half float (16 bits), float (32 bits), uint (32 bits) |
| Canales | Arbitrarios: RGB, RGBA, profundidad, normales, velocidad, pases de ID |
| Compresión | DWAA/DWAB (con pérdida, mejor ratio), PIZ (sin pérdida, ideal para imágenes ruidosas), ZIP, RLE, PXR24 |
| Teselas | Almacenamiento en teselas/mip-map opcional para consultas de renderizado eficientes |
| Multi-parte | Múltiples imágenes (belleza + AOVs) en un único archivo EXR |
| Metadatos | Cámara, óptica, configuración de renderizado, información de transformación de color |
Dónde se usa EXR
Efectos visuales y producción cinematográfica — Todos los grandes estudios de VFX usan EXR como formato de intercambio principal. Cuando se renderiza a Iron Man de Marvel en ILM, Weta Digital o DNEG, la salida bruta del renderizado es EXR. El formato no solo lleva el pase de belleza (lo que ves), sino docenas de Variables de Salida Arbitrarias (AOVs):
- Difuso (color base de la superficie)
- Especular (reflejos brillantes)
- Sombras (máscara de sombra)
- Profundidad (Z) (distancia a la cámara — permite profundidad de campo en el compositing)
- Vectores de movimiento (para desenfoque de movimiento en compositing)
- IDs de objeto/material (para seleccionar objetos específicos en Nuke/After Effects)
Renderizado 3D — Blender, V-Ray, Arnold, RenderMan, Redshift y Octane generan EXR de forma predeterminada. Los motores de juegos (Unreal Engine) usan EXR para mapas de entorno HDR (iluminación basada en imágenes, IBL).
EXR frente a otros formatos HDR
| Formato | Profundidad de bits | Canales | Compresión | Caso de uso |
|---|---|---|---|---|
| EXR | 16/32 bits float | Ilimitados | DWAA/PIZ/ZIP | VFX, renderizado 3D |
| HDR/RGBE | 8 bits mantisa | Solo RGB | Run-length | Fotografía, IBL para juegos |
| TIFF (32 bits) | 16/32 bits | 4+ | LZW/ZIP | Fotografía, producción impresa |
| PNG (16 bits) | 16 bits entero | RGBA | Deflate | Web/gráficos (no punto flotante) |
| JPEG | 8 bits entero | RGB | DCT | Fotos web (sin soporte HDR) |
Cómo convertir archivos EXR
EXR a PNG/JPG (para web o compartir):
ffmpeg -i entrada.exr -vf "exposure=0" salida.png
convert entrada.exr -gamma 2.2 salida.png
Nota: al convertir EXR a formatos de 8 bits se requiere tono-mapping o ajuste de exposición. Los valores brutos del EXR aparecerán quemados sin corrección de gamma.
EXR a TIFF (para Photoshop):
convert entrada.exr -depth 16 salida.tif
Visualizar archivos EXR:
- tev — visor EXR rápido y gratuito para Windows/macOS/Linux
- DaVinci Resolve (versión gratuita compatible con EXR)
- Blender (compositor integrado con visor EXR)
- Krita — gratuito, abre EXR con controles de exposición
- Nuke (herramienta estándar del sector)
Consejos para trabajar con EXR
- Conserva siempre los valores de luz lineal — no apliques corrección de gamma hasta el paso de salida final (esto es el flujo de trabajo ACES)
- Usa compresión DWAA para la salida del renderizado: calidad similar a ZIP/PIZ pero archivos 3-5 veces más pequeños
- El EXR multi-parte consolida todos los pases de renderizado en un solo archivo
- Nunca uses JPEG o PNG como formatos intermedios en un pipeline de compositing — perderás rango dinámico de forma permanente
- Se requiere tono-mapping para mostrar EXR correctamente; herramientas como DaVinci Resolve, Nuke o el modo Filmic de Blender lo gestionan automáticamente