·  Home
+   man pages
 -> Linux -> FreeBSD -> OpenBSD -> NetBSD -> Tru64 Unix -> HP-UX 11i -> IRIX
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

man pages->IRIX man pages -> OpenGL/glulookat (3)
 Title
 Content
 Arch
 Section All Sections 1 - General Commands 2 - System Calls 3 - Subroutines 4 - Special Files 5 - File Formats 6 - Games 7 - Macros and Conventions 8 - Maintenance Commands 9 - Kernel Interface n - New Commands

Contents

```
gluLookAt(3G)		       OpenGL Reference			 gluLookAt(3G)

```

NAME[Toc][Back]

```     gluLookAt - define	a viewing transformation

```

C SPECIFICATION[Toc][Back]

```     void gluLookAt( GLdouble eyeX,
GLdouble eyeY,
GLdouble eyeZ,
GLdouble centerX,
GLdouble centerY,
GLdouble centerZ,
GLdouble upX,
GLdouble upY,
GLdouble upZ )

```

PARAMETERS[Toc][Back]

```     eyeX, eyeY, eyeZ
Specifies the position of the eye point.

centerX, centerY, centerZ
Specifies the position of the reference point.

upX, upY, upZ   Specifies the direction of	the up vector.
```

DESCRIPTION[Toc][Back]

```     gluLookAt creates a viewing matrix	derived	from an	eye point, a reference
point indicating the center of the	scene, and an UP vector.

The matrix	maps the reference point to the	negative z axis	and the	eye
point to the origin.  When	a typical projection matrix is used, the
center of the scene therefore maps	to the center of the viewport.
Similarly,	the direction described	by the UP vector projected onto	the
viewing plane is mapped to	the positive y axis so that it points upward
in	the viewport.  The UP vector must not be parallel to the line of sight
from the eye point	to the reference point.

Let

( centerX   -	 eyeX  )
F = |		       |
| centerY   -	 eyeY  |
( centerZ   -	 eyeZ  )

Let UP be the vector (upX,upY,upZ).

Then normalize as follows:	f = _____
||F||
UP' = ______
||UP||

Page 1

gluLookAt(3G)		       OpenGL Reference			 gluLookAt(3G)

Finally, let s = f	x UP', and u = s x f.

( s[0]   s[1]   s[2]  0  )
| u[0]   u[1]   u[2]  0  |
M is then constructed as follows:	M = |			     |
|-f[0]  -f[1]  -f[2]  0  |
|  0      0	     0	  1  |
(			     )
and gluLookAt is equivalent to

glMultMatrixf(M);
glTranslated (-eyex, -eyey, -eyez);

```

```     glFrustum,	gluPerspective