D
GLfloat posMatrix[16];
...
if (first_pass) glGetFloatv(GL_MODELVIEW_MATRIX, posMatrix);
...
//veraendern
glPushMatrix();
glLoadMatrixf(posMatrix);
glRotatef(...);
glTranslatef(...);
glGetFloatv(GL_MODELVIEW_MATRIX, posMatrix);
glPopMatrix();
//gluLookAt mit diesen Parametern
position: posMatrix[0,1,2]
viewDir: posMatrix[8,9,10]
upDir: posMatrix[4,5,6]
so einfach..