Pixel shaders are basically assembly language programs (usually written in HLSL and Cg) that give an object that's being rendered a look that isn't plastic. A shiney car door is an example of where a shader is used.
Then, there's vertex shaders. Thses are also written in the same language (typically, like with HLSL and Cg) and they basically fake verticies. Let's say that you have a car tire. It's round for the most part, but typically has tred. Instead of modeling the tred in, it's actually a texture. This is also called bump mapping or normal mapping. This is also a popular way to add facial detail and water ripples because the model has less detail, it's smaller.
Take the water in Half life (2), it has a changing shape (the waves) and reflects what's around it. Here, both pixel and vertex shaders are used.
When referring to both a pixel and vertex shader that are the same version, it's also known as model shader. For instance, 3DMark 06 has some specific SM 3.0 tests (which use both PS 3.0 and VS 3.0).
Most games or programs support certain versions and some may also have performance enhancments, so just like its usually the best idea to leave settings like AA up to the app to determine, it's best NOT to set options that force ps and vs versions. |