我已使用OpenGLControl
成功设置了我的框架,并将render
方法委派给它的OpenGLDraw
事件。但是,我想做游戏编程,所以我想进入一个活跃的渲染循环,在那里我将更新游戏状态并渲染,两者都来自另一个线程,但无法想象它如何做。
答案 0 :(得分:0)
不是正面的,但如果它与大多数其他系统一样工作,你需要确保所有的OpenGL调用都来自线程,过去你可以把你的逻辑和其他一切都是平均的,你想要的任何线程。希望有所帮助!
答案 1 :(得分:0)
通过不调用Application.Run
并使用P/Invoke
创建C++
样式MessagePump
来使其正常工作。
答案 2 :(得分:0)
您是否尝试过使用Winforms Application.Idle
事件?
示例(假设您有一个标准的静态类程序):
在主要内容 - Application.Idle += Tick
static void Tick(object sender, EventArgs e)
{
//Insert rendering/updating code here
}