2012-05-12 129 views
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需要重新顯示,但沒有顯示 回調。

如何正確地做它?任何想法?

回答