behind the polygon can appear through the polygon where ever the opacity of the tree
map is low, thereby creating the illusion of an actual tree.

Textures can be combined with their surfaces in a variety of ways.  A monochrome
texture can be used to blend between the surface color and a constant color to create
effects such as grass on dirt or realistic asphalt.  By adding alpha, a texture can be used
to create translucent clouds.  Textures can also be used to modulate a surface's color or
be applied as a decal over a surface.

The PowerVision architecture can automatically generate texture coordinates based
on user-specified behavior.  This feature can texture map contours onto an object
without requiring the user to compute or store its texture coordinates.


3.3.2 Sub-Pixel Positioning
 

After being projected to screen space by the Geometry Subsystem, all vertices retain
their fractional positioning information instead of being coerced to integers.  This
gives an accurate description of the primitive's position in a floating point space.
Without this feature, primitives would be rendered incorrectly and jitter as they
move, causing serious problems with the anti-aliasing features described below.  The
subpixel grid provides eight times the resolution in both X and Y for 64 subpixels/
pixel.  Thus, the effective resolution with subpixel positioning is 10K x 8K for one 1280
x 1024 frame buffer.


3.3.3 Single Pass Anti-aliasing
 

In the PowerVision Scan Conversion Subsystem, all geometric primitives can be anti-
aliased in a single pass.  Custom hardware is employed to draw them at interactive
speeds.  Basically, a weight computed for each pixel of the primitive is used to blend
the pixel's color into the existing pixel in the frame buffer, This weight is an
approximation of the coverage, that is, the area of each pixel covered by the primitive.


3.3.4 Blending
 

A pixel's color is combined with the coverage term to determine a better
approximation of the pixel color.  If the pixel is entirely covered by the primitive
(coverage term = 1.0), the pixel color remains unchanged.  If the pixel is only partially
covered by the primitive, the coverage term will be between 0.0 and 1.0, the pixel
color will be scaled down accordingly, then blended with the color of the pixel in the
frame buffer.  Therefore, pixels that are partially covered by several primitives will
have the average color of these primitives and give a better approximation.


3.3.5 Point Anti-aliasing
 

To render an anti-allased RGB point, a 3-by-3 grid of pixels is used to approximate the
area covered bv a filtered point.  Pixels closest to the point have the highest weights,
while pixels further out have lower weights.

For color indexed, anti-aliased points, instead of generating a weight for blending, the
hardware substitutes the lower four bits of the color index value.  The new color then
indexes into a ramp in the color look-up tables.