【问题标题】:OpenGL cross platform windowOpenGL跨平台窗口
【发布时间】:2009-03-02 22:13:35
【问题描述】:

我正在寻找一个窗口......呃...... OpenGL 的东西,我一直在使用 SDL,但最近发现它至少在我见过的任何代码中都不能满足我的需求。我想找到一些 GUI 库,它允许我使用带有菜单栏的 OpenGL(和 SDL,如果可能的话)进行开发,可能在侧面有选项,以及一个开箱即用的关闭按钮。 Qt 是我正在寻找的东西,但我想使用一些不会强迫我将其开源的东西。

我想要的东西的快速列表、一个有效的关闭按钮、使用 OGL 的能力、跨平台、任何不强迫我成为开源、免费的许可证,以及全屏和更改分辨率的能力苍蝇。

我已经搜索过自己,我真的不是一个懒惰的人;)我只是想在这里获得一些意见,然后再深入研究并发现它并不真正适合我的需求。

提前感谢您的任何反馈。

【问题讨论】:

    标签: c++ opengl cross-platform


    【解决方案1】:

    试试 wxWidgets。有一个使用 OpenGL here 的链接。

    【讨论】:

    • 我同意 wxWidgets 的建议。
    【解决方案2】:

    当 Qt 4.5 发布时(我认为本月晚些时候),它将是 LGPL,所以如果您可以等待几周,您可以使用 Qt 而无需开源您的程序。

    【讨论】:

    • 我也强烈推荐 Qt4。它比 wxWidgets 成熟得多,而且它的 OpenGL 集成功能也更强大。您可以告诉 Qt 使用 GL 作为渲染后端,也可以在 QGLWidget 上执行 Qt 绘制任务,即在 GL 上下文中。
    【解决方案3】:

    GLUT(GL 实用工具包)与您正在寻找的内容很接近。尽管不支持菜单栏,但它快速简便且跨平台。 This page 也有许多类似 GLUT 的替代品。

    【讨论】:

    【解决方案4】:

    对于开箱即用的关闭按钮启用窗口,您可以使用GLUT,如前所述,如果您的其他 GUI 需求非常简单,我认为 GLUT 可以为您提供一些。

    您也可以使用NVidia WidgetsAntTweakBar 使用简单的OpenGL 渲染菜单和按钮。

    【讨论】:

    • 如果他对 SDL 不满意,他怎么会对 GLUT 满意?也就是说,由于对渲染小部件的推荐,我仍然给你 +1。
    【解决方案5】:

    只要您可以将正确的信息传递给 OGL,您就不需要对 OGL 的“支持”。至少在 Windows 上,如果您有一个可以从中挂钩 HWND 的窗口 API,您可以设置 OGL 以使用几乎任何您想要的窗口。我已经用 wxWidgets 和直接的 win32 成功地做到了这一点。我无法在其他平台上为您提供帮助,但我怀疑您可以做类似的事情。

    这也适用于 D3D,是一种将渲染代码与窗口 API 分离的好方法。

    【讨论】:

      【解决方案6】:

      SDL 可以创建 OpenGL 窗口。

      http://gpwiki.org/index.php/C:SDL_OGL

      【讨论】:

      • 我知道这一点,正如我所说的,我现在正在使用 SDL,但它不包含任何接近足够的功能以使其可供我计划生产的应用程序使用很快。
      • 嗯,如果 SDL 没有足够的功能供您使用,GLUT 可能也不会好。你错过了什么?
      【解决方案7】:

      有许多渲染的小部件库,例如 rotoglup 建议的那些。看看 CEGUI 和 QuickGUI,它们可能会让你开心(尽管 CEGUI 对 XML 的滥用令我失望)。这是一个无耻的插件:GLICT

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-04
        • 2012-07-14
        • 2012-08-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多