versions of OpenGL had fixed functions for matrix mathematics. These functions are no longer part of the
OpenGL programming requires that the programmer handle matrices on their own,
and pass matrices to shader programs.
there are external libraries such as GLM to perform useful matrix operations
needed for graphics.
used to transform objects to a desired location, orientation, and size. This matrix has a size 4 x 4.