gpt4 book ai didi

c++ - 如何在 OGRE 中使用 SDL?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:13:17 26 4
gpt4 key购买 nike

当我去使用OGRESDL (如 this article 中所述),我似乎无法使用出现在主渲染窗口后面的第二个窗口。基本上,我使用的代码是这样的:

SDL_init(SDL_INIT_VIDEO);
SDL_Surface *screen = SDL_SetVideoMode(640, 480, 0, SDL_OPENGL);

Ogre::Root *root = new Ogre::Root();
root->restoreConfig();
root->initialise(false);

Ogre::NameValuePairList windowSettings;
windowSettings["currentGLContext"] = Ogre::String("True");
Ogre::RenderWindow *window = root->createRenderWindow("MainRenderWindow", 640, 480, false, &windowSettings);
window->setVisible(true);

问题是,如何去掉多余的窗口?

为了后代,我使用的是 OGRE 1.6.4、Mac OS X 10.6.2 和 SDL 1.2.14。

最佳答案

最后我自己解决了这个问题。问题最终是 OGRE 的 Mac GL 后端不支持 currentGLContext 选项,所以最好的解决方案是更改为 SDL 1.3(在撰写本文时直接来自 Subversion)并使用 SDL_CreateWindowFrom 调用以开始从 OGRE 创建的窗口中获取事件。还应该注意的是,OGRE 窗口需要将 macAPI 设置为 cocoa,否则 SDL 将无法识别窗口句柄。

关于c++ - 如何在 OGRE 中使用 SDL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1978883/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com