This is the process of taking 3 corresponding vertex shader outputs and
interpolating them across the surface of the triangle. For each fragment
generated, there will also be an interpolated value generated for each of the
vertex shader's outputs (except for certain built-in outputs, like
gl_Position.) The way that the interpolation is handled
depends on the interpolation qualifier on the vertex
output and fragment input.
A GLSL keyword assigned to outputs of vertex shaders and the corresponding inputs of fragment shaders. It determines how the three values of the triangle are interpolated across that triangle's surface. The qualifier used on the vertex shader output must match with the one used on the fragment shader input of the same name.
Valid interpolation qualifiers are