What's A 3D Accelerator?
Just as a graphics accelerator is optimized for making graphics appear
on your screen as quickly as possible, and a multimedia accelerator
contains specialized hardware for making video playback smooth and
realistic, a 3D accelerator is designed to enhance performance when
using software that presents a three-dimensional environment on your
display.
Although affordable 3D accelerators are new, people have been displaying
three dimensional environments on two dimensional (flat) displays
for years. Architects and engineers have used computers to create 3D
projections of plans and models since the late 1960's. On the
entertainment front, Atari's Battlezone, with its abstract
geometrical shapes and cold green lines, was unleashed in 1982, and
3D charts and graphs have been a staple of spreadsheets and financial
programs for years. The benchmark for quality is continually raised --
Doom was revolutionary when it was released in 1993, but today's
3D games like EF2000 ,Jane's Longbow and Earthsiege II have
advanced even further.
However, the large amount of computing work
necessary to perform the mathematical calculations needed to draw
complex 3D scenes has kept the level of graphics quality lower than that
of non-3D games. Just compare the image quality of Doom to that
of Myst for an example. As far as computing technology has gone,
3D games and applications have lots of potential to look even better.
But looks alone are NOT the issue. Because the host CPU is tied up rendering
perspective corrected 3d objects in a fluid environment, it can't be used for
other things, like special effects and communicating with other computers
via a modem or network.This is where 3D accelerators come in. They can render a 3D scene much
faster than the processor on your motherboard can. And, by performing
this processor-intensive work, they free up the processor on your
motherboard to work on other things. As a result, 3D games and
applications can run at higher screen resolutions, with more colors,
more realistically shaded and textured objects, all at more frames per
second.
The results can be phenomenal. Imagine a first-person game with the
speed and response of Doom but with the gorgeous, high resolution
detail of Myst. Imagine arcade-quality graphics on your PC.
Imagine workstation-level architectural rendering speed.
But the Internet too will benefit from these advances. Imagine
using a VRML browser to cruise through staggeringly realistic virtual
cyberspace worlds that come alive with liquid-smooth response.
Simply put, 3D accelerators represent a quantum leap in affordable
computing technology -- in the words of PC Gamer in their March, 1996
issue, "The potential is exciting. 3D acceleration technology actually
gives game developers a way to develop superior games with far less time
wasted worrying about hardware. It's a watershed event, comparable to
the introduction of sound cards, CD-ROMs, or the original VGA card."
A Quick Course In 3D Terminology
3D accelerators bring with them a whole new vocabulary. Here are brief
definitions of the terms you'll find on a spec sheet or advertisement
for a 3D accelerator:
3D API
API stands for application programming interface. It's a
collection of routines, or a "cookbook," for writing a program that
supports a particular type of hardware or operating system. A 3D API
allows a programmer to create 3D software that automatically utilizes a
3D accelerator's powerful features. 3D engines can be very different
when you program them at a low level by talking directly to registers and
memory, so without an API that offered support for multiple 3D
accelerators, it would be hard for a software developer to port their
game or application to a lot of cards.
A reasonable chipset, like nVidia's Riva, supports every major 3D API, including Direct3D / Reality Lab, OpenGL, 3DR, RenderWare, and BRender.
Alpha Blending
Alpha blending is a technique which provides for transparent objects. A
3D object on your screen normally has red, green and blue values for each
pixel. If the 3D environment allows for an alpha value for each pixel,
it is said to have an alpha channel. The alpha value specifies the transparency
of the pixel. An object can have different levels of transparency: for
example, a clear glass window would have a very high transparency (or,
in 3D parlance, a very low alpha value), while a cube of gelatin might
have a midrange alpha value. Alpha blending is the process of "combining"
two objects on the screen while taking the alpha channels into consideration
– for example, a monster half-hidden behind a large cube of strawberry
gelatin (hey, it could happen!) would be tinted red and blurred where it
was behind the gelatin.
A good chipset, like the S3 ViRGE, supports alpha blending in hardware. This means
that the application or game developer doesn't need to use a slower software
routine to make sure that transparent objects are drawn correctly. The
developer just defines the transparency of each object, and the hardware
takes care of the rest. Because this powerful feature is in hardware, developers
will be encouraged to create more realistic environments by adding transparent
objects, previously difficult to do.
Depth Cueing and Fogging
Fogging is just what it sounds like: the limits of the virtual world
are covered with a haze. The amount of fog, color, and other particulars
are set by the programmer.
Depth cueing is reducing an object's color and intensity as a function
of its distance from the observer. For example, a bright, shiny red ball
might look duller and darker the farther away it is from the observer.
Both of these tools are useful for determining what the "horizon"
will look like. They allow the developer to set up a 3D virtual world (for
a game, interactive walk-through, and so on) without having to worry about
extending it infinitely in all directions, or far-away items appearing
as bright points that confuse the user -- features can fade away into the
distance for a natural effect.
Shading: Flat, Gouraud, and Texture Mapping
Most 3D objects are made up of polygons, which must be "colored
in" in some fashion so they don't look like wire frames. Flat
shading is the simplest method and the fastest.
A uniform color is assigned to each polygon. This yields unrealistic results,
and is best for quick rendering and other environments where speed is more
important than detail. Gouraud shading is slightly better. Each point of
the polygon is assigned a hue, and a smooth color gradient is drawn on
the polygon. This is a quick way of generating lighting effects -- for example,
a polygon might be colored with a gradient that goes from bright red to
dark red.
Texture mapping is the most compelling and realistic method of drawing an object,
and the version that most modern games like Doom require. A picture (this
can be a digitized image, a pattern, or any bitmap image) is mapped onto
the polygon. A developer designing a racing game might use this technology
to draw realistic rubber tires or to place decals on cars.
Video texture mapping is a particularly exciting form of
texture mapping that fits in well with 3d chipsets like the ViRGE,
which employs high-speed video processing. A video stream (either
live, or from an AVI or MPEG file) is treated like a texture, and is
mapped to a 3D surface.
Perspective Correction
Z-Buffering is a technique for performing "hidden surface removal"
– the act of drawing objects so that items which are "behind"
others aren’t shown. Performing Z-buffering in hardware frees software
applications from having to perform the intensive hidden surface removal
algorithm.
How big are the polygons?
Flat Shaded: This is the fastest to compute, it also appears the most primative.
Think of what a large ball made from sheets of plywood would look like.
Gouraud shading: While not nearly as fast for the computer to generate,
these polygons have a much smoother look most of the current games use this type of shading,
games like Tie Fighter, Flight Sim 5.1, TFX.
Phong Shading: Now the computer really has to work hard to maintain a respectable
framerate when using this type of shading, however the results are much more impressive.
Phong shading is used in many rendering programs like 3D Studio and others. This is where the
3D cards will be headed in the near future, and when they are capable of this type of smoothing
you can expect simulators to look more like Myst and less like SU27.
Sub Pixel Correction: A bit-map is in essence a grid, if the line you are trying to draw does not fall
directly on a pixel, it is snapped to the nearest one. This process induces an error which will show up on the
screen as uneven diagonal lines or blocky circles or flickering dots. The first step to removing this error is to
break the pixel "grid" into smaller so-called sub-pixels in memory. Now instead of going to pixel ( X-32, Y-41 )
you can go to ( X-32.25, Y-40.75 ). The second step now that you have more exact points along the line is to
anti-alias the resulting pixels.
Bi-Linear Filtering: A form of anti-aliasing where image smoothing is based not only on the pixels
on each side, but up and down as well.
Quadratic Mapping: This is a feature only a few cards have but which holds much promise.
Most objects are made of polygons, for angular subjects this is fine but when it comes to representing a
curved surface you can only approximate. The closer you get to the curved object the more apparent this
approximation becomes. The usual alternative to this is to add more polys, the problem is you only have
a certain number of polys to work with if you are going to maintain a respectable frame rate. Quadratic
mapping on the other hand replaces the polygons with 9 control points, these points serve as a guide by
which an image is bent or curved to the desired shape.
Interpolation: A procedure where after low-res image ie: 320 x 200 is scaled to a higher
resolution such as 640 x 480, the resulting gaps between the pixels are filled in with pixels that have
values based on the surrounding pixels. This is most commonly found on cards that have real-time video
playback. While this feature is great for seeing low-res animations and movies full screen, be sure that
the card can support 640 x 480 animations in real-time as well.
Transparency Mapping: This capability is important in that it will allow a programmer to "cut"
holes or windows into an object without having to actually model and additional faces.
Reflection Mapping: The ability to map a image onto an object to simulate reflection. This
makes glass look much more convincing.
Main
© 1997 - 2000 COMBATSIM.COM, Inc. All Rights Reserved.