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

## C Specification

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

## Parameters

objX
objY
objZ

  Specify the object coordinates.

model

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

proj

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

view

  Specifies the current viewport (as from a glGetIntegerv call).

winX
winY
winZ

  Return the computed window coordinates.

## Description

`gluProject` transforms the specified object coordinates into window coordinates using model, proj, and view. The result is stored in winX, winY, and winZ. A return value of `GLU_TRUE` indicates success, a return value of `GLU_FALSE` indicates failure.

To compute the coordinates, let v = objX objY objZ 1.0 represented as a matrix with 4 rows and 1 column. Then `gluProject` computes v ″ as follows:

v ″ = P × M × v

where P is the current projection matrix proj and M is the current modelview matrix model (both represented as 4 × 4 matrices in column-major order).

The window coordinates are then computed as follows:

winX = view ⁡ 0 + view ⁡ 2 × v ″ ⁡ 0 + 1 2

winY = view ⁡ 1 + view ⁡ 3 × v ″ ⁡ 1 + 1 2

winZ = v ″ ⁡ 2 + 1 2

## See Also

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