Как использовать SDL с ЛЮДОЕДОМ?

Когда я иду для использования ЛЮДОЕДА с SDL (как описано в этой статье), я, кажется, испытываю затруднения из-за второго окна, которое появляется позади моего основного окна рендеринга. В основном код, который я использую, является этим:

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);

Вопрос, как я избавляюсь от дополнительного окна?

Только для потомства, я использую ЛЮДОЕДА 1.6.4, Mac OS X 10.6.2 и SDL 1.2.14.

5
задан Ross Light 30 December 2009 в 18:04
поделиться

1 ответ

В итоге я разобрался с этим самостоятельно. Проблема закончилась тем, что бэкэнд OGRE Mac GL не учитывает опцию currentGLContext, поэтому лучшим решением будет переход на SDL 1.3 (непосредственно из Subversion, на момент написания статьи) и использование вызова SDL_CreateWindowFrom, чтобы начать получать события из окна, созданного OGRE. Также следует отметить, что окно OGRE должно иметь значение macAPI, установленное в cocoa, иначе SDL не распознает дескриптор окна.

7
ответ дан 14 December 2019 в 01:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: