OpenEXR proporciona la especificación y la implementación de referencia del formato de archivo EXR, el formato de almacenamiento de imágenes de nivel profesional de la industria cinematográfica.
El propósito del formato EXR es representar de manera precisa y eficiente datos de imágenes lineales de escena de alto rango dinámico y metadatos asociados, con un fuerte soporte para casos de uso de múltiples partes y múltiples canales.
OpenEXR se usa ampliamente en software de aplicaciones host donde la precisión es crítica, como renderizado fotorrealista, acceso a texturas, composición de imágenes, composición profunda y DI.
El objetivo del proyecto OpenEXR es mantener el formato EXR confiable y moderno y mantener su lugar como formato de imagen preferido para la creación de contenido de entretenimiento.
Las revisiones importantes son poco frecuentes y las nuevas funciones se sopesarán cuidadosamente frente a una mayor complejidad. Las principales prioridades del proyecto son:
Robustez, fiabilidad, seguridad.
Compatibilidad con versiones anteriores, longevidad de los datos
Rendimiento: tiempo de lectura/escritura/compresión/descompresión
Simplicidad, facilidad de uso, mantenibilidad.
Amplia adopción, soporte multiplataforma: Linux, Windows, macOS y otros
OpenEXR está destinado únicamente a datos 2D. No es apropiado para el almacenamiento de datos volumétricos, escenas 3D iluminadas o en caché, ni datos 3D más complejos, como campos de luz.
Los objetivos del proyecto Imath son la simplicidad, la facilidad de uso, la corrección y verificabilidad, y la amplitud de adopción. Imath no pretende ser un paquete completo de álgebra lineal o análisis numérico.
OpenEXR es un proyecto de Academy Software Foundation. Consulte las políticas de gobernanza, las pautas de contribución y el código de conducta del proyecto para obtener más información.
Consulte la documentación técnica para obtener detalles completos, pero para comenzar, el programa de escritura exrwriter.cpp
"Hola, mundo" es:
#include <ImfRgbaFile.h> #include <ImfArray.h> #include <iostream> int main() { try { int width = 10; int height = 10; Imf::Array2D<Imf::Rgba> pixels(width, height); for (int y=0; y<height; y++) for (int x=0; x<width; x++) pixels[y][x] = Imf::Rgba(0, x / (width-1.0f), y / (height-1.0f)); Imf::RgbaOutputFile file ("hello.exr", width, height, Imf::WRITE_RGBA); file.setFrameBuffer (&pixels[0][0], 1, width); file.writePixels (height); } catch (const std::exception &e) { std::cerr << "Unable to read image file hello.exr:" << e.what() << std::endl; return 1; } return 0; }
El CMakeLists.txt
para construir:
cmake_minimum_required(VERSION 3.12) project(exrwriter) find_package(OpenEXR REQUIRED) add_executable(${PROJECT_NAME} exrwriter.cpp) target_link_libraries(${PROJECT_NAME} OpenEXR::OpenEXR)
Para construir:
$ cmake -S . -B _build -DCMAKE_PREFIX_PATH=<path to OpenEXR libraries/includes> $ cmake --build _build
Para obtener más detalles, consulte La API OpenEXR.
Haz una pregunta:
Correo electrónico: [email protected]
Holgura: academysoftwarefdn#openexr
Asiste a una reunión:
Las reuniones del Comité Directivo Técnico están abiertas al público cada quince días los jueves a la 1:30 p.m., hora del Pacífico.
Calendario: https://lists.aswf.io/g/openexr-dev/calendar
Notas de la reunión: https://wiki.aswf.io/display/OEXR/TSC+Meetings
Informar un error:
Enviar un problema: https://github.com/AcademySoftwareFoundation/openexr/issues
Informar una vulnerabilidad de seguridad:
Envíe un correo electrónico a [email protected]
Contribuya con una solución, característica o mejora:
Lea las pautas de contribución y el código de conducta
Firme el acuerdo de licencia de colaborador
Envíe una solicitud de extracción: https://github.com/AcademySoftwareFoundation/openexr/pulls
Sitio web: http://www.openexr.com
Documentación técnica: https://openexr.readthedocs.io
Ayuda para la portabilidad: Guía de portabilidad de OpenEXR/Imath versión 2.x a 3.x
Imágenes de referencia: https://github.com/AcademySoftwareFoundation/openexr-images
Política de seguridad: SECURITY.md
Notas de la versión: CAMBIOS.md
Colaboradores: CONTRIBUTORS.md
OpenEXR tiene la licencia BSD-3-Clause.