将现有的C++ openGL项目从glut/freeglut转换为glfw

xxx*_*xxx 5 c++ gtk opengl freeglut glfw

我想将我的科学3D应用程序从Freeglut升级到GLFW,但我担心隐藏的冲突或数据丢失,实际上我的应用程序就像Freeglut的魅力一​​样,我没有任何问题,但GLFW被推荐用于现代OpenGL( 3.0+)在所有现代书籍和教程中.

我看看GLFW API,它看起来像带有glfw*前缀的Glut ,但我不完全确定.所以我有三个问题:

  1. 是否值得为GLFW打破我现有的项目,或坚持freeglut?
  2. 我是否会因过剩而失去任何功能?
  3. GLFW与GTK +兼容吗?(因为我的GUI基于GTK)

dat*_*olf 3

3- GLFW 与 GTK+ 兼容吗?(因为我的GUI是基于GTK的)

使用 GTK+ 时,您不应使用 Free-/GLUT 或 GLFW。GTK+ 有一个 OpenGL 小部件并执行所有事件管理。用那个。

  • @Ndv所以如果你想自己处理它,你将无法使用平台自己的API(wgl for win,glX for nix)自己管理OpenGL上下文。否则,没有理由支持 GLFW/GLUT,而是反对 GTK+,因为两者都只是特定于平台的 OpenGL 和 GUI 管理的包装器,使它们只不过是 **支持 OpenGL 上下文管理的 GUI 库**。在这方面,GLFW/GLUT 和 GTK+ 处于完全相同的抽象级别。再次强调:**GLFW/GLUT 不属于 OpenGL**,也与 OpenGL 没有任何关系**,并不比 GTK+ 更重要。 (2认同)