Alias PIX File Format Information. Updated 5/6/96. FORMAT DETAILS: Because this format is sourced on IRIX, the word format is bit[15..0]. Fetched words will have to be swapped for PC based readers. First, a 10-byte header: BYTES DESCRIPTION 0, 1 Width -- X resolution in pixels. 2, 3 Height -- Y resolution in pixels. 4, 5 X offset -- unused (obsolete, but still present). 6, 7 Y offset -- unused (obsolete, but still present). 8, 9 Bits per pixel -- 0x18 for RGB or 0x08 for Grayscale. The pixels follow, run-length encoded in packets on a per-scanline basis, starting with the top scanline in the image. Individual runs do not extend beyond a single scanline. The example below uses 3-byte RGB pixels (1 byte each of Red, Green, and Blue). Grayscale images are identical in form except only 1-byte per pixel is used. PACKET BYTE RANGE DESCRIPTION 0 0x01 - 0xFF Run length - number of pixels in succession with given RGB. 1 0x00 - 0xFF Blue component. 2 0x00 - 0xFF Green component. 3 0x00 - 0xFF Red component. Here's a sample: 00000000 0008 0006 0000 0005 0018 08FF 0000 08CC 00000020 0000 0899 0000 0866 0000 0833 0000 0800 00000040 0000 This sample describes an 8 x 6 ramp from blue (at the top of the image) to black. The 10 byte header is easy enough (note the obsolete offset info of 0, 5): [0008 0006 0000 0005 0018]. This is followed by [08FF 0000], which is 8 pixels of [FF 00 00], or pure blue. All 8 bytes of the first line are satisfied, so the next packet begins the next scan line: [08CC 0000], and so on. FORMAT BACKGROUND: Alias has recently been purchased by SGI, merged with another company, Wavefront, and is now Alias | Wavefront. PowerAnimator, their SGI-based 3D modeler / renderer package uses a simple file format called PIX for individual images. There is a more complex format that references multiple PIX files as layers of a larger file (along with alpha channel matte files) that is used by their StudioPaint product, but it's so hopelessly huge and complex that it's better to merge all the layers using their software and then decode the resulting PIX. [This information was kindly provided by Rob Neve]