Werner Benger wrote:
I had some problems with what I thought would be taken care of by
setting INCREASING_Y vs. DECREASING_Y in the header. I had expected
it to turn upside down an image, but neither exrdisplay, Photoshop
nor Irfanview did show a difference there. Instead, I'm setting up
the frame buffer with a call like this:
vector<Rgba> Pixels;
TiledRgbaOutputFile *Outfile;
...
Outfile->setFrameBuffer(&*Pixels.begin()+
tileXSize*tileYSize-1,
1, // xStride
-tileXSize, // yStride
true // the pixels buffer is relative
);
So it begins with the last row and advances backwards to the first
row. Is this the right way to do it? How would it be different from
INCREASING_Y vs. DECREASING_Y ?
Werner,
the lineOrder flag (INCREASING_Y or DECREASING_Y) does not change
the pixel coordinate system. The flag affects only the order in
which the pixels are stored in the file.
The flag allows file reading code to optimize I/O throughput: if
your code doesn't require random access to scan lines or tiles, then
it can avoid seek operations by reading the file front to back.
(The readPixels and readTiles functions do this automatically when you
read a large number of scan lines or tiles in a single function call.)
Florian
_______________________________________________
Openexr-devel mailing list
Openexr-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/openexr-devel