A function that is responsible for transforming data into refined data that can be used further along down the graphics pipeline.
Responsible for figuring out the position of vertices and any other vertex related information needed further down the graphics pipeline. One function call for each vertex.
Programming instruction "HARD" coded directly into GPU hardware that turns shapes into pixes. In other words, turns the 3D (data that represents the thing your looking at) into 2D (see on your screen).
An image used to paint fragments. Its cheaper to apply an already existing texture than to generate a texture during each paint. It might not even be practical, for example if the texture is a dirt road. There would be so many things to calculate, every rock, pebble would need to be computed.
A fragment is a canadate pixel. It may be drawn to the screen, but its not garenteed, for example another shape may end up getting placed in front of this pixel canadate and hence it doesn't become a true pixel.
Responsible for painting fragments. Decides what color each pixel should be weather thats applying a texture or laying out a gradient.
The word shade here is weird because this is just generic computing being done on the GPU instead of the CPU. For example, training AI.
Is a place to put CPU provided input data for shaders running on the GPU to use.
A shader is more like a program running on another processor. It cannot read Rust stack variables or function arguments unless you copy them into GPU-visible memory or bindings.