使用OpenGL延迟屏幕更新时出现断断续续的视图

时间:2017-02-26 19:15:46

标签: opengl haptic-feedback

我正在制作一个将与Haptic反馈一起使用的应用程序。这意味着我需要每秒测试1000次碰撞。对于应用程序的可视化部分,我使用的是OpenGL。

所以我将FPS_CAP设置为1000 FPS用于触觉反馈并测试每帧的碰撞。现在屏幕也没有必要每秒更新1000次,所以我希望以30 FPS的速度上限。所以我做的是我有一个计数器,它增加帧之间的时间,让它计数到0.03。当它达到0.03时,我将其设置为0,清除我的屏幕并绘制所有物体。

但是当我现在移动相机或其中一个物体时,物体似乎无法决定"在哪里渲染和口吃一下。有谁知道如何解决这个问题?我添加了一些伪代码,因为原始代码完全是荷兰语。

while !close_requested{
    counter += delta_time
    if counter > 0.03{
        counter = 0
        clearscreen()
        calculate_matrices()
        drawTriangles()
    }
    update_screen()
}

1 个答案:

答案 0 :(得分:-2)

我推荐这篇关于修复碰撞检测时间步的文章:

http://gafferongames.com/game-physics/fix-your-timestep/

我无法解释比这更好的解释,这应该解决你的问题;)...