


GLULOOKAT(3G)					    GLULOOKAT(3G)


NAME
       gluLookAt - define a viewing transformation


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


PARAMETERS
       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
       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  projec
       tion  matrix  is	 used,	the center of the scene therefore
       maps to the center of the viewport.  Similarly, the direc
       tion 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 paral
       lel to the line of sight from the eye point to the  refer
       ence point.

       Let















								1





GLULOOKAT(3G)					    GLULOOKAT(3G)

	  centerX - eyeX



















       F=(centerY - eyeY)



















	  centerZ - eyeZ


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

       Then normalize as follows: f=||F||

       UP'=||UP||


       Finally, let s=fUP', and u=sf.







								2





GLULOOKAT(3G)					    GLULOOKAT(3G)

					    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



GLULOOKAT(3G)					    GLULOOKAT(3G)


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

SEE ALSO
       glFrustum(3G), gluPerspective(3G)




















































								4


