Pixel shader
From Tech Artists Wiki
A Pixel shader, also called a fragment program or pixel program, is a shader program executed on the GPU that processes pixels of a rasterized image.
How exactly a pixel is processed is determined by the program. Generally, the program will take the texture coordinates, and vector information (light, view, normal, etc.) and perform lighting calculations upon it. Because the pixel shader takes interpolated values from the vertex shader, the data passed into a pixel shader is linearly interpolated, which gives a per-vertex lighting appearance. These vectors must be normalized in order to achieve true per-pixel lighting.
It is important to remember that the pixel shader works directly after the rasterization phase of the programmable pipeline. This means that the pixel shader processes every visible pixel of a rasterized object. If a skybox is drawn first, the pixel shader will process every pixel on the screen, even if none of the skybox is seen in the final image.
Unlike the parallel processing of a vertex shader, there are ways to have a pixel shader read other pixels, though it requires the use of a render target. Post-processing shaders work this way, by sampling adjacent pixels.
