• Stars
    star
    1,624
  • Rank 28,812 (Top 0.6 %)
  • Language
    C
  • License
    BSD 3-Clause "New...
  • Created over 12 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The OpenEXR project provides the specification and reference implementation of the EXR file format, the professional-grade image storage format of the motion picture industry.

License CII Best Practices OpenSSF Scorecard Build Status Analysis Status Quality Gate Status

OpenEXR

OpenEXR provides the specification and reference implementation of the EXR file format, the professional-grade image storage format of the motion picture industry.

The purpose of EXR format is to accurately and efficiently represent high-dynamic-range scene-linear image data and associated metadata, with strong support for multi-part, multi-channel use cases.

OpenEXR is widely used in host application software where accuracy is critical, such as photorealistic rendering, texture access, image compositing, deep compositing, and DI.

OpenEXR Project Mission

The goal of the OpenEXR project is to keep the EXR format reliable and modern and to maintain its place as the preferred image format for entertainment content creation.

Major revisions are infrequent, and new features will be carefully weighed against increased complexity. The principal priorities of the project are:

  • Robustness, reliability, security
  • Backwards compatibility, data longevity
  • Performance - read/write/compression/decompression time
  • Simplicity, ease of use, maintainability
  • Wide adoption, multi-platform support - Linux, Windows, macOS, and others

OpenEXR is intended solely for 2D data. It is not appropriate for storage of volumetric data, cached or lit 3D scenes, or more complex 3D data such as light fields.

The goals of the Imath project are simplicity, ease of use, correctness and verifiability, and breadth of adoption. Imath is not intended to be a comprehensive linear algebra or numerical analysis package.

Project Governance

OpenEXR is a project of the Academy Software Foundation. See the project's governance policies, contribution guidelines, and code of conduct for more information.

Quick Start

See the technical documentation for complete details, but to get started, the "Hello, world" exrwriter.cpp writer program is:

#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;
}

The CMakeLists.txt to build:

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)

To build:

$ cmake -S . -B _build -DCMAKE_PREFIX_PATH=<path to OpenEXR libraries/includes>
$ cmake --build _build

For more details, see The OpenEXR API.

Community

Resources

License

OpenEXR is licensed under the BSD-3-Clause license.


aswf

More Repositories

1

openvdb

OpenVDB - Sparse volume data structure and tools
C++
2,599
star
2

OpenShadingLanguage

Advanced shading language for production GI renderers
C++
2,100
star
3

OpenImageIO

Reading, writing, and processing images in a wide variety of file formats, using a format-agnostic API, aimed at VFX applications.
C++
1,966
star
4

MaterialX

MaterialX is an open standard for the exchange of rich material and look-development content across applications and renderers.
C++
1,830
star
5

OpenColorIO

A color management framework for visual effects and animation.
C++
1,781
star
6

OpenTimelineIO

Open Source API and interchange format for editorial timeline information.
Python
1,457
star
7

rez

An integrated package configuration, build and deployment system for software
Python
939
star
8

OpenCue

A render management system you can deploy for visual effects and animation productions.
Python
824
star
9

xstudio

xSTUDIO is a modern, high performance and feature rich playback and review application designed for organisations and individuals in the post production, VFX and Animation industries.
C++
628
star
10

OpenRV

Open source version of RV, the Sci-Tech award-winning media review and playback software.
C++
575
star
11

OpenPBR

Specification and reference implementation for the OpenPBR Surface shading model
CSS
430
star
12

openfx

OpenFX effects API
C++
406
star
13

Imath

Imath is a C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics
C++
373
star
14

OpenColorIO-Config-ACES

Python
263
star
15

aswf-docker

Common container configuration
Python
149
star
16

rawtoaces

RAW to ACES Utility
C++
141
star
17

aswf-landscape

🌄Landscape for popular open source projects used in the motion picture industry. This interactive landscape similar to that of the CNCF Landscape (https://l.cncf.io/) that sorts through popular open source projects used for visual effects, animation, and image creation, and shows details including GitHub stars, funding or market cap, first and last commits, contributor count and many more.
121
star
18

openexr-images

Collection of images associated with the OpenEXR distribution
98
star
19

tac

Materials and meeting notes for the ASWF Technical Advisory Council (TAC)
HTML
93
star
20

wg-usd

USD Working Group collaboration and resources
61
star
21

OpenImageIO-images

OpenImageIO test images
Shell
37
star
22

EncodingGuidelines

This site provides guidelines for encoding frames to movie files for review.
Dockerfile
33
star
23

foundation

Academy Software Foundation foundation level resources, such as the charter, FAQ about the project, and other public assets
Python
17
star
24

archived-ci-management

Archived -- April 29, 2020 -- Jenkins job and cloud configuration
Shell
16
star
25

opencue.io

Source for OpenCue website
HTML
15
star
26

openvdb-website

The source code behind https://www.openvdb.org
JavaScript
13
star
27

aswf-sample-project

ASWF Sample Project
CMake
13
star
28

wg-python3

Python 3 Working Group
12
star
29

ori-shared-platform

Python
12
star
30

dpel-website

Website for the Digital Production Example Library
Astro
8
star
31

wg-ci

ASWF Continuous Integration Working Group
8
star
32

artwork

🎨ASWF related logos and artwork
HTML
8
star
33

ColorInterop

Color Interop Forum
7
star
34

openexr-examples

Example code using the OpenEXR library
C++
6
star
35

wg-review-approval

Review and Approval WG
4
star
36

materialx-website

Source files for www.materialx.org
HTML
3
star
37

aswf-sample-wg

Repository template for a working group
3
star
38

openreviewinitiative-test

Test for CLAs for Open Review Initiative
2
star
39

rez-test

2
star
40

openexr-website

The OpenEXR website
1
star
41

Imath-website

The Imath website
1
star
42

wg-assets

Asset Repository WG
1
star