Graphics‎ > ‎3D‎ > ‎


Shaders are small programs that runs at certain steps in a graphical pipeline. Older systems that do not support shaders are called a fixed function pipeline. The detail on how the shaders work and are setup depend on the graphical Api one is using.


Tessellation Control (TCS) / Hull Stage - 2009

Tessellation Evaluation (TES) / Domain Stage
- 2009

Geometry (GS) - 2008
This stage gets a whole primitive (point, line or triangle) and can then discard it emit one or more new primitives.

Fragment (FS) / Pixel (PS) - 2001
Takes interpolated data for a primitive and generates per-pixel data such as color.

Vertex (VS) - 2001
Perform operations such as transformation, skinning and per-vertex lightning. Works on a single input vertex and produce a single output vertex.

Shader Language
The language used to write shader depends on the graphical API used.

Metal - 2014

PSSL - 2013

GLSL - 2004
Used in OpenGl.

CG - 2003  (Obsolete)
Language by Nvidia that can target both OpenGL/DirectX.
HLSL - 2002
Used in DirectX.

ARB assembly - 2002  (Obsolete)
Low level shading language for OpenGl that was provided by the extension ARB_vertex_program and ARB_fragment_program. Phased out now and GLSL is the way to go.