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

gluProject Subroutine

Purpose

Maps object coordinates to window coordinates.

Library

OpenGL C bindings library: libGL.a

C Syntax

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

Description

The gluProject transforms the specified object space coordinates into window coordinates using the model, proj, and view values provided. The results are stored in winX, winY, and winZ. A return value of GL_TRUE indicates success, and GL_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 x M x v

where P is the current projection matrix proj , M is the current modelview matrix model (both represented as 4x4 matrices in column-major order) and 'x' represents matrix multiplication.

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

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 Returns the computed window coordinates.

Return Values

GL_TRUE Indicates the conversion succeeded.
GL_FALSE Indicates the conversion 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, gluUnProject subroutine.

OpenGL Overview.


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