OpenEXR 2.0 goes deep

Now out of public beta, an update of the open source high dynamic range file format OpenEXR to include several new features, including deep data support, has been released with version 2.0. Industrial Light & Magic and Weta Digital announced the new version this week.

OpenEXR was first developed by ILM and is now maintained by key VFX players such as Weta Digital, Pixar Animation Studios and Autodesk. ILM used OpenEXR 2.0 for The Avengers and in upcoming releases Pacific Rim and The Lone Ranger, while Weta Digital also incorporated the format in their Avengers work, along with Prometheus and The Hobbit.

Several software companies have built OpenEXR 2.0 into their products or announced their support of the format – including The Foundry’s Nuke for deep compositing, SideFX’s Houdini, Autodesk’s Maya, Solid Angle’s Arnold renderer and Sony Pictures Imageworks’ Open Image IO.

From the OpenEXR 2.0 press release, here’s a rundown of the new features in the 2.0 version:

1. Deep Data support – Pixels can now store a variable-length list of samples. The main rationale behind deep images is to enable the storage of multiple values at different depths for each pixel. OpenEXR 2.0 supports both hard-surface and volumetric representations for Deep Compositing workflows.

2. Multi-part Image Files – With OpenEXR 2.0, files can now contain a number of separate, but related, data parts in one file. Access to any part is independent of the others, pixels from parts that are not required in the current operation don’t need to be accessed, resulting in quicker read times when accessing only a subset of channels. The multipart interface also incorporates support for Stereo images where views are stored in separate parts. This makes stereo OpenEXR 2.0 files significantly faster to work with than the previous multiview support in OpenEXR.

3. Optimized pixel reading – decoding RGB(A) scanline images has been accelerated on SSE processors providing a significant speedup when reading both old and new format images, including multipart and multiview files.

4. Namespacing – The library introduces versioned namespaces to avoid conflicts between packages compiled with different versions of the library.

You can read more about OpenEXR at http://openexr.com.