PIX-FB
1
BRL-CAD
BRL-CAD

# pix-fb

display a pix format RGB image file on a framebuffer

      pix-fb
        -ahicz1
        -F framebuffer
        -m #lines
        -s squarefilesize
        -w file_width
        -n file_height
        -S squarescrsize
        -W scr_width
        -N scr_height
        -x file_xoff
        -y file_yoff
        -X scr_xoff
        -Y scr_yoff
        file.pix

## DESCRIPTION

Pix-fb reads a pix 5 format file from the named file, or from standard in if no file is specified, and displays the image on the currently selected framebuffer. The environment variable FB_FILE specifies the current framebuffer, see brlcad 1. Alternatively, the framebuffer may be explicitly specified by using the `-F` flag.

By default, the pix file, and the requested framebuffer size, is assumed to be 512x512 pixels. Specifying the `-a` flag causes the program to attempt to autosize. A table of common image sizes is consulted, and if any match the size of the input file, then the width and height values associated with that size will be used. Specifying the `-h` flag changes the size to 1024x1024.

If the `-i` flag is specified, the image is output from top to bottom. Customarily, pix files are stored bottom to top, so this flag inverts the image.

The `-c` flag causes the screen to be cleared before the image is displayed. The default behavior is to overwrite the current image with the new image without clearing the screen.

The `-z` flag will zoom and center on the image being displayed to make it fill the display area, using the libfb fb_zoom() routine. fb_zoom only offers integer zoom factors, so displays with non-square screens (such as the SGI 3D machines) may find this option of limited usefulness.

The `-w` file_width flag specifies the width of each scanline in the input file, in pixels. `-W` scr_width does the same for the display device.

The `-n` file_height and `-N` scr_height flags specifies the height in scanlines of the input file or display device respectively.

`-s` squarefilesize and `-S` squarescrsize set both the height and width to the size given.

`-x` file_xoff `-y` file_yoff and `-X` scr_xoff `-Y` scr_yoff will offset into the file or onto the screen by the given amounts. The coordinate system for these offsets is first quadrant, with the origin at the lower left corner of the image.

The `-1` flag causes the image to be written to the framebuffer one line at a time, using the fb_write 3 routine. This is the default behavior. The `-m` #lines flag can be used to specify the number of lines to be written to the framebuffer in rectangular blocks of scanlines, using the fb_writerect 3 routine. In some circumstances, this can result in significantly faster image display, at the expense of the image being written less smoothly. If both `-m` and `-1` are specified, `-1` wins.

## FORMAT

A pix 5 file contains sequences of pixels. Each pixel is stored as three unsigned chars, first red, then green, then blue. The first pixel in a pix file is the lower left corner of the image. The pixels proceed from left-to-right across each scanline, with scanlines being written from the bottom to the top of the image. By convention pix images are usually square.

## SEE ALSO

rt 1, fb-pix 1, libfb 3, pix 5

## DIAGNOSTICS

If the pix file is shorter than expected, the program exits silently.

## AUTHOR

BRL-CAD Team

## COPYRIGHT

This software is Copyright (c) 1986-2013 by the United States Government as represented by U.S. Army Research Laboratory.

## BUG REPORTS

Reports of bugs or problems should be submitted via electronic mail to <devs@brlcad.org>.