• Stars
    star
    1,563
  • Rank 28,772 (Top 0.6 %)
  • Language
    C
  • License
    BSD 3-Clause "New...
  • Created about 12 years ago
  • Updated about 1 month 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,401
star
2

OpenShadingLanguage

Advanced shading language for production GI renderers
C++
2,012
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,864
star
4

MaterialX

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

OpenColorIO

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

OpenTimelineIO

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

rez

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

OpenCue

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

xstudio

C++
596
star
10

OpenRV

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

openfx

OpenFX effects API
C++
373
star
12

Imath

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

OpenPBR

Specification and reference implementation for the OpenPBR Surface shading model
CSS
292
star
14

OpenColorIO-Config-ACES

Python
242
star
15

aswf-docker

Common container configuration
Python
142
star
16

rawtoaces

RAW to ACES Utility
C++
137
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.
113
star
18

openexr-images

Collection of images associated with the OpenEXR distribution
93
star
19

tac

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

wg-usd

USD Working Group collaboration and resources
60
star
21

OpenImageIO-images

OpenImageIO test images
Shell
34
star
22

EncodingGuidelines

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

archived-ci-management

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

opencue.io

Source for OpenCue website
HTML
15
star
25

foundation

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

openvdb-website

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

aswf-sample-project

ASWF Sample Project
CMake
12
star
28

wg-python3

Python 3 Working Group
12
star
29

artwork

🎨ASWF related logos and artwork
HTML
8
star
30

dpel-website

Website for the Digital Production Example Library
Astro
6
star
31

wg-ci

ASWF Continuous Integration Working Group
6
star
32

openexr-examples

Example code using the OpenEXR library
C++
5
star
33

wg-review-approval

Review and Approval WG
4
star
34

aswf-sample-wg

Repository template for a working group
3
star
35

openreviewinitiative-test

Test for CLAs for Open Review Initiative
2
star
36

materialx-website

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

openexr-website

The OpenEXR website
1
star
38

Imath-website

The Imath website
1
star
39

rez-test

1
star
40

ori-shared-platform

1
star
41

wg-assets

Asset Repository WG
1
star