GLUUNPROJECT
Section: Misc. Reference Manual Pages (3G)
索引
xjman
名前
gluUnProject
- ウィンドウ座標をオブジェクト座標にマップする
書式
GLint gluUnProject(
GLdouble winX,
GLdouble winY,
GLdouble winZ,
const GLdouble *model,
const GLdouble *proj,
const GLint *view,
GLdouble* objX,
GLdouble* objY,
GLdouble* objZ )
delim $$
引き数
- 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 の逆行列を掛ける。
計算は以下のように行われる:
left ( down 70 {cpile { ~"objX" above ~"objY" above ~"objZ"
above ~W}} ~~ right ) ~=~ INV(P M)
left ( down 140 {cpile {
{ {2("winX" ~-~ "view"[0])} over {"view" [2]} ~-~ 1 }
above
{ {2("winY" ~-~ "view"[1])} over {"view"[3]} ~-~ 1 }
above
{ 2("winZ") ~-~ 1 }
above
1}} ~~ right )
$INV()$ は逆行列の計算を表す。
W は使われない変数であり、行列の表記に一貫性を持たせるために含めている。
関連項目
glGet(3G), gluProject(3G)
Index
- 名前
-
- 書式
-
- 引き数
-
- 説明
-
- 関連項目
-
Time: 07:01:13 GMT, January 12, 2009