我對glutMainloop()函數非常困惑。在這個函數的循環中使用了哪些函數?我認爲使用了glutIdleFunc(),但是我看到了不使用這個函數的代碼。glutMainloop()和OpenGL中的其他函數的用法
#include <GL/glut.h>
static void RenderSceneCB()
{
glClear(GL_COLOR_BUFFER_BIT);
glutSwapBuffers();
}
static void InitializeGlutCallbacks()
{
glutDisplayFunc(RenderSceneCB);
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGBA);
glutInitWindowSize(1024, 768);
glutInitWindowPosition(100, 100);
glutCreateWindow("Tutorial 01");
InitializeGlutCallbacks();
glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
glutMainLoop();
return 0;
}
此外,在此代碼爲什麼InitializeGlutCallbacks()被使用?爲什麼不只是glutDisplayFunc(RenderSceneCB);寫而不是InitializeGlutCallbacks()? 最後爲什麼InitializeGlutCallbacks()是靜態的?
以'glut'開始的函數不是OpenGL的一部分;它們是glut庫的一部分(可以是FreeGLUT或其他)。 –