Rotation
by an angle θ
(in radians) around an axis (unit-length vector) [u, v, w]T is given by:

In
GLM, this is programmed with the command:
mModelMatrix = glm::rotate(mModelMatrix,
angle, glm::vec3(x,
y, z));
Angle
is expressed in degrees;
rotation is counter-clockwise around a vector [x, y, z]T.
Example:
Suppose we have a point
p =
[x, y, z]T. First, we homogenise p so
that
p =
[x, y, z, 1]T.
Now, let’s determine the matrix product
Rp, where
R is a
rotation about the z-axis: