This is an old revision of the document!
Quoted from www.openexr.com:
OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic for use in computer imaging applications.
OpenEXR's features include:
- Higher dynamic range and color precision than existing 8- and 10-bit image file formats.
- Support for 16-bit floating-point, 32-bit floating-point, and 32-bit integer pixels. The 16-bit floating-point format, called “half”, is compatible with the half data type in NVIDIA's Cg graphics language and is supported natively on their new GeForce FX and Quadro FX 3D graphics solutions.
- Multiple lossless image compression algorithms. Some of the included codecs can achieve 2:1 lossless compression ratios on images with film grain.
- Extensibility. New compression codecs and image types can easily be added by extending the C++ classes included in the OpenEXR software distribution. New image attributes (strings, vectors, integers, etc.) can be added to OpenEXR image headers without affecting backward compatibility with existing OpenEXR applications.
exrTrader makes the OpenEXR file format available for users of LightWave 3D, providing basic image loading and saving as well as supporting the advanced features of OpenEXR, such as multiple buffers stored in a single image file.
This manual covers the usage of exrTrader only. 1)
We are planning on publishing further tutorials of how to use OpenEXR in various pipelines in the future though; please check www.exrtrader.com for updates.
The capabilities of OpenEXR itself are explained extremely well at www.openexr.com. The “Technical Introduction to OpenEXR”, available for download as a PDF, is well worth a read.
Buffers & Channels – a Basic Introduction
Let's start with some definitions:
A Channel is a single image component, such as the red channel of an image.
A Buffer consist of one or more channels, for example:
- Final Render is a buffer consisting of the red, green and blue channels.
- Depth is a buffer consisting of one channel: Z
- Motion is a buffer with two channels, X and Y (this is velocity in pixels)
OpenEXR is quite a complex, extensible image format, and many compositing applications only support a subset of its features, such as the following basic channels:
|A||Alpha / Mask|
Blackmagic Fusion, for example expects the following channel names by default (fortunately this can be changed in the Fusion 5 image loader):
R, G, B, A, Z, pixelCover, objectID, materialID, U, V, NX, NY, NZ, velX, velY
This is why we decided to include a preset system to cater for the needs of different applications and pipelines. If the buffers are saved to a single file they are named as follows:
Either the layer or the channel name may be empty (in that case the “.” is omitted) - but never both of them. You cannot have duplicate channel names within the same file.
The “Review Settings…” option tries to catch as many errors and omissions as possible.
If your application only supports the most basic channels, you can use one of the options to save a buffer to an individual image file.
In that case the Layer Name is omitted from the channel name, but is used as part of the file name. Make sure that the channel names are R,G,B (or Y in the case of a single channel image), otherwise more limited applications that expect the default channel names won't be able to read the image!
Some OpenEXR savvy applications, such as Nuke, can group the channels by their layer name, so they see “LayerName” as a group of channels (or a layer).
The appendix contains a list of applications and their support for OpenEXR as well as an overview of all the buffers provided by LightWave 3D.
Let me assure you that this is not the case. We're Germans. If you, for whatever reason, have the urge to take any part of this manual humorously, please re-read the entire license agreement as an exercise to regain your composure.