Computer graphics:

List of topics:

General information:

Computer graphics is such a broad area of study that there is no easy way to evenly subdivide it into categories. In cases where references span one or more topics, they are listed in this general information section.
Recommended references:
  • Usenet - comp.graphics
  • Usenet - comp.graphics.algorithms
  • Usenet - rec.games.programmer

  • Foley, J. D., A. van Dam, S. K. Feiner, et al. Computer Graphics: Principles and Practice, Reading: Addison-Wesley, 1990.
  • Hearn, D. and M. Baker. Computer Graphics, Second Edition, Englewood Cliffs: Prentice Hall, 1994.
  • Download sites (select to download):

  • PC Games Programmer Encyclopedia (719k)
    Lots of great code, most of which is graphical in nature.
  • Back to Chris' home page


    File formats:

    Recommended references:
  • Kay, D. C. and J. R. Levine. Graphics File Formats, New York: Windcrest / McGraw-Hill, 1992.
  • Download sites (select to download):

  • bmp.zip
    Description of the Microsoft Windows .DIB / .BMP file format.
  • dxf_spec.zip
    Specifications for the AutoCad drawing interchange (.DXF) file format.
  • fli_flc.txt
    AutoDesk Animator flic file format (.FLI / .FLC) specifications.
  • gif89a.doc
    CompuServe's .GIF89 file specifications. Currently under controversy due to disputed .LZW compression patent.
  • jpeg.jfif.doc.1.02.Z
    VERY concise description of the .JPG fractal image compression scheme.
  • jpeg.ptr.Z
    A pointer to a source for the FULL .JPG file format. Costs mucho $$$.
  • pcx.doc
    Z-Soft's .PCX graphical image file format specification.
  • pcx2.doc
    An addendum (not official) to the .PCX standard -- clarifies some points.
  • targa_20.txt
    Where to get Targa (.TGA) version 2.0 (1989) file specification.
  • tiff6_ps.lzh
    The .TIFF 6.0 graphical file standard (HA! There are so many variations of .TIFF, be careful...).
  • If you can't get to these with my links, try these other sites:

  • wuarchive.wustl.edu, but it's often hard to get on.
  • x2ftp.oulu.fi
  • Back to graphics menu


    PC-based graphics modes:

    Recently, there has been a lot of hype regarding mode-X and other tweaked VGA video modes. One advantage is that a user can get up to 480x360x256c resolution on a standard VGA card, or can get up to four pages for page-flipping (great for animation). It also greatly increases the speed of screen fills, where chunks of the screen (preferably in 4-pixel chunks) are filled with a single color.

    Unfortunately, when portions of the screen are being filled with different colors (i.e. displaying a bitmap), it is fairly difficult to display them with decent speed.

    Recommended references:
  • Ferraro, Richard F. Programmer's Guide to the EGA and VGA cards, Second Edition. Reading: Addison-Wesley, 1990.
    A great reference for hardware port information, driver interrupts, and more on most flavors of VGA and SVGA cards. Does not include the newer S3 series chips.
  • Abrash, Michael. Dr. Dobb's Journal. Feb 1991, v16, n2 through Dec 1992, v17, n12.
    A monthly column on the use of mode-X (and other tweaked VGA video modes) for graphics programming.
  • Dr. Dobb's Journal text, Mar. 1991 through Dec. 1992.
    The now famous Michael Abrash columns from Dr. Dobb's Journal. Some basic stuff on setting up tweaked video modes on standard VGA cards.
  • Dr. Dobb's Journal sources, Mar. 1991 through Dec. 1992.
    The C and Assembler code from the above articles.
  • FAQ on mode-X programming
    Everything that you ever wanted to know about mode-X.
  • VESA standards
    The official specifications on the VESA 1.2 SVGA graphics standard.
  • Download sites (select to download):

  • modex105.zip
    .ASM library with source, .LIB files, and more for mode-X programmers.
  • svgaline.zip
    SVGA VESA standard programming tutorial, using Bresenham's line algorithm as an example (Assembler)
  • tut10.zip
    VGA trainer in using chained video modes (PASCAL)
  • tut12.zip
    VGA trainer in full-screen scrolling in VGA
  • tut4new.zip
    VGA trainer in virtual screens (C++)
  • vgadoc3.zip
    Documents on register-level SVGA programming and card testing.
  • vesavga.zip
    VESA routines for standard 256 color operations (ASM).
  • xintro18.zip
    Mode X programming tutorial, v. 1.8 (with source and pictures (woohoo!))
  • xlib612.zip
    XLIB mode-X graphics library -- draw lines, scale bitmaps, etc (C).
  • Back to graphics menu


    Fractals:

    Originating in mathematical works around 1875, fractals were originally deemed to be of little value. Originally given the name of "monsters," they were later renamed "fractals" by Benoit Mandelbrot in 1975. There are three characteristics that all fractal objects must fulfill by definition:

  • Procedural definition
  • Self-similarity
  • Infinite length
  • The first requirement is relatively simple. We are used to mathematical objects being defined as an equation into which numbers are plugged. Fractals are procedure based, specifying an operation to be repeated for each subpart for an infinite number of steps.

    The second requirement is based on the infinite and procedural nature of the fractal. Because each subpart is actually the same procedure as its superpart, it is the same. If you were to zoom in on a coastline from a distance, more and more detail would become apparent (and in a fractal, would be the same as it's parent). As you zoomed in on the beach, you would see grains of sand, which could in turn be magnified... This amount of detail that an object can display is called the fractal dimension. Because of this increased detail, a two-dimensional fractal can actually have a fractal dimension greater than 2 (it doesn't have to be integer-based either).

    Finally, because the fractal is based on an infinite procedure, it's length is infinite. It does approach a certain limit, however.

    Fractals are currently being used heavily in the computer industry to model natural phenomena such as clouds, mountains, snowflakes, planetary surfaces, grass, trees, and more.

    Recommended references:
  • Barnsley, M. Fractals Everywhere, Second Edition, San Diego: Academic Press, 1993.
  • Mandelbrot, B. The Fractal Geometry of Nature, New York: Freeman, 1983.
  • Peitgen, H. The Beauty of Fractals, Berlin: Springer-Verlag, 1986.
  • Peitgen, H and D. Saupe. The Science of Fractal Images, Berlin: Springer-Verlag, 1988.
  • Fractal FAQ
    Everything you ever wanted to know about fractals, and more...
  • Fractals and Scale
    An interesting discussion of fractal self-similarity and applications to modern life.
  • Fractal Pictures and Animations
    Lots of cool .MPGs, .MOVs, .JPGs, and more on terrain generation, Mandelbrot zooms, flames, and more.
  • The Fractal Microscope
    NCSA page discussing benefits of mathematics in education, using fractals as an example.
  • Download sites (select to download):

  • 3dscape.lzh (22k)
    386 asm & C source for a fractally generated moving landscape.
  • frain182.zip (484k)
    Fractint 18.2 fractal generation program.
  • ll_land2.lzh (149k)
    Lord Logic's asm & C source for a fractal landscape.
  • tplas20.zip (155k)
    Plasma fractal with source.
  • Back to graphics menu


    Select to go back to Chris' home page.

    Wolfram Research, Inc.
    University of Illinois / Graduate College / Department of Horticulture

    lindsey@mallorn.com http://www.mallorn.com/~lindsey

    Last modified Friday, 05-Dec-1997 20:40:04 CST
    This page was accessed since 18 Mar 1996