GLUUNPROJECT(3G)

名前
gluUnProject - ウィンドウ座標をオブジェクト座標にマップする

書式
GLint gluUnProject( GLdouble winX,
	GLdouble winY,
	GLdouble winZ,
	const GLdouble *model,
	const GLdouble *proj,
	const GLint *view,
	GLdouble* objX,
	GLdouble* objY,
	GLdouble* objZ )

引き数

winX, winY, winZ
    マップされるウィンドウ座標を指定する。

model
    モデルビュー行列を指定する(glGetDoublev の呼び出しで得られる形式)。

proj
    射影行列を指定する(glGetDoublev の呼び出しで得られる形式)。

view
    ビューポートを指定する(glGetIntegerv の呼び出しで得られる形式)。

objX, objY, objZ
    算出されたオブジェクト座標が返される。

説明
gluUnProject は、model, proj, view を使って、 指定されたウィンドウ座標をオブジェクト座標にマップする。 マップされた結果は objX, objY, objZ に格納される。 返り値が GL_TRUE なら成功を示し、返り値が GL_FALSE なら 失敗を示す。

座標 (objX, objY, objZ) を計算するために、 gluUnProject は正規化されたデバイス座標に model*proj の逆行列を掛ける。 計算は以下のように行われる:

$INV()$ は逆行列の計算を表す。 W は使われない変数であり、行列の表記に一貫性を持たせるために含めている。

関連項目
glGet, gluProject