【问题标题】:Game engine in OpenGL with GLFW and Qt?带有 GLFW 和 Qt 的 OpenGL 游戏引擎?
【发布时间】:2013-01-21 21:05:51
【问题描述】:

几个月前我提出了一个类似的问题Qt and OpenGL for game development

目前我不确定我应该做什么。我经常读到不建议将 Qt 用于游戏,而是 GLFW 更适合此任务。我不完全确定为什么,但我认为如果我选择 GLFW,我会比较安全。

但我想使用 Qt 作为编辑器。编辑器应该是所见即所得的,就像许多其他游戏引擎一样。这样您就可以随时进入游戏。

可以在同一个项目中使用 Qt 和 GLFW 吗?

【问题讨论】:

  • “我不完全确定为什么,但我认为如果我选择 GLFW 会比较安全。”在你开始一个大项目之前,我真的建议你对它的核心架构的假设是正确的......
  • @cmannett85:在 Maik Klein 的辩护中:Qt 对于交互式、低延迟游戏来说确实是一个糟糕的基础。如果你必须像我最近经历过的那样做高级的 multidrawable 多线程 OpenGL 的东西,它甚至是一个 PITA。
  • 仅供参考:英雄之城在他们的游戏中使用了 Qt。
  • @Jay:是的,它可以做到,但有时你必须解决一些非常奇怪的问题。大多数人可能不会惹上麻烦,但有时这很疯狂。

标签: qt opengl game-engine glfw


【解决方案1】:

Qt 和 GLFW 可以在同一个项目中使用吗?

没有。但你为什么要?您可以将 GLFW 用于独立引擎,将 Qt 用于编辑器。甚至可以用自定义的东西替换 QCoreApplication 事件循环。只需确保您的代码不会与某个框架过于紧密耦合即可。

【讨论】:

  • 我也想过这个问题,我只是在编辑器中渲染到 Qt 并为独立版本使用 GLFW。但我有点担心它会不一致。例如,游戏在编辑器中的运行与在独立版本中的运行方式不同。看看mycrysis.com/sites/default/files/wysiwyg/images/Crymod/… 我想我可以将 GLFW 用于“游戏窗口”,而将 Qt 用于其余部分(小部件等)。你不认为这是可能的吗?
  • 好吧,您不能将 GLFW 窗口嵌入到 Qt 中,而且 GLFW 和 Qt 的事件循环也会相互影响。但是编写一个小的抽象层非常简单,可以附加到重写的 QCoreApplication 事件循环和派生的 QGLWidget,或者附加到 GLFW。
  • 嘿,你有没有找到解决这个问题的方法?
  • @user63898:我想你可能想给 Maik Klein 发消息。为此,您需要使用@-寻址。像这样:@MaikKlein
  • @MaikKlein:我认为 user63898 打算给你发消息。
猜你喜欢
  • 2011-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-31
相关资源
最近更新 更多