1 void
writeTiled1(const char fileName[],Array2D<GZ> & pixels,int width,int height,int tileWidth,int tileHeight)2 writeTiled1 (const char fileName[],
3              Array2D<GZ> &pixels,
4              int width, int height,
5              int tileWidth, int tileHeight)
6 {
7 
8     Header header (width, height); // 1
9     header.channels().insert ("G", Channel (HALF)); // 2
10     header.channels().insert ("Z", Channel (FLOAT)); // 3
11 
12     header.setTileDescription (TileDescription (tileWidth, tileHeight, ONE_LEVEL)); // 4
13 
14     TiledOutputFile out (fileName, header); // 5
15 
16     FrameBuffer frameBuffer; // 6
17 
18     frameBuffer.insert ("G", // name // 7
19                         Slice (HALF, // type // 8
20                                (char *) &pixels[0][0].g, // base // 9
21                                sizeof (pixels[0][0]) * 1, // xStride // 10
22                                sizeof (pixels[0][0]) * width)); // yStride // 11
23 
24     frameBuffer.insert ("Z", // name // 12
25                         Slice (FLOAT, // type // 13
26                                (char *) &pixels[0][0].z, // base // 14
27                                sizeof (pixels[0][0]) * 1, // xStride // 15
28                                sizeof (pixels[0][0]) * width)); // yStride // 16
29 
30     out.setFrameBuffer (frameBuffer); // 17
31     out.writeTiles (0, out.numXTiles() - 1, 0, out.numYTiles() - 1); // 18
32 }
33