RGBE o Radiance HDR es un formato de imagen inventado por Gregory Ward Larson para el sistema de renderizado Radiance . Almacena píxeles como un byte cada uno para los valores RGB (rojo, verde y azul) con un exponente compartido de un byte. Por lo tanto, almacena cuatro bytes por píxel.
RGBE permite que los píxeles tengan el rango dinámico y la precisión de los valores de punto flotante en una estructura de datos relativamente compacta (32 bits por píxel); a menudo, cuando se generan imágenes a partir de simulaciones de luz , el rango de valores de intensidad de color por píxel es mucho mayor que el que encajaría perfectamente en el rango estándar de 0 a 255 (8 bits) de los formatos de imagen estándar de 24 bits . Como resultado, los píxeles brillantes se recortan a 255 o los píxeles tenues pierden precisión numérica.
Al utilizar un exponente compartido, el formato RGBE obtiene algunas de las ventajas de los valores de punto flotante, pero utiliza menos de los 32 o 16 bits por componente de color que serían necesarios para datos de precisión simple o de media precisión en el formato de punto flotante IEEE , y con un rango dinámico mayor que el de media precisión. Un valor de exponente de 128 asigna colores enteros [0..255] al espacio de punto flotante [0..1].
Una segunda variante del formato utiliza el modelo de color XYZ con un exponente compartido. El tipo MIME y la extensión del archivo son idénticos, por lo que las aplicaciones que leen este formato de archivo deben interpretar la información incorporada en el modelo de color.
Greg Ward proporciona código para manejar archivos RGBE en su renderizador Radiance .
OpenGL exige compatibilidad con un formato de color RGB9_E5 análogo (no de renderizado), donde tres canales tienen 9 bits de mantisa cada uno y comparten 5 bits de exponente. [2]
JPEG XT Parte 2 (Dolby JPEG-HDR) y Parte 7 Perfil A se basan en el formato RGBE.
RGBM es un formato en el que el exponente se reemplaza por un multiplicador compartido, mientras que RGBD almacena un divisor en su lugar. Estos formatos carecen del rango dinámico de RGBE y logLUV, pero son más aptos para un enfoque ingenuo de interpolación lineal en cada componente. [3] Al igual que RGBE, se pueden empaquetar en cualquier formato que acepte un modelo de color de cuatro canales, incluidos formatos comunes como PNG (que se apropia de la estructura RGBA) para texturas 3D. [4]
Una mayor variedad de formatos de color adoptan la ruta más convencional de almacenar números de punto flotante separados. Entre ellos se incluyen el formato Xbox ' 7e3 ' (3 canales de color de punto flotante de 10 bits , cada uno con 7 bits de mantisa y 3 bits de exponente) y el formato OpenGL R11F_G11F_B10F. [2]