Useful Definitions


 
blit or bit-blit
DAC or D-to-A converter
image sequence
blit sequence
blit group
color lookup table (CLUT)
image object
 

Blit is a verb that means to copy a patch of pixels from one (video) memory location to another.  Often used as bit blit. This is what Denis Pelli's CopyBitsQuickly() function call does for us.

The acronym DAC stands for D-to-AConverter.  This is the piece of hardware that turns your binary (integer) specification for luminance of a red, green, or blue gun into an analog voltage.

The first thing to do when you want to make a movie is store the 3D image, that is, a set of 2D image frames, in offscreen graphics memory.  That offscreen set of 2D image frames is referred to as an image sequence.

A blit sequence refers to a series of non-negative integers that are the frame numbers of a stored image sequence. This integer series is a set of instructions that tell the mac video manager in what order to blit which frames to the visible display area.

For any set of image sequences you can create an arbitrary number of blit sequences.  You may want to display more than one blit sequence at a time.  In that case you register the desired blit sequences as members of a blit group, and then ask the video manager to play (that is, sequentially display frames from) the entire group at once.

The color of a pixel on the screen is determined in a fashion that depends on the video mode.  Currently we (via Denis Pelli's  VideoToolbox ) are using 8-bit pixels.  The pixel color on the screen is obtained by using its value, a number from 0 to 28-1 to index into a Color LookUp Table.  Each entry in that table has a red, green and blue (RGB) DAC value that determines the on-screen color of that pixel.  Moreover, all pixels with the same 8-bit value will be the same color.  We control the colors available on the screen by altering the RGB values in the CLUT, and control the patterns on the screen by altering the 8-bit values of the pixels.

An image is a C++ object defined and created using the Image Manipulation Library (IML for short; a separate chunk of software).  It is really just a fancy-schmancy way of managing a chunk of memory that holds pixel values. I'd suggest surfing over to the IML documentation for a more comprehensive description. In any case, these are the things you use to create single
image frames, or image sequences that you want to display.