【问题标题】:Event Handling API's to Use with OpenGL与 OpenGL 一起使用的事件处理 API
【发布时间】:2011-08-07 05:28:25
【问题描述】:

我一直在研究 OpenGL 应用程序的输入处理。我想处理至少两个操纵杆、键盘和鼠标。将此外包给 python 脚本将是一个很大的好处,但不是必需的。

  • 我看的是 freeglut,但它只支持一个操纵杆。​​li>
  • Pygame 说它“输入队列严重依赖于 pygame 显示模块”,所以我暂停了。
  • 我不熟悉 QT 或 GTK 的操纵杆输入处理,也找不到任何简明扼要地描述我的问题的文档。
  • SDL 的 python 绑定说它“很好地”处理了这些事情。 (我不知道该怎么想。)

当我进入 Pygame 问题时,我对它的关注是否有争议? QT 或 GTK 能否毫无问题地提供此功能?是否有其他方法可以解决我的问题?

所有其他都失败了我想我可以直接使用 SDL,但我对它的性能了解不多。

【问题讨论】:

  • Pygame 是基于 SDL 的,所以如果 Pygame 的性能对你来说足够好,那么 SDL 的性能肯定也足够了。
  • 在对该主题进行了大量研究后,我选择了 SDL,并且没有发现任何问题。
  • @icktoofay 你知道显示模块依赖是怎么回事吗?
  • @Prariewolf:我假设这是说事件部分只有在您使用 Pygame 显示图形以及使用它来处理事件时才有效。

标签: opengl input sdl pygame joystick


【解决方案1】:

这个问题真的与 OpenGL 无关,因为 OpenGL 与输入处理关系不大。

Qt 和 wxWidgets 并不是主要用于处理输入。显然它们处理鼠标和键盘,但它们基本上是 GUI 库。他们的输入系统就是为此目的而设计的。

SDL 的输入组件是为处理输入而设计的。 SFML 也是一种选择。如果这对您很重要,它们都具有 Python 绑定。

【讨论】:

  • 感谢 SFML 链接。还没听说过。看起来很锋利。
【解决方案2】:

Pygame(它使用来自 python 的 SDL)在 OpenGL 上运行良好。 使用 pygame 进行输入事件、窗口创建等...(跨平台的东西)和 OpenGL 用于渲染到 pygame 屏幕。

【讨论】:

    猜你喜欢
    • 2015-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-27
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 1970-01-01
    相关资源
    最近更新 更多