1991-2006 Silicon Graphics, Inc.
gluUnProject 3G
gluUnProject map window coordinates to object coordinates

## C Specification

GLint `gluUnProject` GLdouble winX GLdouble winY GLdouble winZ const GLdouble * model const GLdouble * proj const GLint * view GLdouble* objX GLdouble* objY GLdouble* objZ

## Parameters

winX
winY
winZ

  Specify the window coordinates to be mapped.

model

  Specifies the modelview matrix (as from a glGetDoublev call).

proj

  Specifies the projection matrix (as from a glGetDoublev call).

view

  Specifies the viewport (as from a glGetIntegerv call).

objX
objY
objZ

  Returns the computed object coordinates.

## Description

`gluUnProject` maps the specified window coordinates into object coordinates using model, proj, and view. The result is stored in objX, objY, and objZ. A return value of `GLU_TRUE` indicates success; a return value of `GLU_FALSE` indicates failure.

To compute the coordinates objX objY objZ , `gluUnProject` multiplies the normalized device coordinates by the inverse of model * proj as follows:

objX objY objZ W = INV ⁡ P ⁢ M ⁢ 2 ⁡ winX - view ⁡ 0 view ⁡ 2 - 1 2 ⁡ winY - view ⁡ 1 view ⁡ 3 - 1 2 ⁡ winZ - 1 1
INV denotes matrix inversion. W is an unused variable, included for consistent matrix notation.

## See Also

gluProject, glGet

## Copyright

Copyright 1991-2006 Silicon Graphics, Inc. This document is licensed under the SGI Free Software B License. For details, see http://oss.sgi.com/projects/FreeB/.