FreeGLUT和GLFW有什么区别?

62

我的大学开始教授OpenGL编程课程。他们让我们使用FreeGLUT创建OpenGL窗口和上下文,但我在lynda.com上找到了一门关于OpenGL的在线课程,他们使用GLFW而不是FreeGLUT。

所以我想知道哪个应该使用,它们之间有什么区别?

1个回答

66

FreeGLUT:

  • 基于GLUT API。
  • GLUT已经存在了与OpenGL本身大致相同的时间。
  • 许多教程和示例都使用GLUT。
  • 通过回调实现事件循环并处理(适用于简单的东西,但使得像精确定时动画循环和低延迟输入这样的事情变得更加困难)。

GLFW:

  • 从头开始设计,并考虑到其他框架的经验。
  • 提供更细致的控制上下文创建和窗口属性。
  • GLFW-2提供基本的线程支持函数(线程创建、同步)。——从GLFW-3中删除
  • GLFW-2提供基本的图像文件加载支持。——从GLFW-3中删除
  • 非常详细地访问输入设备。
  • 由程序员控制事件循环,可实现更精确的定时和更低的延迟。

4
如果要开发复杂应用程序,那么使用glfw会更好吗? - varun
20
需要注意的是,GLFW3 不再具有线程安全或图像加载功能。它作为一个简单的库仅用于创建带有 OpenGL 上下文的窗口。 - Iggy
9
应该注意的是,freeglut超越了GLUT API并实现了自己的扩展,这些扩展还允许更多地控制上下文和窗口属性,并且也允许用户编写事件循环,就像GLFW一样。 - derhass
1
对于我来说,GLUT和freeglut与Nsight不兼容(也许有人可以使用某些特殊方法绕过此问题,但我没有兴趣和时间去破解它)。因此,如果你想使用Nsight调试GLSL代码,请选择GLFW 3。 PS:我在Windows和Quadro卡上;我知道有人不喜欢它。 - user5280911

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接