Hi,
I'm trying to write deep data into an EXR file and am having trouble
understanding how the API works.
I'd like to be able to write tiles from different threads. The
application I'm working on (Isotropix Clarisse) runs several threads,
each one render a part of an image.
I'd like to write deep data when the current tile is completely computed.
I'm using the "Reading And Writing Image Files" documentation, and the
section about Deep Tile File writing on page 26 is confusing to me.
From what I understand, I need a DeepFrameBuffer to write an image. It
seems it should be the same for all threads, as a DeepTiledOutputFile
can only use one. Is it thread safe ? Can I use the same FrameBuffer
from all threads ?
I was puzzled by the type of dataZ and data0, reading the next example
(reading a deep tiled file) I understand that the arrays are only
storing pointers to deep data for a particular pixel, and that they
could as well be Array2D<float*>. Is that correct ?
If it is, this means that each one of my threads should set pointers in
the framebuffer DeepSlice for each pixel of the tile it's computing,
then call writeTile. After that can I delete the data and reset the
pointers in the DeepSlice ?
Thanks,
Michel
_______________________________________________
Openexr-devel mailing list
Openexr-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/openexr-devel