Understanding shaders
In the modern world of computer graphics, many different calculations are offloaded to the GPU. Anything from simple pixel colour calculations, to complex lighting effects can and should be handled by hardware that is specifically designed for this purpose. This is where shaders come in.
A shader is a little program that runs on your graphics card instead of the CPU, and controls how each pixel of a shape is rendered. The main purpose of a shader, as the name suggests, is performing lighting and shading calculations, but they can be used for much more than that. Because of the power modern GPUs have, libraries exist that are designed to perform calculations on the GPU that would usually be executed on the CPU, in order to cut down the computation time significantly. Anything from physics computations to cracking password hashes can be done on the GPU, and the entry point to that horsepower is a shader.
Tip
GPUs are good at performing tons of very specific calculations...