Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.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
如何取代过剩';windows上有自己代码的函数?_Windows_Opengl - Fatal编程技术网

如何取代过剩';windows上有自己代码的函数?

如何取代过剩';windows上有自己代码的函数?,windows,opengl,Windows,Opengl,我正在读一本OpenGL的书(OpenGL superbible第五版),它使用GLUT,因此它可以集中在OpenGL中,而不会浪费时间进行特定于平台的编程。但问题是它有自己的程序循环,我想知道是否有任何教程或东西教我如何在windows上设置OpenGL窗口,以便在没有OpenGL的情况下进行绘图。 例如,使用glut,我可以使用以下代码设置所有内容: gltSetWorkingDirectory(argv[0]); glutInit(&argc, argv); glutInitDis

我正在读一本OpenGL的书(OpenGL superbible第五版),它使用GLUT,因此它可以集中在OpenGL中,而不会浪费时间进行特定于平台的编程。但问题是它有自己的程序循环,我想知道是否有任何教程或东西教我如何在windows上设置OpenGL窗口,以便在没有OpenGL的情况下进行绘图。 例如,使用glut,我可以使用以下代码设置所有内容:

gltSetWorkingDirectory(argv[0]);
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL);
glutInitWindowSize(800, 600);
glutCreateWindow("Triangle");
glutReshapeFunc(ChangeSize);
glutDisplayFunc(RenderScene);

我想手动完成这些代码行所做的工作(好吧,不完全像这样,我不想创建一个类似于glut的系统,在其中设置回调函数,当某些内容发生变化时调用该函数)

也许不是对您问题的直接回答,但或多或少是glut的直接替代,但是如果您希望的话,它允许您控制主循环。我推荐使用GLFW。在这个框架中,您负责实现事件循环,这是一件明智的事情。该代码实际上使用了freeglut,但我已经读到它类似于MacOSX的GLUT版本,但在windows上。不管怎样,我想不用它就做。无论如何谢谢你的回答汉克斯·达滕沃尔夫,我会试试的。但我更希望有人能给我指点一个教程,教我如何做这个库do@XaitormanX:“但我更希望有人能给我指点一个教程,教我如何去做这个图书馆所做的事情。”老实说,如果你还处于“我需要一个教程”的学习阶段,那么你还没有准备好去做这件事。初始化和管理OpenGL窗口不仅需要与低级Win32/X-Windows组件直接接口,还需要与WGL/GLX组件直接接口。这不是简单的代码,通常也不是“教程”材料。不同平台的情况不同,知道如何使用OpenGL并不能告诉您如何使用OpenGL本身。