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

man pages->Tru64 Unix man pages -> 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()                                           gluLookAt()

```

### NAME[Toc][Back]

```       gluLookAt - define a viewing transformation
```

### SYNOPSIS[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]

```       Specifies  the  position  of the eye point.  Specifies the
position of the reference point.  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 / ||F|| UP^prime = UP
||UP||

Finally, let s = f times UP^prime, and u = s times f.

M is then constructed as follows:
s[0]    s[1]    s[2]    0

u[0]    u[1]    u[2]    0 M =

-f[0]  -f[1]   -f[2]    0

0      0       0      0

and  gluLookAt()  is   equivalent   to   glMultMatrixf(M);
glTranslated (-eyex, -eyey, -eyez);

```

```       glFrustum(3), gluPerspective(3)