Matrix3x2d.unproject

Unproject the given window coordinates <code>(winX, winY)</code> by <code>this</code> matrix using the specified viewport. <p> This method first converts the given window coordinates to normalized device coordinates in the range <code>[-1..1]</code> and then transforms those NDC coordinates by the inverse of <code>this</code> matrix. <p> As a necessary computation step for unprojecting, this method computes the inverse of <code>this</code> matrix. In order to avoid computing the matrix inverse with every invocation, the inverse of <code>this</code> matrix can be built once outside using {@link #invert(Matrix3x2d)} and then the method {@link #unprojectInv(double, double, int[], Vector2d) unprojectInv()} can be invoked on it.

@see #unprojectInv(double, double, int[], Vector2d) @see #invert(Matrix3x2d)

@param winX the x-coordinate in window coordinates (pixels) @param winY the y-coordinate in window coordinates (pixels) @param viewport the viewport described by <code>[x, y, width, height]</code> @param dest will hold the unprojected position @return dest

struct Matrix3x2d
unproject
(
double winX
,
double winY
,
int[] viewport
,)

Meta