|
Advice Beginners BIOS Guide CPUs Links Mainboards Memory Network Storage Video/Sound Cards Contact Forum SiteMap Sponsors WebNews Home |
. | . |
Prices: Mainboards ABIT ASUS Chaintech Shuttle Soyo Tyan CPU Intel P4 2.4C-800 P4 2.6C-800 P4 2.8C-800 P4 3.0-800 P4 3.2-800 AMD AthlonXP XP 1700+ XP 2000+ XP 2400+ XP 2500+ XP 2700+ XP 3000+ XP 3200+ Athlon64 Athlon64 3200+ Athlon64 FX-51 Opteron Opteron 240 Opteron 242 Opteron 244 Opteron 246 Memory Corsair Crucial Kingston Mushkin OCZ |
LOSTCIRCUITS |
|
| FIC RADEON 8500 The Little Card that Could | |
| (Review by MS, January 4, 2002) |
Historically, geometry processing had to be carried out by the CPU, however, with the introduction of hardware-accelerated transform and lighting (T&L), the GPU has taken over these tasks. This happened about 2 years ago with the introduction of the GeForce256. The latest developments in hardware and software, however take it a few steps further by introducing programmable vertex shaders that can be used to modify the incoming vertices.
What are vertex shaders?
A vertex shader is software that modifies vertex data within the geometry -processing pipeline. In the case of ATI's SMARTSHADER, each vertex can consist of up to 16 distinct pieces of data, which are read by the vertex shader as individual streams. These pieces of data can contain positional coordinates, texture coordinates, lighting values or weighting values for matrix skinning. A vertex shader program can have a maximum length of 128 instructions, and make use of up to 96 constant values and 12 temporary data registers. The actual instructions are very similar to those found in CPU assembly language and allow for easy manipulation of vertex data.

Schematic overview of the SMARTSHADER topology with its 16 Stream units (picture courtesy of ATI).
The implementation of vertex shaders allows a huge variety of new graphics effects. Since the vertex shaders modify the position of a vertex and, therefore, the geometry, the effects involve mostly modifications to the shape or position of object. Vertex shaders can also be optimized in many cases to provide superior performance in fixed function T&L operations.
Examples
Procedural Deformation
Procedural deformation is another word to assign a mathematical function (vertex shader) to incoming vertices. Objects that change shape according to these functions (soap bubbles, waves and flags) can be modeled within the GPU without requiring additional bandwidth.
Shadow Volumes
Shadows are a very important part of any scene, since create depth and atmosphere. Vertex shaders can generate convincing shadows that can be fully animated and extended to multiple light sources. The shader is used to create transparent volumes that extend behind objects away from any light sources, creating shadows where the volumes contact other surfaces. The closer the light source is to the shadow-casting object, the darker the shadow is.

Shadow volumes are defined by size and proximity of the light source to the shadow-casting object (picture courtesy of ATI).
Other vertex shader effects include, but are not limited to:
next page: => Adding the Textures =>