A shader is a program that renders 3d material. It allows you to enhance how light reflects off 3d surfaces and objects also what is reflected or refracted as these are the 3 possible outcomes. GPU’s are used to calcute the algorithum for a shader but it used to be done by CPU’s. It’s better now as it takes much less time to calculate and render the product.
-
A vertex shaders job is to change values of data that defines where a verticies is in a 3d enviroment to come out as a different colour, texture or position.
-
A pixel shaders job is to calculate effects per pixel. Depending on screen resolution you can get more than 2 million pixels in a frame and when the frame rate runs at 60 frames per second this creates an extremely high amount of pixels to be rendered.
-
A geometry shaders job is to add and remove verticies from the vertex shader.

