The Vertex Shader :
A vertex shader handles small
programs or instruction sets and applies them to each
vertex received through the geometry processing line.
ATi's vertex shader is able to accept upto 16 individual
data streams for each vertex (the grey boxes 0 to 15
at the top). This data may include positional coordinates,
texture coordinates,lighting values, weighting values
for matrix skinning, or anything else the developer
desires. 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 allowing
for an almost unprecedented level of flexibility to
create a mind numbing range of effects limited only
by the programers ability and imagination.

Vertex Shader
Uses:
From realistic, shimmering and
deforming soap bubbles to the example below where a
cloth is draped over a sphere, the vertex shader open
up a huge box of tricks to the developer.

Vertex shaders also
allow for the effective creation of volumetric shadows
which serve to add depth and mood to scene as can be
seen below.

Some other effects
ATi suggest are suited to vertex shader routines include,
but are not restricted to :
- Fur Rendering grow
realistic fur from any object that can be made to
curl or blow in the
wind if desired.
- Particle Systems animate
large numbers of small particles by assigning and
modifying
physical properties such as mass, velocity, acceleration,
etc. Useful for modeling fire,
sparks, explosions, smoke, rain, snow, and more.
- Lens Effects distort
an image as if it were being viewed through a lens.
- Matrix Palette Skinning
allow skeletally animated characters with many bones
to move
freely and bend naturally.
- Advanced Keyframe Interpolation
perform animation and morphing effects using
non-linear
blending between two or more keyframes. Useful for
modeling complex facial
expressions and speech.
Page
4 - The Pixel Shader