我在使用過量DisplayFunction中的對象時遇到了問題。將對象用於Glut顯示功能
class Modelisation
{
private:
int hauteur, largeur, x, y;
Camera *Cam;
void DisplayFunction();
static void RedisplayFunction (int, int);
public:
Modelisation (int argc, char **argv, char[]);
~Modelisation();
void StartMainLoop();
};
Modelisation.cpp
Modelisation::Modelisation (int argc, char **argv, char windowName [])
{
Cam = new Camera;
glutInit (&argc, argv);
glutInitDisplayMode (GLUT_SINGLE);
glutCreateWindow (windowName);
};
void Modelisation::StartMainLoop()
{
glutDisplayFunc(DisplayFunction);
glutIdleFunc(DisplayFunction);
glutReshapeFunc(RedisplayFunction);
glutMainLoop();
}
void Modelisation::DisplayFunction()
{
glClearDepth (1);
glClearColor (0.0f, 0.0f, 0.0f, 0.0f);
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
Cam->Render();
glFlush();
glutSwapBuffers();
}
glutDisplayFunc(DisplayFunction); glutIdleFunc(DisplayFunction);
這不起作用。 我知道我可以將DisplayFunction聲明爲靜態成員,但是這不會允許我使用凸輪對象,任何想法?
Thx !!!
我很抱歉問,但我如何在頭文件中聲明一個靜態對象Cam? – Athanase 2011-04-18 22:10:59
你在頭文件中聲明它爲'Static Camera * Cam'。 – Adrian 2011-04-18 22:24:21
對不起,我犯了一個錯誤,這完美的作品。當我在這個論壇上提問時,我總能得到完美的回答。謝謝 !! – Athanase 2011-04-18 22:30:24