Graphics Standards
The nice thing about standards is that there are so
many to shoose from. (Andrew Tanenbaum)
Standards are normally promoted by organizations such as the
International Standards Organization, however many of the
standards used in computing are de facto standards,
created and promoted by a particular company.
File Formats
There are very many graphics file formats out there. The Encyclopedia of
Graphics File Formats has information about many of them.
Another useful site is Wotsit's, which has links to
all kinds of formats.
Image File Formats
An image is just an array of pixels so we can just store them in a file.
GIF
A GIF file uses 8 bits per pixel, compressed. It was the first file
format supported by web browsers, so is very popular.
Unfortunately it was patented.
Developed as
replacement for GIF, PNG is patent-free and supports 8, 24 and 32
(RGB plus 8 bit transparency) bits per pixel. It uses a better
compression scheme than GIF.
GIF and PNG use lossless compression. JPEG compresses files much more
by throwing some information away, that is the original image
cannot be created exactly, but the difference is not noticable to
humans.
Movies
MPEG uses lossy compression similar to JPEG. It also compresses
movies by only sending the differences between frames.
This is just multiple GIFs stored in one file. It is popular because
it was the first movie format supported by web browsers.
is to animated GIF what PNG is to GIF.
This extends MPEG to multimedia content. It adds things such as
3D objects (like VRML) and capabilities such as letting the viewer
change their point of view.
Object Formats
Instead of encoding the pixels coming out of the far end of the
graphics pipeline you can encode the 3D (or 2D) models that go
into the pipeline.
SVG (Scalable Vector Graphics) is an XML based description for 2D graphics.
This is a page description language developed by Adobe originally intended for
specifying the pixels to fill on laser printers. 2D Shapes are
specified by Bezier curves. One interesting feature is the
language is a simple programming language, thus allowing easy
extensibility.
Intended to allow 3D environments to be put on the web, VRML describes
3d geometry, appearances and behaviours.
X3D is the next generation for VRML, combining it with the XML (the
next generation replacement for HTML).
APIs
Application Programmer Interfaces are the means by which programmers
access library functions.
OpenGL provides 2D and 3D graphics functions, including modelling,
transformations, color, lighting, smooth shading, as well as
advanced features like texture mapping, NURBS, fog, alpha blending
and motion blur. It is available for Windows, MacOS and Unix
systems and can be called from C, C++ or Java. Many 3D graphics
cards provide OpenGL support.
Direct3d
This is Microsoft's attempt to duplicate OpenGL in an API they control.
This is a higher-level API than Open-GL. Essentially you create and
modify a scene graph, an object representing the entore scene to
be rendered.
This provides similar functionality to Java 3D, but is built around
C++ instead of Java. VRML is based on Open Inventor's file format.
OpenSG is a portable scene graph system to create realtime graphics programs.
Tim Lambert
Last modified: Tue Sep 6 16:57:06 EST 2005