Hi Larry,

OIIO supports output to multipart EXR images, and they have to be written
out like this:

open(multipart file with n parts)
write_tiles(...)

open(...AppendSubimage)
write_tiles(...)

open(...AppendSubimage)
write_tiles(...)

close()


So you write out the first subimage, then the next, etc...

The motivation for this email is that with this setup, when you are
rendering, you need to keep all the tiles in memory before they can be
written out.

OpenEXR itself lets you write out tiles for any part in any order.

So, when using the EXR API directly, a renderer could write out tiles as
soon as they are done, and the physical layout of the multipart image would
end up looking like this:

[chunk offset index]
[part 0, data for tile (0,0)]
[part 1, data for tile (0,0)]
[part 2, data for tile (0,0)]
...
[part 0, data for tile (0,1)]
[part 1, data for tile (0,1)]
[part 2, data for tile (0,1)]
...


It looks like supporting this means extending OIIO's API, so that you can
set the part you want to write to, without having to close/open a
"subimage".

Another way to look at this conceptually, is to consider an EXR part as a
channel grouping rather than a tiff style subimage.

Have you considered extending OIIO's API in this direction?

Best,

r
_______________________________________________
Oiio-dev mailing list
[email protected]
http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org

Reply via email to