A graphics card, sometimes called a graphics adapter, video card or graphics accelerator, is a computer component which converts digital data into a graphical form which can be displayed on a monitor.
The initial role of a graphics card was to send pixels to a screen, as well as a variety of simple graphical manipulations:
More recent graphics cards now have processors built for handling complex 3D graphical scenes.
A video card's main components are:
The field of 3D is much more recent, and is becoming more important. Some PCs can now compute faster than certain workstations.
Computing a 3D scene is a process which is roughly divided into four steps:
The better the 3D accelerator card can compute these steps by itself, the faster it can be displayed. The first chips could only render, letting the processor take care of the rest.
Since then, graphics cards have included a "setup engine", which handles both of the last two steps.
For example, a 266 Mhz Pentium II which computes the first three steps can process 350,000 polygons per second; when it only computes two, it can reach 750,000 polygons per second.
This demonstrates how much of a load these cards remove from the processor.
The type of bus is also an important factor. While an AGP bus doesn't improve 2D images, cards that use that bus instead of the PCI bus are higher-performance. This is due to the fact that an AGP bus is directly linked to the RAM, which gives it much higher bandwidth than a PCI bus.
These high-technology products now require the same manufacturing quality as processors do, as well as etching between 0.25 µm and 0.35 µm in width.
| Term | Definition |
|---|---|
| 2D Graphics | Displaying a representation of a scene using two reference axes (x and y) |
| 3D Graphics | Displaying a representation of a scene using three reference axes (x, y and z) |
| Alpha blending | The world is made up of opaque, translucent, and transparent objects. Alpha blending is a way to add transparency data to translucent objects. This is done by rendering polygons through masks whose density is proportional to the objects' transparency. The resulting pixel's color is a combination of the foreground and background colors. The alpha's value is generally between 0 and 1, calculated as follows: new pixel=(alpha)*(color of first pixel)+(1-alpha)*(color of second pixel) |
| Alpha buffer | This is an additional channel for storing transparency information (Red, Green, Blue, Transparency). |
| Anti-aliasing | A technique for making pixels appear smoother. |
| Atmospheric effects | Effects like fog or depth, which improve the rendering of an environment. |
| Bitmap | Pixel-by-pixel image |
| Bilinear filtering | Used for making a pixel look more fluid when it moves from place to place (such as when rotated) |
| BitBLT | This is one of the most important acceleration functions, which simplifies the act of moving data blocks, by taking into account the specific features of the video memory. It is used, for example, when a window is moved. |
| Blending | Combining two images by adding them bit-by-bit to one another. |
| Bus Mastering | A PCI bus function which is used to directly receive information from the memory without going through the processor |
| Perspective correction | A texture mapping method. It takes the Z value into consideration when mapping polygons. When an object extends into the distance, it appears to diminish in height and width. Perspective correction involves making sure the rate at which the texture's pixels change size is proportionate to depth. |
| Depth Cueing | Lowers the intensity of objects extending into the distance |
| Dithering | Used for storing 24-bit quality images in smaller buffers (8 or 16 bits). Dithering combines two colors to make one. |
| Double buffering | A method which uses two buffers, one for the display, and the other for rendering, so that when the render is done the two buffers are switched. |
| Flat shading or Constant shading | Assigns a solid color to a polygon. The object rendered this way looks faceted. |
| Fog | Uses the blending function for a fixed-color object (the further it recedes into the background, the more heavily this feature is used) |
| Gamma | The characteristics of a monitor that uses phosphorus are non-linear: A slight change in voltage at a low voltage changes the brightness of the monitor, while the same change at a high voltage will not result in the same magnitude of brightness. The difference between what is expected and what is observed is called Gamma. |
| Gamma Correction | Before being displayed, the data must be corrected to compensate for the Gamma effect. |
| Gouraud Shading | An algorithm (named after the French mathematician who invented it) which uses interpolation to smooth out colors. It assigns a color to each pixel in a polygon based on interpolating the colors at its vertices, in order to simulate the appearance of plastic or metallic surfaces. |
| Interpolation | Mathematical method for inferring missing or damaged information. For example, when an image in enlarged, the missing pixels are regenerated by interpolation. |
| Line Buffer | A buffer created to store a video line. |
| Phong Shading | An algorithm (named after Phong Bui-Tong) for shading colors by computing the amount of light that would strike various points on an object's surface, and then changing the color of the pixels based on those values. It uses more resources than Gouraud shading. |
| MIP Mapping | This is a word which comes from the Latin "Multum in Parvum", meaning "many in one". This method is used to apply textures with different resolutions to objects within a single image, depending on their size and distance. Among other things, this lets higher-resolution textures be used when the object gets nearer. |
| Projection | This is the act of transforming a 3-dimensional space into a 2-dimensional space. |
| Rastering | Turning an image into pixels |
| Rendering | This is the act of creating realiztic images on a screen by using mathematical models for smoothing, coloring, etc. |
| Rendering engine | Hardware or software used for computing 3D primitives (generally triangles). |
| Tesselation or facetting | The act of 3D graphics computing can be divided into 3 parts: Facetting, geometry, and rendering. The step called facetting involves cutting a surface into smaller shapes (often triangles or quadrilaterals) |
| Texture Mapping | Involves storing images made of pixels (texels), then wrapping 3D objects in this texture for more realiztic-looking objects. |
| Tri-linear filtering | Based on the principle of bi-linear filtering, tri-linear filtering involves averaging two levels of bi-linear filtering |
| Z-buffer | The part of memory which stores the distance of each pixel from observer. When objects are rendered onscreen, the rendering engine must delete unseen surfaces. |
| Z-buffering | The act of deleting hidden faces by using the values stored in the Z-buffer. |