unproject method

Vector3D unproject(
  1. MatrixD projection,
  2. MatrixD view
)

Implementation

Vector3D unproject(MatrixD projection, MatrixD view) {
  MatrixD matViewProj = view.mul(projection).invert();
  QuaternionD qtransformed = .quat(x, y, z, 1.0).qTransform(matViewProj);
  return .vec3(
    qtransformed.x/qtransformed.w,
    qtransformed.y/qtransformed.w,
    qtransformed.z/qtransformed.w,
  );
}