[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]
OpenGL 1.2 for AIX: Reference Manual

gluUnProject Subroutine

Purpose

Maps window coordinates to object coordinates.

Library

OpenGL C bindings library: libGL.a

C Syntax

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

Description

The gluUnProject subroutine maps the specified window coordinates into object space coordinates using the model, proj, and view parameter values provided. Results are stored in objX, objY, and objZ. A return value of GL_TRUE indicates success, and GL_FALSE indicates failure.

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

                  (  2(winX - view[0])      )
                  |  ----------------- - 1  |
                  |       view[2]           |
(      )          |                         |
| objX |          |  2(winY - view[1])      |
| objY | = INV(PM)|  ----------------- - 1  |
| objZ |          |       view[3]           |
(  W   )          |                         |
                  |       2(winZ) - 1       |
                  |                         |
                  (            1            )

INV( ) denotes matrix inversion. W is an unused variable, included for consistent matrix notation.

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.

Return Values

GL_TRUE Indicates the projection succeeded.
GL_FALSE Indicates the projection failed.

Files

/usr/include/GL/gl.h Contains C language constraints, variable type definitions, and ANSI function prototypes for OpenGL.

Related Information

The glGet subroutine, gluProject subroutine.

OpenGL Overview.


[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]