EZFB ~ Linux Frame Buffer API
by James Lehman

          Home
Concept
Changes
Forum
Gallery
ILDA
Links
Contact

Download

Freshmeat

          ILDA is The International Laser Display Association (http://www.laserist.org). Their website describes their purpose, so I will leave it up to the reader to go there. For the purpose of this website, I will briefly describe what the ILDA file format is and how it relates to EZFB.

The ILDA file format is a specification for exchanging laser display art in a generic, non system specific way. Technically speaking, an individual ILDA file may contain zero to thousands of still images and / or color palettes. It is similar in concept to an animated gif, however, the images are not raster and they are not limited to 2D. The images are vector and may be either 2D or 3D.

Typically, a laser puts out a single beam of super intense light. When that beam hits a surface, like a movie screen, it produces a very small, very bright spot; a single point of light. If the beam is bounced off of a mirror and the mirror is moving, the beam will be deflected and the spot will move on the screen. Now imaging the beam is bounced off of two mirrors. One mirror can deflect the beam up and down and the other can deflect the beam left to right. If the mirrors move fast enough, the human eye will see that single spot streak into what appears to be a solid line. This effect is very similar to the way an oscilloscope works. This is how images are drawn with laser light.

Images can be stored digitally as series of still frames. A laser image is a series of points in space. The laser follows these points, in order, just like a connect-the-dots drawing. The way the points are stored in the file is in 16 bit integer coordinates for either 2D; X and Y, or 3D; X, Y, and Z. In very general terms, this is the ILDA file format specification.

I have written a driver in C++ to be able to open and display ILDA files within EZFB. I have also written an application that uses this driver and EZFB to generate, display, transform and save ILDA art.

The following series of images were taken from laserboy, running at 640x480 8bpp. The utility grab was used to capture the contents of the screen to a bitmap file. Both laserboy and grab are included, with several other demonstration applications in the free distribution of EZFB.

LOOK!