GLUT死了吗?

Posted

技术标签:

【中文标题】GLUT死了吗?【英文标题】:Is GLUT dead? 【发布时间】:2009-02-13 07:56:12 【问题描述】:

在阅读了 Ubuntu 论坛上关于 GLUT vs. FreeGLUT 的讨论之后。

对于图形编程来说,GLUT 已经死了吗? SDL 现在是否在 OpenGL 编程中风靡一时?

【问题讨论】:

【参考方案1】:

在我看来,GLUT 仍然是学习 OpenGL 编程的好方法。据我所知,它已不再维护。 请看:http://www.opengl.org/resources/libraries/glut/ 官方用语

从上面的链接中提取 - “GLUT 库具有 C、C++(与 C 相同)、FORTRAN 和 Ada 编程绑定。GLUT 源代码分发可移植到几乎所有 OpenGL 实现和平台。当前版本是 3.7。该库的其他版本不是预计。 GLUT 不是开源的。 Mark Kilgard 拥有版权。”

另请参阅:http://www.opengl.org/resources/libraries/windowtoolkits/ 以获取替代方案。

您可能还想查看 GLUX:http://code.google.com/p/glux/

就 SDL 风靡一时而言,它非常适合跨平台的东西,而且很多人都在使用它。我个人将 Qt 用于我的 OpenGL 工作。还存在其他窗口系统替代方案。也可以为 windows 或 X 本地编程。


2017 年 2 月 28 日编辑:


我应该澄清一下,希望从 SDL 或 Qt 开始学习 OpenGL 实用性的学生会得到更好的服务。正如@TM 在他的评论中正确指出的那样,使用 GLUT 与在 OpenGL 中编写真实世界渲染应用程序的现实相去甚远。我认为 GLUT 有利于学习的观点是,当人们将学习 OpenGL 的关注点与了解窗口系统细节的关注点分开时,学习会更容易。当然,这可能不符合您的需求。

【讨论】:

GLUT 更容易上手,但它并没有真正让学习者为实际应用程序中的现实 OpenGL 渲染做好准备。 @TM,这是真的。但我仍然认为这是一个很好的起点,因为您可以将学习 OpenGL 的关注与处理一个或另一个窗口系统的设置细节分开。 @batbrat 这不是讽刺。如果听起来确实如此,我真的很抱歉。我绝对同意,即使 GLUT 在严肃的项目中已经过时且无用,但它对初学者来说仍然很好。我只是将其与 OpenGL 版本的情况进行了比较,其中 OpenGL 2 的状态类似于 GLUT。 @batbrat 很高兴为您提供帮助! “以 STL 或 QT 开头”:您的意思是“SDL”吗?【参考方案2】:

GLUT 对于严肃的游戏开发来说相当简单。许多商业游戏移植公司都在使用 SDL。 GLUT 恰好适合学习 OpenGL 和简单的演示。 SDL 之类的东西非常适合实际游戏。

SDL 及其对其他事物的抽象,例如音频,以及 SDL 的各种插件库(SDL_image、SDL_mixer、...)在编写完整游戏时有很大帮助。控制主循环也很重要。

如果您正在开发一个还需要一些原生 GUI 的 OpenGL 应用程序(例如,3D 建模器),您可能对使用 wxWidgets 或 batbrat 建议的 Qt 更感兴趣。

【讨论】:

【参考方案3】:

GLUT 是一个非常有用的学习指南,但对于大多数实际应用程序来说,它的功能不够全面或有用。我还遇到了一些不同的 GLUT 实现和在某些环境中支持的小问题,所以我学会了远离它,只做快速演示。

我的 OpenGL 经验通常是在嵌入式系统上进行的,我可以完全控制输出,并使用 X Instrinsics 来启动基本的 OpenGL 窗口。这有点痛苦,但只需少量代码即可到达 OpenGL,大部分工作已在其中完成。

【讨论】:

以上是关于GLUT死了吗?的主要内容,如果未能解决你的问题,请参考以下文章

GLUT Tutorials 1: GLUT简介,体系

Ubuntu下cmake报错:Could NOT find GLUT (missing: GLUT_glut_LIBRARY GLUT_INCLUDE_DIR)

Ubuntu下cmake报错:Could NOT find GLUT (missing: GLUT_glut_LIBRARY GLUT_INCLUDE_DIR)

Ubuntu下cmake报错:Could NOT find GLUT (missing: GLUT_glut_LIBRARY GLUT_INCLUDE_DIR)

GLUT_DOUBLE和GLUT_SINGLE 用例

GLUT Tutorials 8: GLUT菜单