[Future Technology Research Index]
[SGI Tech/Advice Index]
[Nintendo64 Tech Info Index]
[WhatsNew]
[Intro]
[Sys Desc]
[PR]
[CPU]
[RCP]
[GFX]
[Polygons]
[MIPS/MFLOPS]
[Res/Video]
[FPS]
(check my current auctions!)
[<-- Gouraud Shading]
[Triliner MipMapped Interpolation (TLMMI) -->]
Anti-aliasing
This is a hardware feature which ensures that the edges of objects do
not appear to be 'stepped' or jagged. Note that, like most graphics
functions, it must be deliberately selected for use. It's not
automatic. If a game doesn't use anti-aliasing, don't blame it on the
hardware - blame the game designer.
This page describes some of various different ways anti-aliasing can
be achieved..
When drawing lines and edges, the simplest way to display them is to
just turn on certain pixels to show where the line/edge is on the
screen. But because screens are of a much lower resolution than human
vision, just having pixels on or off makes the 'step' in height from
one scan line or column to another very visible to the human eye,
especially when lines/edges are almost horizontal or vertical (also,
because of the way pixels are displayed in most monitors and TVs, a
simple 1-pixel-wide line drawn diagonally will often appear
thinner than a 1-pixel-wide line drawn horizontally or
vertically).
(examine the left hand edge of the building in each image to
see the difference)
During animation, these effects look awful: the edge of each step in
a jagged line appears to 'move' along the line, giving the illusion
that the line is moving in some odd way. Curved surface edges look
especially bad when this happens. If you visit any arcade and look at
a game like Daytona USA or Sega Rally, these 'jagged' edge effects
are very noticable. In visual simulation industries, they can
be so annoying to the human eye as to ruin the immersive effect of
the simulator, which is why the military are willing to pay good
money for high-quality real-time systems like Onyx or Evans and
Sutherland. Note that there is now good evidence to suggest that
simulators which do not use anti-aliasing cause far more visual
discomfort than simulators which do. Any gamer should bare this in
mind, especially since gamers often play games for hours
(which, incidentally, is what my PhD
research will partly focus on).
Hence, anti-aliasing is the process by which pixels either side of a
line/edge are altered in order to make the line/edge appear much
smoother and more natural, with a greater consistency in width and
length. In hardware, this can be done in various ways:
- A common method is to work out how to brighten/darken/alter
neighbouring pixel values based on the values calculated for the
original line (my guess is that this is how the N64 does
anti-aliasing, though exactly how the N64 operates I don't know).
- A second method is to calculate information for each pixel down
to a higher resolution than the final display, ie. each pixel has
subpixel information retained for that pixel. Final pixel values are
calculated by sampling neighbouring subpixel information a certain
number of times, or 'samples'. The greater the number of samples, the
better the anti-aliasing effect (though there is often a trade-off
between sample level and colour quality).
- Another more complex method, which I believe is called
'multispatial antialiasing' involves mathematically 'vibrating' the
image and then taking the 'average'. The result is a much more
realistic looking image, but the process is more complex and probably
does not help in terms of operating in tandum with other parts of the
graphics pipeline, eg. the z-buffer.
- Finally, TLMMI (see below) can sometimes be used to give a
reasonable anti-aliasing effect.
Hardware anti-aliasing is one of the features that the Sega and PSX
consoles do not have. Games like Turok and Shadows of the
Empire use anti-aliasing extensively. Note that, in systems like
the Saturn and PSX, aliasing artifacts (as they're called) become
much worse at lower resolutions.
Here is a description of anti-aliasing from the "Symmetric
Multiprocessing Systems: Technical Report", SGI, 1993, which
discusses the use of multisample anti-aliasing in RealityEngine2 (a
graphics system which was SGI's best back then):
-
Anti-aliasing
Perhaps the most radical new feature of the RealityEngine2 graphics
architecture is the high-performance anti-aliasing hardware. To
provide the highest available image quality, memory and processors
have been placed in the Raster Management subsystem to provide
multisampled anti-aliasing without the normally associated
performance penalties. Anti-aliasing with RealityEngine2 required no
sorting of data and operates in conjunction with the z-buffer for
superior hidden surface removal.
Subpixel information is retained for all vertices as they are
transformed and processed through the pipeline. Each vertex is
computed with an accuracy down to an 8x8 subpixel grid. Thus, there
are 4 subpixel locations for each pixel rendered. When deciding how to
colour a pixel, the system samples the subpixel grid with a certain
number of samples per pixel, then determines the pixel coverage based
upon the number of samples hit.
[<-- Gouraud Shading]
[Triliner MipMapped Interpolation (TLMMI) -->]
(check my current auctions!)
[WhatsNew]
[Intro]
[Sys Desc]
[PR]
[CPU]
[RCP]
[GFX]
[Polygons]
[MIPS/MFLOPS]
[Res/Video]
[FPS]
[Future Technology Research Index]
[SGI Tech/Advice Index]
[Nintendo64 Tech Info Index]