【问题标题】:Learning OpenGL without GLUT? [closed]在没有 GLUT 的情况下学习 OpenGL? [关闭]
【发布时间】:2011-08-02 07:12:00
【问题描述】:

我还没有找到一个不包含 GLUT 的好资源,因为它是后端。当然有 Nehe 教程,但我觉得那些有点晦涩难懂。它使用 Win32 API,但我想执行跨平台开发。 GLUT 在某种程度上是针对 Windows 而不是其他 2,即使它应该是跨平台的。有哪些很好的资源可以在没有 GLUT 的情况下教授 OpenGL?并且请不要建议使用 FreeGLUT,这基本上就是 GLUT。

【问题讨论】:

  • 如果您正在尝试学习 OpenGL,为什么还要担心后端呢?在典型的图形代码中,影响很小。通常,无论如何它都会被抽象掉。首先在您运行的任何平台/后端上学习 OpenGL,以后再担心后端和跨平台。

标签: opengl glut


【解决方案1】:

我不认为 FreeGLUT 比任何其他主要操作系统更适合 Windows - API 是跨平台的,而且 FreeGLUT 是一个非常稳定的项目,在它声称支持的操作系统上运行良好.您根据什么证据提出这一主张?也就是说,您可以使用SDLJogAmp API。然而,后者是用 Java 编写的,但如果您非常关心在不重新编译源代码的情况下维护跨平台支持,那么您可能需要考虑使用 Java 编程。 JogAmp API 包括对 OpenGL、OpenCL、OpenMAX 的支持,并支持轻量级原生窗口,因此性能损失应该不会很大。此外,JOGL 提供对各种 OpenGL 配置文件的支持,并有助于选择您希望在应用程序中支持的最低 OpenGL 版本。

【讨论】:

    【解决方案2】:

    最重要的是,您已经了解 OpenGL 与 GLUT 无关。是的,自己做所有特定于操作系统的事情变得乏味。

    我现在推荐人们使用 GLFW http://glfw.org,这是一个出色的 OpenGL 框架,全面支持 OpenGL-3 并内置扩展加载机制。 GLFW 没有像 GLUT 这样的黑盒事件循环,而是让您完全控制事件的处理方式。

    一旦你的需求变得更高级,你最终可能会编写自己的框架,但对于大多数项目来说,GLFW 是一个很好的选择。

    当然,大多数传统工具包,如 GTK+、Qt、wxWidgets、Fox...都提供了一些 OpenGL 小部件。

    【讨论】:

      【解决方案3】:

      查看http://www.galaxy-forces.com/的代码

      它初始化和使用没有 glut 或其他库的 OpenGL。支持 Windows、Mac 和 Linux。

      我意识到不想使用其他库是有原因的...所有其他答案都试图让您使用其他库。

      我想这个答案也是如此,但至少你会有代码。一切都是公共领域。

      【讨论】:

        猜你喜欢
        • 2014-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-22
        • 2010-10-25
        • 2022-01-27
        相关资源
        最近更新 更多