I managed to fix my last problem by using fixed camera positions (thanks for all your help btw ). The next problem is to do with the origin of rotation. Normally it is fixed at the centre of my model and I use gluLookAt to allow you to zoom in and out and glRotate to let you spin the model.
gluLookAt( 0.0f, 0.0f, -m_dZoom,
0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f);
glRotatef(yRot, 1.0f, 0.0f, 0.0f);
glRotatef(xRot, 0.0f, 1.0f, 0.0f);
The problem I have is that I want to be able to change the rotation origin to another place in my model at request. Can anyone help me with the code?