GLProgramming.com

home :: about :: development guides :: irc :: forums :: search :: paste :: links :: contribute :: code dump

-> Click here to learn how to get live help <-


Manpage of GLULOOKAT

GLULOOKAT

Index
 

NAME

gluLookAt - define a viewing transformation

 

C SPECIFICATION

void f3gluLookAtfP( GLdouble fIeyeXfP,
f2eyeXfP, f2eyeYfP, f2eyeZfP
Specifies the position of the eye point.
f2centerXfP, f2centerYfP, f2centerZfP
Specifies the position of the reference point.
f2upXfP, f2upYfP, f2upZfP
Specifies the direction of the f2upfP vector.
 

DESCRIPTION

%f3gluLookAtfP creates a viewing matrix derived from an eye point, a reference point indicating the center of the scene, and an f2UPfP vector. The matrix maps the reference point to the negative f2zfP 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 f2UPfP vector projected onto the viewing plane is mapped to the positive f2yfP axis so that it points upward in the viewport. The f2UPfP vector must not be parallel to the line of sight from the eye point to the reference point. Let

F ~=~ left ( down 20 { ~ matrix {
   ccol {"centerX" above "centerY" above "centerZ"}
   ccol { ~-~ above ~-~ above ~-~}
   ccol {"eyeX" above "eyeY" above "eyeZ"} } } ~~ right )

Let f2UPfP be the vector $("upX", "upY", "upZ")$. Then normalize as follows: f ~=~ F over {|| F ||} UP sup prime ~=~ UP over {|| UP ||}

Finally, let $s ~=~ f ~times~ UP sup prime$, and $u ~=~ s ~times~ f$.

M is then constructed as follows: M ~=~ left ( matrix {
   ccol { ~s[0] above ~u[0] above -f[0] above 0 }
   ccol { ~s[1] above ~u[1] above -f[1] above 0 }
   ccol { ~s[2] above ~u[2] above -f[2] above 0 }
   ccol { 0 above 0 above 0  above 1 } } ~~right ) and %f3gluLookAtfP is equivalent to glMultMatrixf(M); glTranslated (-eyex, -eyey, -eyez);  

SEE ALSO

f3glFrustum(3G)fP, %f3gluPerspective(3G)fP


 

Index

NAME
C SPECIFICATION
DESCRIPTION
SEE ALSO