【问题标题】:Including Windows API calls in my Ogre Application在我的 Ogre 应用程序中包含 Windows API 调用
【发布时间】:2012-03-25 15:34:56
【问题描述】:

我正在开发一个 Ogre 应用程序,我正在添加对触摸和手势的支持,因为我想在支持触摸的 PC 上使用它。

很好,在网上搜索后,我找到了 Windows Gestures API http://msdn.microsoft.com/en-us/library/windows/desktop/dd371578%28v=vs.85%29.aspx 。它不仅支持触摸识别,还支持手势解释,听起来很棒!

我想将它包含在我的应用程序中,但我的问题是:这个 Windows 示例创建了自己的窗口,它自己的主循环,我如何使用我的 ogre 窗口将它包含在我的 ogre 应用程序中?

【问题讨论】:

  • OGRE 是否允许您访问其底层 Windows 消息泵?
  • 是的,我相信是的。更重要的是,OGRE 示例应用程序包含 windows.h,其主要功能是INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )。也许我只需要找到一种方法将其与WndProc 联系起来。
  • 如果您可以访问消息泵,那么您应该能够使用它来插入您自己的 WM_GESTURE 处理程序。
  • 你能给我发一份参考资料或告诉我如何插入和观看事件处理程序吗?非常感谢!
  • 不幸的是,你将不得不问一个认识 Ogre 的人。如果你能以某种方式迷上 wndproc,那应该很容易。

标签: windows winapi multi-touch gestures ogre


【解决方案1】:

您可以在主应用程序循环中调用 Ogre::Root::renderOneFrame,而不是使用 Ogre::Root::startRendering。

如果您想使用 OIS 进行鼠标/键盘输入,请查看:Using OIS

但请记住:Ogre 是跨平台的,但如果您使用 Windows 原生 API,您的程序就不会。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 2018-07-29
    • 1970-01-01
    • 2020-05-27
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多