Girando un objeto alrededor de un punto fijo en opengl
Tengo un problema con este código 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();
¿Qué debo hacer para que mi robot gire alrededor del punto en el que se encuentra actualmente y no alrededor del origen? Creo que el problema radica en este fragmento.