Data output through graphic devices on computer systems is made possible through techniques that use video generation modules to display images. This differs from text mode output, for which the computer generates horizontal lines of alphanumeric symbols. Although the technical requirements of both systems overlap, graphic devices use an approach that assumes that every dot on the screen is separately accessible. By contrast, in text mode, the smallest screen element is actually a group of points that together all define a character—a letter, a numeral, or a punctuation mark.
A graphic display is composed of a screen or panel that is made up of a large number of small cells or dots that are called pixels . These pixels emit light when they are struck by a beam of electrons and switched on. At any one instant, the computer hardware can switch some pixels on fully so that they emit light, skip over others so that they remain dark, and prompt still others to emit an intermediate measure of light. In this way the representation of a picture can be displayed on a graphic device using every pixel as a separate component in the image.
Graphic devices are output devices, but their physical characteristics restrict them from taking data as represented in the computer's memory and displaying the data directly. Instead, they require the assistance of a special device to translate data into electrical signals that are compatible with the display hardware. These devices are called graphics controllers.
One way that data can be formulated for display by the computer is through a technique known as a bitmapped display or "raster-scan display." Using this approach, the computer contains an area of memory that holds all the data that are to be displayed. The central processor writes data into this region of memory and the video controller collects them from there. The bits of data stored in this block of memory are related to the eventual pattern of pixels that will be used to construct an image on the display.
For example, one could get the central processor to fill the entire video memory region with zeros. This might then correspond to a completely black screen. Then, the processor might selectively fill certain memory locations in the video memory with data that are non-zero. This would result in an image appearing on the graphics display—perhaps a straight line, for example.
This flexible scheme has been used in many computers. However, it does suffer from performance problems. The central processor is reasonably good at executing instructions that are arithmetic or logical in nature, but it is not very good at handling large blocks of data in single operations. Although the central processor can display a line on the screen, it is a time-consuming operation that compromises processor performance.
For this reason, special devices known as video co-processors are usually incorporated to optimize these sorts of operations and perform them under command from the central processor. This means that the central processor can get on with doing the operations for which it is better suited and the video co-processor can handle the video output. Often the video co-processor is a very complex device, bordering on the same level of complexity as the central processor, complete with its own instruction execution unit and local memory. These devices can draw lines, rectangles, and other shapes very quickly on the graphics display because they are designed specifically for that purpose.
An alternative to the bitmapped display design approach is the vector graphics display. This design was once popular for engineering workstations since the graphics images produced by these systems are consistent with the diagrams and drawings that are common in engineering analysis and design tasks performed by computer-aided design, manufacturing, and architecture programs, for example.
Instead of sectioning off a large region of computer memory and mapping that to the display device, vector display devices use a variable number of lines to create images—hence the term "vector graphics." Since vector display devices can define a line by dealing with just two points (that is, the coordinates of each end of the line), the device can reduce the total amount of data it must deal with by organizing the image in terms of pairs of points that define lines. The vector graphic display accepts these coordinate pairs, along with other attributes of the line, like color and intensity, and draws the lines directly onto the display.
More advanced graphics systems employ extra specialized devices to help produce more complex images. The presentation of three-dimensional objects on two-dimensional computer screens is an example of an application requiring additional processing. The conventional approach is based on producing a model of the three-dimensional object in a form known as "wire frame," where lines are drawn to represent the object in exactly the same way that a real model might be constructed of it by making a skeletal structure out of wire. Then the wire frame can be filled in with flat, polygonal panels being attached to the frame.
To represent this on a computer screen, a new step must be introduced in the rendering of the image; this is known as "hidden surface removal," since if the object is solid and opaque, surfaces not directly in the line of sight should not be visible. In addition, the surface of the object can be made to appear smooth if desired, by making the wire frame appear more finely grained and the corresponding polygons smaller. There are also devices available that provide visual effects like shading. Each of these operations can be performed effectively by specialized graphics devices designed for the purpose.
Human beings are much more receptive to high quality graphical displays than any other form of computer output. Consumer-oriented electronic systems including games consoles, conventional computers, hand-held personal digital assistants (PDAs), and mobile computers all produce graphical displays. There will always be a need for sophisticated graphic devices to meet the demand for faster and better processing of these displays.
see also Computer System Interfaces; Games; Input Devices.
Ferraro, Richard F. Programmer's Guide to the EGA, VGA and Super VGA Cards, 3rd ed. New York: Addison-Wesley Publishing Company, 1994.
Newman, William M., and Robert F. Sproul. Principles of Interactive Computer Graphics, 2nd ed. New York: McGraw-Hill, 1979.
Richter, Jake, and Bud Smith. Graphics Programming for the 8514/A. Redwood City, CA: M&T Publishing, 1990.
Tischer, Michael. PC System Programming. Grand Rapids, MI: Abacus, 1990.