public Matrix4f rotation(float angle, Vector3fc axis) {
        return rotation(angle, axis.x(), axis.y(), axis.z());
    }
public Matrix4f rotation ( float angle , Vector3fc axis ) { return rotation ( angle , axis . x ( ) , axis . y ( ) , axis . z ( ) ) ; }
Set this matrix to a rotation matrix which rotates the given radians about a given axis.
<p>
The axis described by the <code>axis</code> vector needs to be a unit vector.
<p>
When used with a right-handed coordinate system, the produced rotation will rotate a vector
counter-clockwise around the rotation axis, when viewing along the negative axis direction towards the origin.
When used with a left-handed coordinate system, the rotation is clockwise.
<p>
The resulting matrix can be multiplied against another transformation
matrix to obtain an additional rotation.
<p>
In order to post-multiply a rotation transformation directly to a
matrix, use {@link #rotate(float, Vector3fc) rotate()} instead.

@see #rotate(float, Vector3fc)

@param angle
the angle in radians
@param axis
the axis to rotate about (needs to be {@link Vector3f#normalize() normalized})
@return this