Obracanie obiektu wokół stałego punktu w opengl

Mam problem z tym kodem openGL:

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glPushMatrix(); // put current matrix on stack

//glTranslatef(0.0f, 0.0f, 0.0f);   
//glTranslatef(-4*1.5, 0.0, 4*1.5);

glRotatef(rotationAngle, 0.0f, 1.0f, 0.0f); // rotate the robot on its y-axis
glTranslatef(xpos, ypos, zpos);
DrawRobot(xpos, ypos, zpos); // draw the robot
glPopMatrix();

Co powinienem zrobić, aby mój robot obrócił się w miejscu, w którym aktualnie się znajduje, a nie wokół początku? Myślę, że problem tkwi w tym fragmencie.

questionAnswers(4)

yourAnswerToTheQuestion