OGRE应用程序无法正常运行

时间:2014-09-07 11:43:08

标签: qt ogre

我正在使用Qt和OGRE创建一个应用程序。我已经按照本教程:http://www.ogre3d.org/tikiwiki/QtOgre

我在运行应用程序时得到以下输出窗口:

enter image description here

图像显示背景窗口的剪切部分。

以下代码在运行时发出错误:

void THIS::paintGL()
{
// Be sure to call "OgreWidget->repaint();" to call paintGL
swapBuffers();
assert( mOgreWindow );
mOgreRoot->renderOneFrame();
}

错误是:

QOpenGLContext::swapBuffers() called with non-exposed window, behavior is undefined

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

我刚刚声明了参数winHandle,并没有定义与之关联的不同参数。

winHandle = Ogre::StringConverter::toString((unsigned long)(QX11Info::display()));
winHandle += ":";
winHandle += Ogre::StringConverter::toString((unsigned int)(QX11Info::appScreen()));
winHandle += ":";
winHandle += Ogre::StringConverter::toString((unsigned long)(winId()));

在声明Ogre::String winHandle;之后添加上面的代码片段,并在定义渲染窗口的创建时将其与params相关联。 :)