Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.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 OSX的低级窗口API_C_Macos_Sdl_Glut_Glfw - Fatal编程技术网

C OSX的低级窗口API

C OSX的低级窗口API,c,macos,sdl,glut,glfw,C,Macos,Sdl,Glut,Glfw,我正在寻找一个用于OSX的低级窗口API,它可以创建(或允许我轻松创建)OpenGL上下文。我尝试过GLUT、GLFW、SDL和Cocoa窗口系统,但它们都有一些相当严重的问题 GLUT一开始似乎非常适合这项任务,但如果不强迫我做很多额外的工作,我自己无法执行运行循环,这将无法解决这个应用程序的问题,而且GLUT似乎不能很好地处理多线程 GLFW也非常优秀和灵活,但在项目中使用它似乎是不可能的。我已经学习了十几个教程,但仍然会在构建机器上出现链接错误,或者在其他机器上出现启动错误 SDL是。。

我正在寻找一个用于OSX的低级窗口API,它可以创建(或允许我轻松创建)OpenGL上下文。我尝试过GLUT、GLFW、SDL和Cocoa窗口系统,但它们都有一些相当严重的问题

  • GLUT一开始似乎非常适合这项任务,但如果不强迫我做很多额外的工作,我自己无法执行运行循环,这将无法解决这个应用程序的问题,而且GLUT似乎不能很好地处理多线程

  • GLFW也非常优秀和灵活,但在项目中使用它似乎是不可能的。我已经学习了十几个教程,但仍然会在构建机器上出现链接错误,或者在其他机器上出现启动错误

  • SDL是。。。SDL。让事情进展起来很容易,但它很快就变成了一个“SDL应用程序”。如果SDL没有成为特定任务的唯一可用框架,那么完成任务是非常困难的

  • Cocoa不是一个低级API。创建Cocoa窗口(及其附带的Objective-C)的开销非常大。我的测试表明,它需要4兆字节左右的时间才能得到与其他一两种方法相同的结果


还有什么我可以尝试的吗?

您可以查看更新版本的OpenGL(3.0及更高版本)。如果与SDL 1.3一起使用,您可以创建跨平台的OpenGL上下文。您将拥有自己的循环,基本上可以自己控制一切。您还将遵循OpenGL的新标准,而不是旧的、不推荐的(?)标准

您可以查看教程以开始学习


SDL1.3的正确设置和编译可能会非常烦人,但一旦完成了,剩下的就很简单了

我今天下午就去试试。谢谢