OpenEXR fournit la spécification et l'implémentation de référence du format de fichier EXR, le format de stockage d'images de qualité professionnelle de l'industrie cinématographique.
L'objectif du format EXR est de représenter avec précision et efficacité les données d'image linéaire de scène à plage dynamique élevée et les métadonnées associées, avec une forte prise en charge des cas d'utilisation en plusieurs parties et multicanaux.
OpenEXR est largement utilisé dans les logiciels d'application hôte où la précision est essentielle, comme le rendu photoréaliste, l'accès aux textures, la composition d'images, la composition profonde et la DI.
L'objectif du projet OpenEXR est de maintenir le format EXR fiable et moderne et de conserver sa place de format d'image privilégié pour la création de contenu de divertissement.
Les révisions majeures sont rares et les nouvelles fonctionnalités seront soigneusement mises en balance avec une complexité accrue. Les principales priorités du projet sont :
Robustesse, fiabilité, sécurité
Compatibilité ascendante, longévité des données
Performances - temps de lecture/écriture/compression/décompression
Simplicité, facilité d'utilisation, maintenabilité
Large adoption, prise en charge multiplateforme – Linux, Windows, macOS et autres
OpenEXR est destiné uniquement aux données 2D. Il n'est pas approprié pour le stockage de données volumétriques, de scènes 3D mises en cache ou éclairées, ou de données 3D plus complexes telles que des champs lumineux.
Les objectifs du projet Imath sont la simplicité, la facilité d'utilisation, l'exactitude et la vérifiabilité, ainsi que l'étendue de l'adoption. Imath n'est pas destiné à être un progiciel complet d'algèbre linéaire ou d'analyse numérique.
OpenEXR est un projet de l'Academy Software Foundation. Consultez les politiques de gouvernance du projet, les directives de contribution et le code de conduite pour plus d'informations.
Consultez la documentation technique pour plus de détails, mais pour commencer, le programme d'écriture exrwriter.cpp
"Hello, world" est :
#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; }
Le CMakeLists.txt
à construire :
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)
Pour construire :
$ cmake -S . -B _build -DCMAKE_PREFIX_PATH=<path to OpenEXR libraries/includes> $ cmake --build _build
Pour plus de détails, consultez L'API OpenEXR.
Posez une question :
E-mail : [email protected]
Slack : academysoftwarefdn#openexr
Assister à une réunion :
Les réunions du comité directeur technique sont ouvertes au public tous les quinze jours, le jeudi, à 13 h 30, heure du Pacifique.
Calendrier : https://lists.aswf.io/g/openexr-dev/calendar
Notes de réunion : https://wiki.aswf.io/display/OEXR/TSC+Meetings
Signaler un bug :
Soumettre un problème : https://github.com/AcademySoftwareFoundation/openexr/issues
Signaler une vulnérabilité de sécurité :
E-mail à [email protected]
Contribuer à un correctif, une fonctionnalité ou une amélioration :
Lire les directives de contribution et le code de conduite
Signez le contrat de licence de contributeur
Soumettez une demande de tirage : https://github.com/AcademySoftwareFoundation/openexr/pulls
Site Internet : http://www.openexr.com
Documentation technique : https://openexr.readthedocs.io
Aide au portage : Guide de portage OpenEXR/Imath version 2.x à 3.x
Images de référence : https://github.com/AcademySoftwareFoundation/openexr-images
Politique de sécurité : SECURITY.md
Notes de version : CHANGES.md
Contributeurs : CONTRIBUTORS.md
OpenEXR est sous licence BSD-3-Clause.