📄️ Homogeneous coordinates
If we consider $A=(1,2,3)$ we don't know whether it represents a point or a vector. Homogenous coordinates have one more dimension $w$ for that:
📄️ Uniforms
Uniforms are values that are passed to the vertex and fragment shaders that are the same for all vertices/fragments.
📄️ Vertex attributes
Values that are being passed from JavaScript to the GPU and that are different for each vertex, for example position, normals, colors.