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