Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 是否可以将glutInit移到我的init函数中?_C_Opengl_Glut - Fatal编程技术网

C 是否可以将glutInit移到我的init函数中?

C 是否可以将glutInit移到我的init函数中?,c,opengl,glut,C,Opengl,Glut,我使用glut为我的c程序使用这样的主函数(它可以工作): (上述代码不起作用,这是一个命题) ??有可能吗?对好主意?不知道。我想把所有与init相关的代码放在一个地方可能会更好 如果MyInit声明为 void MyInit(int argc, char *argv[]) { glutInit(&argc, argv); // other init code etc... } 您应该能够使用以下方法从main调用它: MyInit(argc, argv); 我怀

我使用glut为我的c程序使用这样的主函数(它可以工作):

(上述代码不起作用,这是一个命题)


??有可能吗?对好主意?不知道。我想把所有与init相关的代码放在一个地方可能会更好

如果
MyInit
声明为

void MyInit(int argc, char *argv[]) {
    glutInit(&argc, argv);
    // other init code etc... 
}
您应该能够使用以下方法从
main
调用它:

MyInit(argc, argv);

我怀疑
glutInit
是否关心从哪个函数调用它,只要调用方式正确,并且在您执行任何GL操作之前。

这个问题的答案都是主观的。但是,您确实需要在任何其他命令行参数处理之前调用
glutInit
,然后对任何未使用的参数执行自己的处理。Thx。它很好用。为什么Glut不使用它作为其他函数,比如:glutInit(MyInit)?@Adam我真的不知道为什么开发人员选择这个实现而不是使用回调。我的猜测是为了可移植性或易用性,但这纯粹是猜测。GLUT可以追溯到20世纪90年代中期,当时最常见的OpenGL系统是SGI工作站,通过键入命令而不是单击图标来运行程序是正常的。glutInit几乎是GL程序所做的第一件事,命令行参数可以指定(在SGI和其他Unix上)在远程计算机上而不是在您面前的计算机上显示的内容。
void MyInit(int argc, char *argv[]) {
    glutInit(&argc, argv);
    // other init code etc... 
}
MyInit(argc, argv);