Given
the data passed into
glm::lookAt(), one
can construct some useful vectors for viewing.
- The viewVector = viewPoint – eyePoint
- The strafeVector = viewVector x
upVector
- The orthogonal upVector = strafeVector x viewVector. This may be needed if the upVector is not
orthogonal to the viewVector.

Typically, one normalises these
vectors.
Moving
the camera along the
- viewVector makes the camera move
forwards/backwards
- strafeVector makes the camera move
right/left
- orthogonal upVector makes the camera move
up/down