OGRE3D 窗口关闭时出现 FatalExecutionEngineError
我正在使用 MOGRE,OGRE3D 的 C# 绑定。我创建了自己的渲染循环,并使用 WindowEventUtilities.MessagePump() 来更新窗口。
这是我的主要应用程序循环:
while (SFMLWin.IsOpened() && !OGREWin.IsClosed)
{
try
{
if (fpsClock.Milliseconds > 0)
fps = 1000 / fpsClock.Milliseconds;
fpsClock.Reset();
SFMLWin.DispatchEvents();
SFMLWin.GetFrameTime();
inputKeyboard.Capture();
inputMouse.Capture();
OnCollision();
OnKeyHold();
MainDraw();
WindowEventUtilities.MessagePump();
}
catch
{
break;
}
}
SFMLWin.Dispose();
OGREWin.Dispose();
当我在 WindowEventUtilities.MessagePump(); 处关闭 OGREWin 时,我仍然收到“FatalExecutionError”代码。 try/catch 语句没有捕获任何内容,并且我无法在 WindowEventUtilities.MessagePump() 周围实现任何 if 语句来解决这种情况。我真的很困惑该怎么办。
我已经在 MOGRE 板上发布了一个主题,但尚未找到解决方案。
I'm using MOGRE, a C# binding of OGRE3D. I've created my own rendering loop and I use WindowEventUtilities.MessagePump() to update the window.
This is my main application loop:
while (SFMLWin.IsOpened() && !OGREWin.IsClosed)
{
try
{
if (fpsClock.Milliseconds > 0)
fps = 1000 / fpsClock.Milliseconds;
fpsClock.Reset();
SFMLWin.DispatchEvents();
SFMLWin.GetFrameTime();
inputKeyboard.Capture();
inputMouse.Capture();
OnCollision();
OnKeyHold();
MainDraw();
WindowEventUtilities.MessagePump();
}
catch
{
break;
}
}
SFMLWin.Dispose();
OGREWin.Dispose();
I am still getting the "FatalExecutionError" code when I close OGREWin at WindowEventUtilities.MessagePump();. The try/catch statement doesn't catch anything, and I can't implement any if statements around WindowEventUtilities.MessagePump() to fix the situation. I am really stumped on what to do.
I've posted a topic on the MOGRE boards, but have not yet found a solution.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论