[Bf-committers] Blender and Scanline OpenEXR files
Jeroen Bakker
j.bakker at atmind.nl
Mon Jul 5 18:02:10 CEST 2010
Hi all,
I have been working on a project concerning Blender and OpenEXR for
interchangeability with other software products. To my opinion I have
detected a flaw to the support of the OpenEXR file format. I would like
to discuss this.
There are two types of openexr files (scanline and tile). The Tile based
fileformat is outputted by Blender when selecting OpenEXR as imagetype.
This file contains color, transparency and optional depth information.
Also the compression method can be selected. The Scanline based
fileformat is outputted by blender when selecting MultiLayer as
imagetype. This file contains all Renderlayer information and is always
compressed as OPENEXR_ZIP.
The implementation of the Scanline based file is done in the
render/pipeline.c. The reason for this is that it is used as as optional
memory optimization between rendering and composing steps. During this
step the image is saved in the orientation of the blender buffer. The
blender buffer is bottom scanline first. So the scanline what is shown
in the bottom of the screen is stored in the file first.
During my research I found out that the scanline OpenEXR fileformat must
contain a lineOrder attribute (this is stored in the file) but the
specification of the file format states that the scanline are always
stored top scanline first.
http://www.openexr.com/openexrfilelayout.pdf
on page five it states: "The block's y coordinate is equal to the pixel
space y
coordinate of the top scan line in the block. The top scan line block in
the image is aligned with the top
edge of the data window, that is, the y coordinate of the top scan line
block is equal to the data window's
minimum y." My intepretation of this is that scanline based OpenEXR
files are only stored from top to bottom and does not check the value of
the lineOrder attribute.
All files stored when selecting the MultiLayer option is Blender is
quite useless when using in other tools than Blender as the file will be
read upside-down.
Can someone please react to this?
Greetings,
Jeroen
More information about the Bf-committers
mailing list