Writing Deep tiled images: help !

Michel Lerenard <[email protected]>
Newsgroups gmane.comp.video.openexr.devel
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.