Since all objects in a videogame are displayed on the
screen as groups of tiny triangles it's very important for a videocard to be
able to pump out as many triangles as possible. The more triangles, the higher
the definition/detail of the landscape and characters. The Radeon 9700
Pro has more then twice the triangle power then the GeForce4 Ti4600 thanks to
its quad vertex
shader pipeline.
Because the vertex shader pipeline handles the colouring, orientation, lighting, etc.
of the vertices four pipelines should allow for more lifelike and cinematic 3D experience
(how many times have we heard that before?).
Of course
in games where the triangle count is low, the Vertex Processing Engine really wouldn't
be stressed or tested to its full potential
The Vertex Processing Engine here is also fully compatible with Vertex Shader 2.0
which is a component of MS's DirectX 9. Moving one, Hyper Z
III works very closely with the Vertex Processing Engine and the first part of Hyper Z
is the Hierarchal Z. What this bit of technology does is divide the Z buffer
into blocks of pixels. Any blocks that are hidden are discarded and if blocks are
partially covered, that area will be subdivided even further and scanned again.
This is tested first in an Early Z Test to make sure the image is proper before
it's shipped to the pixel engine.
Loss Less Z Compression is a form of compression that
guarantees at least a 2:1 compression. This compresses the Z data that goes from
Hyper Z III to the memory back to Hyper Z III. With 6x AA enabled, the
compression can be as efficient as 24:1. Like the name suggests, Loss Less Z
Compression does not degrade image quality.
The last part of Hyper Z III is the Fast Z Clear. Because
the Z buffer must be cleared of data for every frame rendered, ATi has come up
with a trick that clears the Z Buffer in a fraction of the the time.
Unfortunately ATi didn't go into detail here, so I'm not sure how they did
it.
Once everything is set, it's time to render the actual image which you see on the computer display.
The Radeon 9700 Pro is the first videocard that can render eight pixels at the
same time. Each pixel pipeline is 128bits wide with its own independent texture
and pixel shader engine, and to top things off, the texture units can actually
handle two texture data pieces per clock cycle. This is especially useful if
you're using trilinear or Anisotropic filtering.
DirectX 9 also changes
the way the Pixel Shaders handle raw numbers. One problem with using Integers
(for example 2) during rendering is that a pixel's values are always rounded off. With
the Pixel Shader 2.0 specification, all value's are now Real Numbers (2.39402 for example), which
means there is no more rounding off.
This numerical slight hand becomes really important as the
image gets more complex; rounding off integer values would eventually lead to image
errors. When Real Numbers are used, the pixels are exactly what they're suppose to be,
so the GPU can produce a more lifelike & accurate image.