我已经成功地使用OpenGLControl设置了框架,并将我的render方法委托给了它的OpenGLDraw事件。然而,我想做游戏编程,所以我想进入一个活动的渲染循环,在那里我从另一个线程更新游戏状态和渲染,但不知道如何做。
发布于 2013-01-08 11:29:11
通过不调用Application.Run,而是使用P/Invoke创建C++样式的MessagePump,使其正常工作。
发布于 2013-01-08 10:50:47
不是肯定的,但如果它像大多数其他系统一样工作,你需要确保所有的OpenGL调用都来自线程,过去你可以把你的逻辑和其他任何东西都放在你想要的任何线程中。希望这能有所帮助!
发布于 2013-01-14 00:49:09
您是否尝试过使用Winforms Application.Idle事件?
示例(假设您有一个标准的静态类Program):
在Main - Application.Idle += Tick中
static void Tick(object sender, EventArgs e)
{
//Insert rendering/updating code here
}https://stackoverflow.com/questions/14088455
复制相似问题