I understand basic matrix transformations (T, S, R around x, y or z axe) but now I need to rotate not just around an axe, but around a vector(x, y, z). Can someone tell me a matrix for this rotation? (4x4)

(I don’t want to use the glRotate, I need the matrix separately. And letting OpenGL do the transformation and then getting the matrix out of it looks like a long way around. For example I have the sin/cos calculation already done, so I want to use them.)