[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Openexr-devel] Storing multiple layers in OpenEXR files
From: |
Yves Poissant |
Subject: |
[Openexr-devel] Storing multiple layers in OpenEXR files |
Date: |
Sat, 12 Feb 2005 11:13:10 -0500 |
This is a sort of follow-up on this thread:
http://lists.gnu.org/archive/html/openexr-devel/2004-08/msg00007.html
At Hash Inc, to store multiple layers for the same render, we have adopted
the convention:
"layername.channelname"
Where channelnames are the conventional names like "R", "G", "B", "A", etc.
This is simple and works well.
However, we also had a need for storing the particular load order for the
layers/groups for compositing purposes. So we have added some metadata in
the header. It goes like this:
For each layer, there is a metadata attribute named :
"LayerO"
where "O" is a non 0-padded load order number starting with 1. This is a
string attribute with value :
"layername T R,G,B,..."
where "T" is the enum value of Imf::PixelType
and "R,G,B" is a comma separated list of channel names.
We also considered simply adding the load order number in front of the
channel name such as "O.layername.channelname" But the metadata way greatly
simplifies the channel name searching since we don't have to scan through
all of then first to parse and regroup them. We simply loop through the
meatadata and load/regroup the channels as listed in the metadata.
Furtheremore, it keeps the compatibility of the ad-hoc naming convention
"layername.channelname" for other applications to load them.
We also use the single buffer names "R", "G", etc to store the fully
composited final render result. This way, when our EXR files are loaded in
another application, at least the final render result is displayable.
I'm interested to know if anyone else have developped a way to store layer
order information in EXR files and if there is an actual need for that kind
of information.
Yves Poissant
Hash Inc.
- [Openexr-devel] Storing multiple layers in OpenEXR files,
Yves Poissant <=
Re: [Openexr-devel] Storing multiple layers in OpenEXR files, Florian Kainz, 2005/02/15