Video Hardware, Part 3 - 3D Graphics Accelerators
(Page 9 of 12 )
Since the late 1990s, 3D acceleration—once limited to exotic add-on cards designed for hardcore game players—has become commonplace in the PC world. Although mainstream business users are not likely to encounter 3D imaging until the next major release of Windows (code-named Longhorn) is released in 2006, full-motion 3D graphics are used in sports, first-person shooters, team combat, driving, and many other types of PC gaming. Because even low-cost integrated chipsets offer some 3D support and 3D video cards are now in their sixth generation of development, virtually any user of a recent-model computer has the ability to enjoy 3D lighting, perspective, texture, and shading effects in her favorite games. The latest 3D sports games provide lighting and camera angles so realistic that a casual observer could almost mistake the computer-generated game for an actual broadcast, and the latest 3D accelerator chips enable fast PCs to compete with high-performance dedicated game machines, such as Sony's PlayStation 2, Nintendo's GameCube, and Microsoft's Xbox, for the mind and wallet of the hard-core game player.
Note -At a minimum, Longhorn requires graphics hardware that supports DirectX 7 3D graphics; however, for maximum functionality of the 3D GUI, graphics hardware that supports DirectX 9 or greater is required.
How 3D Accelerators Work To construct an animated 3D sequence, a computer can mathematically animate the sequences between keyframes. A keyframe identifies specific points. A bouncing ball, for example, can have three keyframes: up, down, and up. Using these frames as a reference point, the computer can create all the interim images between the top and bottom. This creates the effect of a smoothly bouncing ball.
After it has created the basic sequence, the system can then refine the appearance of the images by filling them in with color. The most primitive and least effective fill method is called flat shading , in which a shape is simply filled with a solid color. Gouraud shading , a slightly more effective technique, involves the assignment of colors to specific points on a shape. The points are then joined using a smooth gradient between the colors.
A more processor-intensive, and much more effective, type of fill is called texture mapping. The 3D application includes patterns—or textures—in the form of small bitmaps that it tiles onto the shapes in the image, just as you can tile a small bitmap to form the wallpaper for your Windows desktop. The primary difference is that the 3D application can modify the appearance of each tile by applying perspective and shading to achieve 3D effects. When lighting effects that simulate fog, glare, directional shadows, and others are added, the 3D animation comes very close indeed to matching reality.
Until the late 1990s, 3D applications had to rely on support from software routines to convert these abstractions into live images. This placed a heavy burden on the system processor in the PC, which has a significant impact on the performance not only of the visual display, but also of any other applications the computer might be running. Starting in the period from 1996 to 1997, chipsets on most video adapters began to take on many of the tasks involved in rendering 3D images, greatly lessening the load on the system processor and boosting overall system performance.
There have been roughly eight generations of 3D graphics hardware on PCs, as detailed in Table 15.19.
Table 15.19 Brief 3D Acceleration History Generation | Dates | Technologies | Example Product/Chipset |
1st | 1996–1997 | 3D PCI card with passthrough to 2D graphics card; OpenGL and GLIDE APIs | 3dfx Voodoo |
2nd | 1997–1998 | 2D/3D PCI card | ATI Rage, NVIDIA RIVA 128 |
3rd | 1999 | 2D/3D AGP 1x/2x card | 3dfx Voodoo 3, ATI Rage Pro, NVIDIA TnT2 |
4th | 1999–2000 | DirectX 7 API, AGP 4x | NVIDIA GeForce 256, ATI Radeon |
5th | 2001 | DirectX 8 API, programmable vertex and pixel shaders | NVIDIA GeForce 3, NVIDIA GeForce 4 Ti |
6th | 2001–2002 | DirectX 8.1 API | ATI Radeon 8500, ATI Radeon 9000 |
7th | 2002–2003 | DirectX 9 API, AGP 8x | ATI Radeon 9700, NVIDIA GeForce FX 5900 |
8th | 2004–2005 | PCI Express | ATI X800, NVIDIA GeForce 6800 |
With virtually every recent graphics card on the market featuring DirectX 8.x or greater capabilities, you don't need to spend a fortune to achieve a reasonable level of 3D graphics. Many cards in the $75–$200 range use lower-performance variants of current high-end GPUs, or they might use the previous year's leading GPU. These cards typically provide more-than-adequate performance for 2D business applications. Most current 3D accelerators also support dual-display and TV-out capabilities, enabling you to work and play at the same time.
However, keep in mind that the more you spend on a 3D accelerator card, the greater the onboard memory and faster the accelerator chip you can enjoy. Current high-end video cards featuring NVIDIA or ATI's top graphics chips, 128MB–256MB of video memory, and AGP 8x or the new PCI Express x16 interfaces sell for $300–$500 each. These cards are aimed squarely at hardcore gamers for whom money is no object. Mid-range cards costing $200–$300 are often based on GPUs that use designs similar to the high-end products but might have slower memory and core clock speeds or a smaller number of rendering pipelines. These cards provide a good middle ground for users who play games fairly often but can't cost-justify high-end cards.
Before purchasing a 3D accelerator adapter, you should familiarize yourself with some of the terms and concepts involved in the 3D image generation process.
The basic function of 3D software is to convert image abstractions into the fully realized images that are then displayed on the monitor. The image abstractions typically consist of the following elements:
Vertices. Locations of objects in three-dimensional space, described in terms of their x, y, and z coordinates on three axes representing height, width, and depth.
Primitives. The simple geometric objects the application uses to create more complex constructions, described in terms of the relative locations of their vertices. This serves not only to specify the location of the object in the 2D image, but also to provide perspective because the three axes can define any location in three-dimensional space.
Textures. Two-dimensional bitmap images or surfaces designed to be mapped onto primitives. The software enhances the 3D effect by modifying the appearance of the textures, depending on the location and attitude of the primitive. This process is called perspective correction. Some applications use another process, called MIP mapping , which uses different versions of the same texture that contain varying amounts of detail, depending on how close the object is to the viewer in the three-dimensional space. Another technique, called depth cueing , reduces the color and intensity of an object's fill as the object moves farther away from the viewer.
Using these elements, the abstract image descriptions must then be rendered, meaning they are converted to visible form. Rendering depends on two standardized functions that convert the abstractions into the completed image that is displayed onscreen. The standard functions performed in rendering are
Geometry. The sizing, orienting, and moving of primitives in space and the calculation of the effects produced by the virtual light sources that illuminate the image
Rasterization. The converting of primitives into pixels on the video display by filling the shapes with properly illuminated shading, textures, or a combination of the two
A modern video adapter that includes a chipset capable of 3D video acceleration has special built-in hardware that can perform the rasterization process much more quickly than if it were done by software (using the system processor) alone. Most chipsets with 3D acceleration perform the following rasterization functions right on the adapter:
Scan conversion. The determination of which onscreen pixels fall into the space delineated by each primitive
Shading. The process of filling pixels with smoothly flowing color using the flat or Gouraud shading technique
Texture mapping. The process of filling pixels with images derived from a 2D sample picture or surface image
Visible surface determination. The identification of which pixels in a scene are obscured by other objects closer to the viewer in three-dimensional space
Animation. The process of switching rapidly and cleanly to successive frames of motion sequences
Antialiasing. The process of adjusting color boundaries to smooth edges on rendered objects
Next: Common 3D Techniques >>
More Video Cards Articles
More By Addison-Wesley/Prentice Hall PTR
|
This chapter is from Upgrading and Repairing PCs, 16th edition,by Scott Mueller. (Que Books, 2004, ISBN: 0789731738). Check it out at your favorite bookstore today. Buy this book now.
|
|