code: public Vector4d transformProject(double x, double y, double z, double w, Vector4d dest) {
          double invW = 1.0 / (m03 * x + m13 * y + m23 * z + m33 * w);
          dest.set((m00 * x + m10 * y + m20 * z + m30 * w) * invW,
                   (m01 * x + m11 * y + m21 * z + m31 * w) * invW,
                   (m02 * x + m12 * y + m22 * z + m32 * w) * invW,
                   1.0);
          return dest;
      }
docs: /* (non-Javadoc)
  @see org.joml.Matrix4dc#transformProject(double, double, double, double, org.joml.Vector4d)