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 Graphic Api one is using. There are is also computer shaders that can be used for graphic and other things.

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

 Name APIYear
 Metal Metal 2014  
 GLSL OpenGl 2004  
 CG  2003   2012Language by Nvidia that can target both OpenGL/DirectX.
 HLSL DirectX 2002  
 ARB assembly OpenGl 2002 YesProvided by the extension ARB_vertex_program and ARB_fragment_program. Phased out now and GLSL is the way to go.


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.

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

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.

Introduction to Turing Mesh Shaders - 2018

Mesh Shader

Variable Rate Shading

Shader Tutorials and Examples
Shader Showcase Saturday: Part1 and Part2 - 2018


ShaderEd - 2019

The Machinery Shader System (part 3) - 2018

A little clarification on modern shader compile times

Iterating on Variable Rate Shading in Gears Tactics

Subpages (1): Compute