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/.