1
我写了一个拾取函数,从opengl画布中选取场景对象。glTranslate/glRotated之后的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完美的作品,我可以选择当我画线,
,但不是我做的,
glTranslate(1,1,1)
glVertex3f(0,0,0)
glVertex3f(1,1,1)
我错过了什么?
非常感谢!干杯。 – chaitu 2011-04-19 08:10:10