SharpGL - 进入主动渲染循环

时间:2012-12-30 05:04:54

标签: c# opengl rendering

我已使用OpenGLControl成功设置了我的框架,并将render方法委派给它的OpenGLDraw事件。但是,我想做游戏编程,所以我想进入一个活跃的渲染循环,在那里我将更新游戏状态并渲染,两者都来自另一个线程,但无法想象它如何做。

3 个答案:

答案 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
}