code: public Matrix4f rotationTowards(Vector3fc dir, Vector3fc up) {
          return rotationTowards(dir.x(), dir.y(), dir.z(), up.x(), up.y(), up.z());
      }
docs: Set this matrix to a model transformation for a right-handed coordinate system,
  that aligns the local <code>-z</code> axis with <code>dir</code>.
  <p>
  In order to apply the rotation transformation to a previous existing transformation,
  use {@link #rotateTowards(float, float, float, float, float, float) rotateTowards}.
  <p>
  This method is equivalent to calling: <code>setLookAt(new Vector3f(), new Vector3f(dir).negate(), up).invertAffine()</code>
  
  @see #rotationTowards(Vector3fc, Vector3fc)
  @see #rotateTowards(float, float, float, float, float, float)
  
  @param dir
  the direction to orient the local -z axis towards
  @param up
  the up vector
  @return this