| 128-Bit |
|
|
This can refer to the internal graphics engine, or the
path from the controller to graphics memory. A
"true 128-bit" graphics subsystem contains incorporates both a 128-bit internal
graphics engine in addition to a 128-bit path from the controller to graphics memory.
Graphics boards based on this technology provide enhanced 2D and 3D performance in
comparison to the older 64-bit technology. The NVidia TnT would be an example of a true
128-bit chip, while the S3 Savage 3D would be an example of an internal only 128
bit chip. |
| 3D
Graphics Accelerator |
|
|
Well this is a great place to start. Basically a 3D
accelerator is a graphics card which can draw polygons, using only the polygons
3-dimensional vertices, and which can map textures on polygons and/or shade polygons. Not all graphics accelerators are 3D card. Up until 1997 most
graphics accelerators were just 2D- they drew two dimensional images by spitting out
pixels onto to the screen without calculating that hidden element- the z-axis. |
| AGP:
Accelerated Graphics Port |
|
|
A dedicated graphics bus slot on PC motherboards.
AGP operates at 66 MHz and transfers data at a rate up to 528 MB/sec, compared to the PCI
slot which runs at 33 MHz and has a maximum transfer rate of 132 MB/sec. A key to AGP's future success is the its ability to use system
memory to store and retrieve larger, more realistic textures. By using system
memory rather than video memory, without incurring a dramatic performance hit, 3D
application developers can utilize the greater bandwidth for more graphically intense
games.
The Graphics industry is rapidly moving from PCI to
AGP. |
| Alpha-blending |
|
|
Is a technique to do transparency. It is an extra
value added to the pixels of a texture map to define how easy it is to look through the
pixel. This way it is possible to look through things and effects like realistic water and
glass are possible. Usually there a different levels available and some form of
blurring is used to make the whole look realistic. |
| Alpha Channel |
|
|
Colors can be defined by Red, Green, and Blue
values. But, in addition to RGB values, they can also be given alpha values, which
will be used to blend several colors together. |
| Anistropic
Filtering |
|
|
See Filtering |
| Anti-Aliasing |
|
|
Explaining this completely would mean explaining the
whole mathematical sampling theory. It boils down to this. To recover a signal
, or image, you need a minimum of samples to be able to give a realistic representation of
the image. The problems start with texture maps being either too close or too far
away from the viewpoint. If the polygon is far away you only have a limited number
of points to show the texture map, so logically you have to drop a lot of the real pixels
of your texture map. This creates some sort of interlace effect : one line is shown
and one is not. This can result in weird patterns appearing, and makes the texture
map look completely different from the real one. A similar problem if the polygon is
close to you. You need more info than there is resulting in the generation of random
noise (meaningless values). Most of the time the last problem is solved by
MIP-Mapping while the other is solved by the anti-aliasing. Another point where anti-aliasing is used is with straight
lines. If you draw a straight line (under an angle) using a paint program and you
zoom in, you will discover that the line looks like a stairway. To remove this and
make the line look like a line points in different colors are added to the side of the
line to make it look more like a real line. Most of the time it is this kind of
Anti-Aliasing they are talking about. |
| API:
Application Programming Interface |
|
|
A library of routines, functions and objects which can be
used to develop applications. An API may also provide a Hardware Abstraction Layer
(HAL), that is, an interface to various hardware devices. |
| Application
Setting (app hint) |
|
|
Since Direct3D is not always implemented in the same way
some graphics boards perform best with some features turned off, and others tweaked to
perform in a different way. In the case of
3Dfx you can use a separate program called Tweak to add customization.
The PowerVR chipset has its own built in interface
on its driver tab that allows the user to customize the settings for a particular
game. VideoLogic and Matrox have supplied a long list of pre-configured games, but
as new games come out more will be added in driver updates. The user can also update
his own settings by going into the advanced settings for the PowerVR driver. |
| Atmospheric effects |
|
|
Actually refers to 2 other effects that form an
atmospheric effect when they are combined : Fogging and Depth Cueing. |
| Bilinear Filtering |
|
|
See Filtering |
| Bump Mapping |
|
|
An effect such as adding a raised, 3D tactile texture to
a texture map, which increases the realism of 3D objects. Examples of this might include a
final rendered image of a brick wall that shows the uneven surface of the brick and the
grooves between bricks. |
| Busmastering |
|
|
Busmastering is an expansion of the PCI-bus developed by
INTEL. It allows 2 PCI-bus-peripherals to talk to each other without interrupting
the main processor. This allows speedy communication between the 2cards and doesn't
slow the main processor down. Speeds go up to 100Mbps in laboratory setups and up to
around 60Mbps for real motherboards. This technique is used by the PowerVR to send
the pixels that are calculated to the existing graphics card which does the frame
buffering and will transfer the image to the monitor. The 60Mbps is more than
enough, in general there is 15% left of the 60Mbps. There is NO loss in
quality. |
| CLUT: Color Look-Up Table |
|
|
A table which establishes a correspondence between the
global palette (64K colors, for example), and the subset of colors, i.e. the limited
palette (made of 16 or 256 colors), used by a particular texture. |
| Depth Cueing |
|
|
Changes the color and hue of an object in accordance with
the object's distance from the viewer. Most realistic effects are obtained when
using an exponential curve to determine the color and hue. |
| Direct3D |
|
|
Microsoft's API for 3D graphics. One of the
components of DirectX. Supported by all gaming-oriented 3D accelerators so
far. |
| DirectX |
|
|
a set of APIs developed by Microsoft. DirectX is
made of several components, each of which can be used to access different hardware
devices. The members of this family include:
- Direct Draw for enhanced 2-D graphics services.
- Direct3D for enhanced 3-D graphics services.
- Direct Sound for enhanced sound-mixing and playback
services.
- Direct Play for enhanced multiplayer game connectivity over
the Internet.
- Direct Input for enhanced joystick and other input device
performance.
DirectX is a low-level API designed specially for
high-performance applications such as games. It is a thin layer providing direct access to
hardware services (hence the name). The technology takes advantage of available hardware
accelerators and emulates accelerator service when accelerators are present. |
| Double Buffering |
|
|
This is the process of using two frame buffers for smooth
animation. While the image of the first buffer is being displayed, the graphics controller
can use the second buffer to build or render the next image. Once the second image is
completed, the buffers are switched. Thus, the result is the appearance of smooth
animation because only complete images are displayed, and the process of drawing is not
shown. |
| Dithering |
|
|
Creating a new color by blending several colors which are
already available. This technique can be used to make 256-color images look like
64K-color images. The reverse is also true: dithering can be used to render with
only 256 colors some images which were computed using 64K colors. |
| EDO
Ram |
|
|
Extended Data Out RAM. This type of memory is faster than
regular Dynamic RAM because it has its own cache. While the CPU is reading the data stored
in this cache, the memory can retrieve other information so that the CPU will not be idly
waiting for the memory to catch up. |
| Fill
Rate |
|
|
the number of pixels that a card can render (textured and
shaded) over a given time period (millions of pixels per second, MPPS). |
| FPS |
|
|
FPS stands for Frames per Second. This is the main a unit
of measure that is used to describe graphics and video performance. The goal for good DVD
playback is 30fps. 30fps is also used as a minimum perfomance bar for good game play;
however, most gamers will desire significantly better performance.. While the human eye is generally not able to see more than 30 fps,
there are many reasons why serious gamers look for faster frame rates. For a more detailed
overview of fps goto 3D Gaming's Frames Per Second Explanation. |
| Fogging |
|
|
Creates a fog like effect by placing a haze over the
scene. Is used to make object appear slowly to avoid the sudden appearance of
objects. |
| Frame Buffer |
|
|
Part of the memory that is used to store the actual
calculated frame. The frame buffer usually stores 2 frames : one is being calculated by
the 3D accelerator while the other one is being send to the monitor, this is called double
buffering and delivers smooth animation. For 640x480 resolution with 16 bits color
we require 640x480x16x2 = 9830400 bits of memory or about 1.2 Mb of Frame Buffer
memory. For 800x600x16b we need 1.8 Mb. For 1024x768x16b we need about 3Mb
each value is for 2 frames. Voodoo cards are equipped with 2Mb for the Frame and
Z-buffer. It is very clear that no resolutions higher than 800x600 are
possible. If you want the Z-buffer you are limited to 640x480. PowerVR uses
the Memory of your existing graphics card for Frame Buffering. |
| Filtering |
|
|
Filtering is a method to determine the color of a pixel
based on texture maps. When you get very close to a polygon the texture map does not
have enough information to determine the real color of each pixel on the screen so through
interpolation (a technique of using information of the real pixels surrounding the unknown
pixel to determine its color based on mathematical averages) the correct pixel is
calculated. Funny enough filtering blurs the image to improve quality; however, filtering
advanced filtering techniques will sometimes give the whole game a rather vague. A
good example of this are the monsters in Quake. When you get close they will look
rather blurred and unrealistic. In essence
filtering is OK for texture maps that are vague (Texture maps of roads, floors, and
walls tend to be ideal), but it completely destroys texture maps that use very strict
differences of color (faces, computer consoles, and text are sometimes blured beyond
recognition.) Like a chess-board pattern this has very strict changes from white to
black. When using interpolation the whole thing may end up looking gray which is not what
you want.
Following are some methods of filtering starting
(from the worst quality to best)
- Point Sampled filtering
- Bilinear filtering
- Trilinear filtering
Filtering is a method to determine the color of a pixel
based on texture maps. When you get very close to a polygon the texture map hasn't
got enough info to determine the real color of each pixel on the screen. The 3
methods describe ways of determining the color of these pixels. The basic idea is
interpolation, this is a technique of using information of the real pixels surrounding the
unknown pixel to determine its color based on mathematical averages.
Point
filtering will just copy the color of the nearest real pixel, so it will
actually enlarge the real pixel. This creates a blocky effect and when moving this
blocks can change color quickly creating weird visual effects. This technique is
always used in software 3D engines because it requires very little calculation power.
Bilinear
filtering uses four adjacent texels (real info) to interpolate the output pixel
value (unknown). This results in a smoother textured polygon as the interpolation
filters down the blockiness associated with point sampling. The disadvantage of
bilinear texturing is that it results in a fourfold increase in texture memory bandwidth.
Trilinear
filtering will combine Bilinear filtering in 2 Mip levels. This however results
in 8 texels being needed so memory bandwidth is multiplied by 2. This usually means
that the memory will suffer serious bandwidth problems so trilinear filtering is usually
used as an option.
Anistropic
Filtering addresses quadrilateral shaped and angled areas of a texture image. A
sharper image is accomplished by interpolating and filtering multiple samples from one or
more MIP-maps to better approximate very distorted textures. This is the next level of
filtering after trilinear filtering. While it will create the best looking images it comes
at a serious price and should only be used when your system can handle it. If your system
is performing slowly try turning on and off Anistropic filtering for better perfomance. |
| Glide |
|
|
A proprietary 3D graphics API developed by 3Dfx
Interactive, designed to enable game developers to take full advantage of 3Dfx's Voodoo 1,
Voodoo 2, and Banshee chipsets. |
|
| Loopback
Cable |
|
|
This is the technique used by the Voodoo cards to put
images on the screen of the monitor. There is the "loopback cable" that
goes from your existing 2D card to the Voodoo based card, from there your old cable goes
to the monitor. For 2D operation you still use your old 2D card the info has to move
through the poorly shielded loopback cable to the Voodoo and than to the monitor.
This results in quality loss (noise picked up by the loopback cable). When you turn
on 3D acceleration the Voodoo card disconnects (using relays or FET-switches) your 2D
cards signal and start broadcasting. These switches are again a big source of
noise. This noise will result in blurry high resolution images when using your 2D
card. It is visible with resolutions of 1024x768 and higher. |
| HAL: Hardware Abstraction Layer. |
|
|
A component of an API which represents the hardware
functions of a particular system which can be used by the API to render an image and
create various 3D effects. |
| Hardware Triangle Setup |
|
|
A 100% hardware triangle setup engine allows drivers to
pass polygons directly to the rendering portion of the 3D graphics processor without
forcing the CPU to pre-process these polygons. By moving this function from the CPU to the
graphics chip, increased performance is realized to achieve stunning interactive 3D. |
| Lens flares |
|
|
Nice visual effect, simulating the patterns appearing
when the sun or a light sources hits the lens of a camera. Supported in the hardware
by the PowerVR cards and easily done in software for the other cards. |
| MIP
mapping |
|
|
A technique using scaled down versions of a texture
image, generated beforehand and stored in memory, are then used in rendering a 3D scene to
provide the best quality. This technique allows objects to look more detailed when coming
closer to them by defining multiple texture maps- very detailed textures maps are used
when the object is close and less detailed ones used when the object is further
away. This helps to avoid the blocky textures, and the step effect on lines.
Usually they talk about MIP-levels or Level of Detail (LOD) which refers to the quality of
the texture map used.
- Derived from Latin phrase, multium in parvo, ("many in
one"), because it uses several pre-filtered texture patterns known as MIP-maps
- Original texture is reduced by 1/4 and stored as the 2nd
texture, then it is reduced by again by 1/4 and stored as the 3rd texture
- The appropriate texture MIP-map is selected depending on
how far or near the object is from the viewpoint.
|
| On-Chip Cache |
|
|
Memory on the graphics chip designed to store textures,
greatly enhancing 3D rendering performance. Memory that is integrated into the graphics
chip is much faster than memory on the graphics card. |
| Open
GL |
|
|
A set of specifications for a cross-platform 3D graphics
API developed initially by Silicon Graphics Inc. Currently this is primarily used for CAD
applications and other professional level 3D design work in Windows NT. Quake has
popularized this as a gaming API. For PC 3D
graphics accelerators, there are currently two ways to implement OpenGL support, a full
Installable Client Driver (ICD) or a Mini Client Driver (MCD). ICD is the original driver
model for OpenGL, and enables vendors to access the entire OpenGL pipeline, allowing them
to increase acceleration while maintaining the stability and compatibility of the driver.
MCD is a stripped down OpenGL driver, allowing access to only a portion of the OpenGL
pipeline, limiting the ability to increase performance and stabilize the driver. MCD is
all that is required for games such as Quake. |
| Perspective Correction |
|
|
Function that removes the distortion that appears when a
texture map is applied to a polygon in space. By using a computational intensive
method, this particular way of doing texture mapping increases the realism of an image.
Perspective Correction takes into account the depth of a scene while rendering texels onto
the surface of polygons. This provides the appearance that objects near the viewer are
larger and objects that are further appear smaller. In addition, this allows parallel
lines such as railroad tracks converge in the far distance. |
| Pipelining |
|
|
AGP graphics boards can queue multiple commands using a
method called pipelining. In pipelining, AGP overlaps the memory or bus access times for a
request with the issuing of following requests. In the PCI bus, the second request does
not begin until the data transfer of the first request finishes. |
| Point-Sampled
Filtering |
|
|
See Filtering |
| Rasterization |
|
|
the process of transforming a 3D image into a set of
colored pixels. |
| Real
time shadows and light volumes on complex objects |
|
|
The advanced algorithm used by the PowerVR is partly
based on search the intersecting line of 2 planes. To do real time shadows you let
infinite planes tart from you light source and you let the go around the object casting
its shadow. The intersecting lines between the surrounding objects (surfaces) and
the planes coming from the light source will determine the Real shadow casted by that
object. Light Volumes are similar but instead of casting a shadow you do an
inversion and you are casting light. The
other chipsets are incapable of doing hardware shadows and have to use a software
equivalent, this means that it will be slower and much less realistic. Usually those
software shadows are static and do not move with the light source, they always fall
straight under the object. Recreating the same realism as with the powerVR is
possible but would require too much time of the main processor to be used. |
| Rendering |
|
|
A term which is often used as a synonym for
rasterization, but which can also refer to the whole process of creating a 3D image. |
| RGB
- Red-Green-Blue |
|
|
Each color is defined by a value on the Red scale, a
value on the Green scale and a value on the Blue scale. |
| RGBA-
Red-Green-Blue-Alpha |
|
|
Adds an alpha-value. |
| SDRAM |
|
|
Synchronous Dynamic Random Access Memory (SDRAM) is a
extremely fast form of graphics memory that incorporates a pipelined architecture which
helps to set up synchronization between itself with the CPU bus clock for very high memory
access speeds. Increased performance is obtained with SDRAM by using a multiple bank
architecture that simulates the dual port nature of other video RAM technologies. |
| Shading:
Flat, Gouraud, and Interpolative |
|
|
|
| Sideband
Signalling |
|
|
An extra 8-bits of addressing capability built into AGP
which, in effect, allows the AGP graphics board to request information over AGP at the
same time as it is receiving data over the 32-bit datapath of the bus. This is yet another
way that AGP graphics board can create better efficiencies and improve overall graphics
performance. |
| Single-Pass Multi-Texturing |
|
|
A feature made possible by new advanced 3D graphics
processors such as the NVIDIA RIVA TNT. In order to provide increased realism in 3D
worlds, multi-texturing is the process by which multiple texture maps are rendered and
blended together. An example of this might be a rendered image of yourself looking into a
chrome hubcap and seeing your reflection. Traditionally 3D graphics processors were able
to utilize this feature by implementing two passes. First rendering one image, then the
other and finally blending them. The action whereby a 3D graphics board processes these
two images in one pass is considered single-pass multi-texturing. As you might imagine,
this provides for increased performance and realism while maintaining visual quality. |
| SLI |
|
|
SLI stands for Scan Line Interleave, a method of
connecting two 3Dfx's Voodoo 2 through an internal cable to increase performance. In this
configuration, each card renders every other line, which almost doubles the fill
rate. |
| Stencil Buffer |
|
|
This buffer holds special information for each pixel as
to whether or not to draw it. Stencils can be of any shape and can be thought of as cuts
that allow an image to be seen through the cutout. This feature is particularly useful in
creating special effects such as shadowing from multiple light source. |
| Sub
pixel-positioning (-correction) |
|
|
There is a limited number of pixels available on the
screen, if a line doesn't run through a real pixel, it must be moved to the nearest one,
this introduces a positional error. This technique will break up pixels into smaller
sub pixels in memory so that the line can be drawn to the nearest sub pixel. |
| Texture compositing, morphing, animation |
|
|
Visual effect based on using different texture maps for
the same polygon. All are based on placing time dependent texture maps on the
polygon. Usually used for displaying movies on road signs. Supported in the
hardware by Voodoo. Easy to do in the software for the other cards. |
| Texture Mapping |
|
|
In 3D graphics, texture mapping is the process of adding
a graphic pattern to the polygons of a 3D scene. Unlike simple shading, which uses
colors to the underlying polygons of the scene, texture mapping applies simple textured
graphics, also known as patterns or more commonly "tiles", to simulate walls,
floors, the sky, and so on. |
| Texture Memory |
|
|
Part of the memory that is used to store the texture
maps. Usually a separate block of memory (separated from the Frame and
Z-buffer). There is 2Mb on most cards while the powerVR based cards have 4Mb.
Texture maps can be stored in different formats : color depth, size (32x32 up to 256x256
pixels). The pixels of a texture map are usually referred to as Texels. The more
Texture Memory your card has the more different texture maps can be used in a scene.
This allows more MIP-levels or more different ones to avoid repetition of the same texture
maps over and over, gives more variation and more realism to the scene. Some
software companies are complaining that 2Mb of texture ram is not enough. The
general rule is the more the better but watch our for bandwidth problems... |
| Trilinear
Filtering |
|
|
See Filtering |
| 3D
Winbench 98 Quality Test |
|
|
Ziff-Davis publishing has created a variety of tests to
test the speed of PCs and more in particularly the speed of the graphics card. 3D Winbench
98 is a test created to specifically test the speed of the graphic chip's 3D engine. When 3D Winbench 98 was first created Direct 3D was still a
very new standard that was poorly supported. Many 3D graphic chips were not capable of
displaying many of the features of Direct 3D and Ziff-Davis correctly decided that before
running a benchmark they should test the quality of the image. The logic is this: I does
not matter if a chip is capable of displaying a game at 100 frames per second, if that
image is devoid most of the 3D features that the user is looking for, then the user may
just be better off using DOS.
Before you can run the 3D Winbench's 3D Winmark Test
you must run the Quality Test to verify that the features are supported. If a feature is
not supported then that feature will be turned off during the test and the score of that
particular test will be a 0. Since the final Winmark is based on the sum of the scores,
the failure of a feature will negatively effect the 3D Winmark score.
Today, most new chips support the bulk of the 3D features
that 3D Winbench 98 tests for, and offer many others that the test does not account for.
While this test is certainly not the only test that should be used when considering which
card to buy, it is a good place to start. |
| Windows95 |
|
|
<win-doz-nin-te-fiv> n. 32 bit extensions and a
graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4
bit microprocessor, written by a 2 bit company that can't stand 1 bit of
competition. |
| Z-Axis |
|
|
The z-axis measures the depth of an object in a 3D world.
Each object is composed of a group of vertices (points) that form a polygons which in turn
combine to form a complex (usually) object. Assuming that the x-axis and the y-axis
define the plane in which the screen (the front of your monitor) is included, the z-axis
measures the distance from a point to the screen. In a 2D image the polygons would
just be flat, but in a 3D image the polygons actually have depth enabling some polygons to
be located behind others either partially or completely. It is this depth that makes a 3D
world come alive. |
| Z-Buffer |
|
|
An additional portion of memory which stores a 3D
object's value on the Z-axis (depth). The graphic controller can decide to draw or delete
certain lines by constantly comparing Z-values in this buffer, and therefore make certain
parts visible or hidden to the viewer. Part of the memory where the depth value of pixel
is stored. Space has three coordinates x, y and z. Assuming that the x-axis
and the y-axis define the plane in which the screen is included, the z-axis measures the
distance from a point to the screen. The z-buffer is a portion of memory used to
store the coordinate on the z-axis of the closest opaque point for each value of x and
y. The value of the z-axis allows the card to determine whether a pixel is visible
or not. A 16bit number that represents the Z-value (depth). High values are
far away while small ones are close to you. You
need 640x480x16= 4915200 bits at a resolution of 640x480 with a Z-buffer size of
16bits. It is equivalent to adding one extra frame to the framebuffer for Voodoo
Cards. It is trivial that at a resolution of 800x600 the Voodoo based cards can not
use a Z-buffer because they only have 2Mb for frame- and Z-buffering. They would
need 800x600x16x3bits or 2.7Mb.No problem with 640x480 : 1.8Mb required.
Generally a dedicated z-buffer increases frame rates but
since it requires memory it is more expensive. AGP should help solve this problem since
AGP will allow the 2D/3D card to access main memory for the z-buffer.
An alternative to a dedicated z-buffer is used by the
PowerVR which uses a technique called Hidden Surface Removal to determine whether a pixel
is visible or not, and so it does not need any memory for this process.
This document has been made by Jack Frost from 3D Gaming, all credits time and patience go
to him. Wonderful job Jack !
|