FreeGLUT和GLFW有什么区别?

var*_*run 36 opengl glut freeglut glfw

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

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

dat*_*olf 43

FreeGLUT:

  • 基于GLUT API.
  • GLUT与OpenGL本身一样长.
  • 许多教程和示例都使用GLUT.
  • 负责实现事件循环并通过回调(适用于简单的东西,使精确定时的动画循环和低延迟输入更加困难).

GLFW:

  • 从头开始设计,考虑到其他框架的经验.
  • 更好地控制上下文创建和窗口属性.
  • GLFW- 2提供基本的线程支持功能(线程创建,同步). - 从GLFW-3中删除
  • GLFW- 2提供基本的图像文件加载支持. - 从GLFW-3中删除
  • 提供对输入设备的非常详细的访问.
  • 事件循环控制着编程器,允许更精确的定时和更低的延迟.

  • 重要的是要注意**GLFW3**不再具有线程或图像加载功能.它被保存为一个简单的库,用于使用OpenGL上下文创建窗口. (13认同)
  • 还应该注意,freeglut超越了GLUT API并实现了自己的扩展,这也允许更多地控制上下文和窗口属性,并且还允许用户编写事件循环,就像GLFW一样. (6认同)
  • 因此,如果要进行复杂的应用程序,glfw 会更好吗? (2认同)