我使用 glut 将这样的 main 函数用于我的 C 程序(它有效):
int main(int argc, char **argv)
{
char filename[MAXLINE];
/* Read in the file (allocates space for Picture) */
if (argc < 2)
{
printf ("Enter the name of a PPM or PGM file: ");
scanf("%s", filename);
readPPM ((char *)filename, &Picture);
}
else { readPPM (argv[1], &Picture); }
glutInit(&argc, argv);
MyInit();
glutPassiveMotionFunc(PassiveMouseMotion); // mouse move with no key pressed
glutReshapeFunc(Reshape);
glutDisplayFunc(Draw);
glutKeyboardFunc(Key);
glutMainLoop();
return 0;
}
是否可以将一些代码移至 myInit 函数并使用:
int main(int argc, char **argv)
{
MyInit(@argc, argv);
glutPassiveMotionFunc(PassiveMouseMotion); // mouse move with no key pressed
glutReshapeFunc(Reshape);
glutDisplayFunc(Draw);
glutKeyboardFunc(Key);
glutMainLoop();
return 0;
}
(上面的代码不起作用,这是一个命题)
??
最佳答案
可能吗?是的。好主意?不知道。我想将所有与 init 相关的代码放在一个地方可能会很好。
如果 MyInit
声明为
void MyInit(int argc, char *argv[]) {
glutInit(&argc, argv);
// other init code etc...
}
您应该能够使用以下方式从main
调用它:
MyInit(argc, argv);
我怀疑 glutInit
关心它是从哪个函数调用的,只要以正确的方式调用它,并且在执行任何 GL 操作之前即可。
关于c - 是否可以将 glutInit 移至我的 init 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22891037/