0
我想让3个窗口代表围绕给定轴的旋转。 为此我做了一个类XYZAxis
其中包含功能render
。 接下来,从主函数中我调用生成GLUT窗口的函数creatWindow
。 但是我不知道如何正确地传递函数渲染glutDisplayFunc
:( 片段的主要glutDisplayFunc功能指针
void (XYZAxis::* pmf)(void);
pmf = &XYZAxis::render;
XYZAxis *xaxis=&XYZAxis(origin,5,10);
glutDisplayFunc(void(xaxis->*pmf)()) ;
glutIdleFunc(void(xaxis->*pmf)());
和XYZAxis类中的一个函数
void render(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
this->orientation=this->orientation*(this->angle);
this->draw();
glutSwapBuffers();
}
程序编译但是当它到达glutMainLoop()
; 它抛出错误并关闭窗口
GLUT:Warning in(una med):以下是GLUT 3.0的新检查;更新 你的代码。 GLUT:致命错误(unamed):窗口1需要重新显示,但没有显示 回调。
如何正确地做它?任何想法?