Я написал функцию выбора для выбора объектов сцены из холста opengl.
glRenderMode(GL_SELECT)
glMatrixMode(GL_PROJECTION)
glPushMatrix()
glLoadIdentity()
gluPickMatrix(self.last_point_2D_.x(),viewport[3]-self.last_point_2D_.y(),10,10,viewport)
glMultMatrixf(projection)
glInitNames()
glPushName(0)
//i scene objects rendering goes here, drawn in modelview
glLoadName(i)
glMatrixMode(GL_PROJECTION)
glPopMatrix()
glMatrixMode(GL_MODELVIEW)
glFlush()
glPopName()
Это прекрасно работает, если я не использую glTanslate или glRotated при рисовании объекта, т.е. я могу выбрать линию при рисовании,
glVertex3f(1,1,1)
glVertex3f(2,2,2)
, но не когда я это делаю,
glTranslate(1,1,1)
glVertex3f(0,0,0)
glVertex3f(1,1,1)
Чего мне не хватает?