Это работа с камерой. Вот пример разных способов манипуляции с ней.
Код:
void CCamera_OGL:: apply_viewer ()
{
switch ( type_view ) {
case 0:
gluLookAt(eye.x,eye.y,eye.z, center.x,center.y,center.z, up.x,up.y,up.z );
break;
case 1:
glRotatef (roll, 0.0f, 0.0f, 1.0f);
glRotatef (pitch, 0.0f, 1.0f, 0.0f);
glRotatef (heading, 1.0f, 0.0f, 0.0f);
glTranslatef (-plane.x, plane.y, plane.z );
break;
case 2:
glTranslatef (0.0f, 0.0f, -distance );
glRotatef (-twist, 0.0f, 0.0f, 1.0f);
glRotatef (-elevation, 0.0f, 1.0f, 0.0f);
glRotatef (azimuth, 1.0f, 0.0f, 0.0f);
break;
}
}