code: public Matrix4f lookAt(Vector3fc eye, Vector3fc center, Vector3fc up, Matrix4f dest) {
          return lookAt(eye.x(), eye.y(), eye.z(), center.x(), center.y(), center.z(), up.x(), up.y(), up.z(), dest);
      }
docs: Apply a "lookat" transformation to this matrix for a right-handed coordinate system,
  that aligns <code>-z</code> with <code>center - eye</code> and store the result in <code>dest</code>.
  <p>
  If <code>M</code> is <code>this</code> matrix and <code>L</code> the lookat matrix,
  then the new matrix will be <code>M * L</code>. So when transforming a
  vector <code>v</code> with the new matrix by using <code>M * L * v</code>,
  the lookat transformation will be applied first!
  <p>
  In order to set the matrix to a lookat transformation without post-multiplying it,
  use {@link #setLookAt(Vector3fc, Vector3fc, Vector3fc)}.
  
  @see #lookAt(float, float, float, float, float, float, float, float, float)
  @see #setLookAlong(Vector3fc, Vector3fc)
  
  @param eye
  the position of the camera
  @param center
  the point in space to look at
  @param up
  the direction of 'up'
  @param dest
  will hold the result
  @return dest